首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tensorflow矩阵乘法

tensorflow矩阵乘法
EN

Stack Overflow用户
提问于 2017-12-10 13:22:24
回答 2查看 6.8K关注 0票数 1

所以,我想用矩阵乘以矩阵。当我尝试一个带有矩阵的数组时,它是工作的:

代码语言:javascript
复制
import tensorflow as tf

x = tf.placeholder(tf.float32, [None, 3])
W = tf.Variable(tf.ones([3, 3]))
y = tf.matmul(x, W)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    curr_y = sess.run(y, feed_dict={x: [[1,2,3],[0,4,5]]})
    print curr_y

因此,数组的批处理大小为2,形状为3x1。所以我可以把3x3形状的矩阵与3x1相乘。但是当我再次得到一个形状为3x3的矩阵时,这一次是一个矩阵,而不是一个形状为3x2的数组,其批处理大小为2,它不能工作。

但如果我试图用矩阵相乘。它不起作用。

代码语言:javascript
复制
import tensorflow as tf
x = tf.placeholder(tf.float32, [None, 3,3])
W = tf.Variable(tf.ones([3, 3]))
y = tf.matmul(x, W)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    curr_y = sess.run(y, feed_dict={x: [[[1,2,3],[1,2,3]],[[1,1,4],[0,4,5]]]})
    print curr_y

ValueError:形状必须为2级,但对于输入形状:?、3、3、3、3的“MatMul”(op:“MatMul”),则为3级。

########EDIT

对不起,我想做的是,将一个矩阵匹配成一批矩阵或数组。所以我不想

代码语言:javascript
复制
y = tf.matmul(x, W)

实际上,我想

代码语言:javascript
复制
y = tf.matmul(W, x)
EN

回答 2

Stack Overflow用户

发布于 2017-12-10 21:30:40

你对张量“x”的输入有一个形状(2,2,3)。你在做(2,2,3)和(3,3)的矩阵乘法。他们的军衔不一样,这就是错误的原因。

来自Tensorflow官方网站docs/python/tf/matmul

代码语言:javascript
复制
Args:

a: Tensor of type float16, float32, float64, int32, complex64, complex128 and rank > 1.
b: Tensor with same type and rank as a.
票数 0
EN

Stack Overflow用户

发布于 2017-12-11 00:09:16

在进行矩阵乘法时,矩阵的shape需要遵循规则 (a, b) * (b, c) = (a, c)

记住你定义的W的形状是(3,3)。

这个feed_dict={x: [[1,2,3],[0,4,5]]}是一个二维数组,它的形状是(2,3)

代码语言:javascript
复制
In [67]: x = [[1, 2, 3], [0, 4, 5]]

In [68]: x = np.array(x)

In [69]: x.shape
Out[69]: (2, 3)

它遵循(2, 3) * (3, 3) => (2, 3)规则

但是第二个例子,形状不遵循乘法规则。输入的形状是(2,2,3),它甚至不在定义的W的相同维中,所以它不能工作。

代码语言:javascript
复制
In [70]: foo = [[[1,2,3],[1,2,3]],[[1,1,4],[0,4,5]]]

In [71]: foo = np.array(foo)

In [72]: foo.shape
Out[72]: (2, 2, 3)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47739284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档