我正在关注Tensorflow上的“使用tf.data加载图像”教程(此处链接: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的数据集,以用于训练模型