将图像文件转换为张量

时间:2019-06-11 08:44:04

标签: python-3.x tensorflow tensorflow-datasets

我正在关注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的数据集,以用于训练模型

0 个答案:

没有答案