Преобразование файлов изображений в тензор - PullRequest
0 голосов
/ 11 июня 2019

Я следую учебному пособию «Загрузка изображений с tf.data» в Tensorflow (ссылка здесь: https://www.tensorflow.org/tutorials/load_data/images)

У меня есть следующий код (ссылка на блокнот: https://github.com/rishi93/my_notebooks/blob/master/test3.ipynb)), который я использую для преобразования файлов изображений в тензоры.

Но эта операция занимает слишком много времени. Какие изменения я должен сделать, чтобы оптимизировать мой код?

Я определяю функцию для чтения в каждом изображении с пути, а затем преобразую ее в тензор. Затем я использую эту функцию для преобразования каждого изображения в тензор, затем добавляю его в список и затем использую функцию tf.stack () в списке. Но эта операция, похоже, занимает слишком много времени.

data_root = "cell_images"
data_root = pathlib.Path(data_root)

all_image_paths = list(data_root.glob("*/*"))
all_image_paths = [str(path) for path in all_image_paths]
random.shuffle(all_image_paths)

def load_image(path):
    img_raw = tf.io.read_file(path)
    img_tensor = tf.image.decode_png(img_raw)
    img_final = tf.image.resize(img_tensor, [32, 32])
    img_final = img_final/255.0
    return img_final

all_images = tf.stack([load_image(path) for path in all_image_paths])

print(all_images.shape)

Я ожидаю создать MNIST-подобный набор данных, который можно использовать для обучения моей модели

...