ValueError:形状(1024,3)和(1024,1024,3)不兼容

时间:2017-11-15 00:31:49

标签: tensorflow

我有一个数组大小 - 1024,1024,3,需要创建一个这样大小的FIFOQueue。

a  = np.zeros((1024, 1024, 3))
dtypes=[tf.float32]
print len(dtypes)
shapes=[1024, 1024, 3]
print len(shapes)
q = tf.FIFOQueue(capacity=200,dtypes=dtypes,shapes=shapes)

当我尝试这个时,我收到了这个错误 -

ValueError: Shapes (1024, 3) and (1024, 1024, 3) are incompatible

1 个答案:

答案 0 :(得分:0)

您发布的代码运行时没有错误。我怀疑有一条缺失的线:

enqueue_op = q.enqueue_many(a)

...执行时会给出异常:

ValueError: Shapes (1024, 3) and (1024, 1024, 3) are incompatible

有两种可能的解决方案:

  1. 如果您想将数组排入单个元素,则应使用q.enqueue(a)代替q.enqueue_many(a)

  2. 如果要将数组排列为1024个单独的元素,则应定义shapes = [1024, 3],这是使用q.enqueue_many(a)时单个元素的形状。