我正在尝试为这个数据集创建一个深度学习模型。由于我在使用台式电脑,我只从第一个训练集中选取了3000张图片,这些图片存放在外部驱动器的一个文件夹中。我使用以下Python代码从文件夹中获取图片列表:
from PIL import Imageimport globimage_list = []for filename in glob.glob('/Volumes/G-DRIVE mobile USB-C/traan/*.jpeg'): #假设是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>, ...
如何将这个列表转换成可以输入TensorFlow模型的形式,就像这个教程中的那样?
回答:
首先,你需要将你的列表转换为numpy
数组,
import numpy as npimages_list = np.stack(image_list) # 假设所有图片具有相似的形状,即(height, width, 3),images_list现在具有形状(num_images, height, width, channel)
然后,你可以使用这个张量,或这个张量的一部分,通过占位符来训练你的模型
images = tf.placeholder(tf.float32, [None, height, width, channel])...sess.run(train_op, feed_dict={images:images_list})