Tensorflow 有人能帮我调试tf.PaddingFIFOQueue错误吗?

Tensorflow 有人能帮我调试tf.PaddingFIFOQueue错误吗?,tensorflow,shapes,Tensorflow,Shapes,因为我是tensorflow的新手,所以我不知道如何定义tf.PaddingFIFOQueue的形状来将元素设置为N*1数组。我认为下面的代码应该可以工作,但它产生了错误 你能给我一个调试这个的提示吗 import tensorflow as tf import numpy as np a = tf.placeholder(dtype= tf.float32, shape = [None, 1]) b = tf.placeholder(dtype= tf.float32, shape = [N

因为我是tensorflow的新手,所以我不知道如何定义tf.PaddingFIFOQueue的形状来将元素设置为N*1数组。我认为下面的代码应该可以工作,但它产生了错误

你能给我一个调试这个的提示吗

import tensorflow as tf
import numpy as np

a = tf.placeholder(dtype= tf.float32, shape = [None, 1])
b = tf.placeholder(dtype= tf.float32, shape = [None, 1])

ab_value = np.random.randn(5,1)
m = ab_value.reshape(-1, 1)

q_ab = tf.PaddingFIFOQueue(32, ['float32', 'float32'], shapes = [[None, 1], [None, 1]])
q_ab_en = q_ab.enqueue_many([a, b])

sess = tf.Session()
sess.run(q_ab_en, feed_dict = {a: ab_value, b: ab_value})

#a_dq, b_dq = q_ab.dequeue_many(1)
文件“C:\Users\AppData\Local\Programs\Python\Python35\lib\site packages\tensorflow\Python\ops\data\u flow\u ops.py”, 第375行,正在排队 val.get_shape()[1:]断言与(shape)兼容
文件“C:\Users\AppData\Local\Programs\Python35\lib\site packages\tensorflow\Python\framework\tensor\u shape.py”, 断言中的第756行与raise VALUERROR(形状%s和 %不兼容“%(自身,其他)) ValueError:形状(1,)和(?,1)不兼容


a和b是单个元素还是多个元素

enqueue_many相当于批处理排队调用。因此,如果您有a.shape=[5,1],那么调用enqueue_many(a)相当于调用enqueue(a[0])、enqueue(a[1])、…、enqueue(a[-1])

如果这是预期的行为,则应将队列形状更改为: q_ab=tf.PaddingFIFOQueue(32,['float32','float32'],shapes=[[1],[1]]


如果a和b代表一个样本,那么您应该使用排队而不是排队。

谢谢您的回答!对我很有帮助!我只是用排队代替排队来解决这个问题。