我发誓我做的一切正确,但是我被困住了。
我有我的占位符,但让我们来看一个:
y = tf.placeholder(tf.int32, [1, 280, 280, 160])
注意,它们看起来都不错:
print(y.shape)
print(y.dtype)
print(type(y))
给我
(1, 280, 280, 160)
<dtype: 'int32'>
<class 'tensorflow.python.framework.ops.Tensor'>
我的数据生成器愉快地提供了称为y_batch
的这些标签:
print(y_batch.shape)
print(y_batch.dtype)
print(y_batch))
对我来说也不错:
(1, 280, 280, 160)
int32
<class 'numpy.ndarray'>
如果我错了,请纠正我,但是我发现数据结构和占位符之间没有不匹配!!!!
好的,我觉得我应该可以训练这个。
所以我知道这很糟糕,因为我要输入的只是标签,没有实际数据。但是,它仍然无法以正确的方式崩溃。相反,它崩溃并抱怨形状:
ce_loss, step, test_summary = sess.run([loss, global_step, summary_op], {y:y_batch})
我得到:
InvalidArgumentError: You must feed a value for placeholder tensor 'Placeholder_2' with dtype int32 and shape [1,280,280,160]..
这个问题没有道理。显然,数据存在。显然,提要字典正坐在那里。没有尺寸不匹配。
注意:我知道,我只喂标签。但是我这样做是为了使此堆栈溢出问题更易于处理。当我同时输入实际数据和标签时,它的行为完全相同。
注意2:这个问题不是重复的!据我所知。我显然拥有范围内的数据,并且很显然正在通过feed dic将数据提供给会话