我有一个数组大小 - 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
答案 0 :(得分:0)
您发布的代码运行时没有错误。我怀疑有一条缺失的线:
enqueue_op = q.enqueue_many(a)
...执行时会给出异常:
ValueError: Shapes (1024, 3) and (1024, 1024, 3) are incompatible
有两种可能的解决方案:
如果您想将数组排入单个元素,则应使用q.enqueue(a)
代替q.enqueue_many(a)
如果要将数组排列为1024个单独的元素,则应定义shapes = [1024, 3]
,这是使用q.enqueue_many(a)
时单个元素的形状。