张量流中的ValueError

时间:2018-08-06 10:08:10

标签: python numpy tensorflow

  

值错误:无法为张量输入形状的值(7800、28、28、1)   '占位符:0',其形状为'(1、28、28,?)'

我的占位符如下:

x1_image = tf.placeholder(tf.float32, [1, Size, Size, None])

如何在张量流中将(7800、28、28、1)转换为(1、28、28、7800)?

1 个答案:

答案 0 :(得分:0)

定义占位符以匹配数据的形状:

x1_image = tf.placeholder(tf.float32, [None, Size, Size, 1])

然后,您可以使用tf.transpose重新排列尺寸:

x1_image = tf.transpose(x1_image, (3, 1, 2, 0))  # Now it has shape (1, Size, Size, None)

实际上,我不确定是否需要使用(3, 1, 2, 0)(3, 2, 1, 0)重新排列轴,因为它们的形状相同;第一个将轴1和2放在同一位置,第二个也将它们交换。