我是一个总的初学者TensorFlow,和我试图将两个矩阵相乘在一起,但我不断收到写着一个例外:Tensorflow例外与MATMUL
ValueError异常:形状TensorShape([尺寸(2) ])和TensorShape([尺寸(无),外形尺寸(无)])必须具有相同的等级
下面是最小的示例代码:
data = np.array([0.1, 0.2])
x = tf.placeholder("float", shape=[2])
T1 = tf.Variable(tf.ones([2,2]))
l1 = tf.matmul(T1, x)
init = tf.initialize_all_variables()
with tf.Session() as sess:
sess.run(init)
sess.run(feed_dict={x: data}
令人困惑的是,下面的非常相似的代码工作正常:
data = np.array([0.1, 0.2])
x = tf.placeholder("float", shape=[2])
T1 = tf.Variable(tf.ones([2,2]))
init = tf.initialize_all_variables()
with tf.Session() as sess:
sess.run(init)
sess.run(T1*x, feed_dict={x: data}
任何人都可以指出是什么问题?我必须缺少明显的东西在这里..
谢谢,完美!那个错误信息很神秘。 – homesalad
这是一个好点!我会在下一个版本中发布补丁以改进它。 – mrry
谢谢 - 所以有可能乘以一个矩阵矢量来获得一个矢量(而不是一个矩阵)?或者我必须遵循这个答案,然后重塑? –