Python 在tensorflow占位符上使用tensorflow reduce_sum会导致随机错误

Python 在tensorflow占位符上使用tensorflow reduce_sum会导致随机错误,python,tensorflow,Python,Tensorflow,我正在tensorflow中实现复制的Softmax模型。给定一批数据,我必须沿着行求和(生成一个列向量),并且我必须取这与隐藏单位偏差的外积。 使用tf.matmul(tf.squage(tf.reduce\u sum(visible\u units,1,keepdims=True)),tf.expand\u dims(self.h,1))会导致此错误InvalidArgumentError(回溯请参见上文):In[0]不是矩阵 这里的可见单位是一个tf.占位符(维度:批量大小x n个可见单位

我正在tensorflow中实现复制的Softmax模型。给定一批数据,我必须沿着行求和(生成一个列向量),并且我必须取这与隐藏单位偏差的外积。 使用
tf.matmul(tf.squage(tf.reduce\u sum(visible\u units,1,keepdims=True)),tf.expand\u dims(self.h,1))
会导致此错误
InvalidArgumentError(回溯请参见上文):In[0]不是矩阵

这里的
可见单位
是一个
tf.占位符
(维度:批量大小x n个可见单位),而
self.h
是隐藏层偏差(n个隐藏单位)

这个错误毫无意义,似乎完全无关。 如果我将
tf.matmul(tf.squence(tf.reduce\u sum(visible\u units,1,keepdims=True)),tf.expand\u dims(self.h,1))
替换为刚才的
self.h
我的代码运行良好

编辑:
tf.squence(tf.reduce\u sum(visible\u units,1,keepdims=True))
生成一个一维张量,因此必须对其进行重塑

你能发布一个完整的堆栈跟踪吗?原来我给tf.matmul输入了一个一维张量。我修好了。