我试着把两个形状相同的张量相乘:
weights = tf.Variable(tf.random_normal([200], stddev=0.35),
name="weights")
weights2 = tf.Variable(tf.random_normal([200], stddev=0.35),
name="weights2")
greg = tf.matmul(weights,weights2)
sess=tf.Session()
sess.run(tf.initialize_all_variables())
sess.close()在jupyter notebook中尝试这个,我得到了这个错误:
“形状(200,)和(?,?)必须具有相同的等级”
我遗漏了什么?
发布于 2016-08-11 07:18:38
正如NPE在their comment中提到的那样,tf.matmul() op期望它的两个输入都是二维张量,但您的参数weights和weights2是一维张量。
如果要计算这两个张量的内积,则需要将它们重塑为200乘1和1乘200矩阵,使用(例如) tf.reshape()如下所示:
greg = tf.matmul(tf.reshape(weights, [1, 200]), tf.reshape(weights2, [200, 1]))https://stackoverflow.com/questions/38881932
复制相似问题