Я следую учебному пособию «Загрузка изображений с 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-подобный набор данных, который можно использовать для обучения моей модели