如何将python中的列表转换为numpy数组以放入张量流中



我正在尝试为这个数据集创建一个深度学习模型。因为我使用的是台式机,所以我只使用了第一个训练集中的3000个图像,这些图像位于外部驱动器的文件夹中。我使用以下python代码从文件夹中获取图像列表:

from PIL import Image
import glob
image_list = []
for filename in glob.glob('/Volumes/G-DRIVE mobile USB-C/traan/*.jpeg'): #assuming jpeg
im=Image.open(filename)
image_list.append(im)
print(image_list)

打印列表时如下所示:

[<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=3888x2592 at 0x1087337D0>, <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=3888x2592 at 0x108733850>, ...

我如何将这个列表转换成一个可以放入张量流模型的形式,也许就像本教程中的那个。

您首先需要将列表强制转换为numpy数组,

import numpy as np
images_list = np.stack(image_list) # assuming all the images have similar shape
# i.e. (height, width, 3), images_list has now
# shape (num_images, height, width, channel)

然后,您可以使用这个张量或这个张量的一部分,使用占位符来训练您的模型

images = tf.placeholder(tf.float32, [None, height, width, channel])
...
sess.run(train_op, feed_dict={images:images_list})

最新更新