如何在TensorFlow中使用图像列表作为CNN的输入?

2024-10-06 07:39:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我是TensorFlow的新手,我在使用列表作为CNN的输入时遇到了一个问题。在

假设我有4个列表:

  • TrainingImage:这是一个包含我要训练的所有图像的列表,每个图像I都是BGR通道,所以我使用TrainingImage.append(I)将图像I放入该列表。在
  • TrainingLabel:这是在TrainingImage中标记图像的列表,每一行都是一个热向量。例如,如果我有3个对象(1,2,3),每个对象有2个图像(这意味着TrainingImage有3 x 2=6个图像),那么我有一个标签列表,如:1,0,0;1,0;0,1,0;0,1,0;0,0,1;0,0,1
  • TestingImage:包含所有要测试的图像的列表,类似于TrainingImage,但图像较少。在
  • TestingLabel:所有标签为TestingImage的列表

我不知道如何在TensorFlow中将它用作CNN的输入。我使用下面的代码,每个图像的大小为68 x 68 x 3,我有17个对象,每个对象有64个图像用于训练,16个图像用于测试。在

with tf.Session() as sess:

data_initializer = tf.placeholder(tf.float32,
                                  (1088, 68, 68, 3))
label_initializer = tf.placeholder(tf.float32,
                                   (1088, 17))
input_data = tf.Variable(data_initializer, trainable=False, collections=[])
input_labels = tf.Variable(label_initializer, trainable=False, collections=[])

sess.run(input_data.initializer, feed_dict={data_initializer: TrainingImage})
sess.run(input_labels.initializer, feed_dict={label_initializer: TrainingLabel})

所以现在input_data和{}是我给CNN的新输入,但我不确定这是不是正确的方法?我通过以下TensorFlow指令使用上面的代码https://www.tensorflow.org/programmers_guide/reading_data#preloaded_data,将4个列表视为变量。在


Tags: 对象图像列表inputdatatftensorflow标签
1条回答
网友
1楼 · 发布于 2024-10-06 07:39:22

是的,那就行了。我可以建议你

data_initializer = tf.placeholder(tf.float32,(1088, 68, 68, 3))

你用

^{pr2}$

这将允许您发送不同数量的图像,而不是总是必须发送1088个图像。在某个时候,你只想处理一个图像。在

相关问题 更多 >