tensorflow之矩阵相乘与matmul

矩阵如何做乘法,一直没搞清楚,今天写个实例:

如下:

a = tf.constant([[1,2],[3,4]])
b = tf.constant([[0,0],[1,0]])
c =a *b
with tf.Session() as sess:
	print(sess.run(a))
	print(sess.run(b))
	print(sess.run(c))

输出如下:

 从上面的结果输出可以看出:

   \begin{bmatrix} 1&2 \\ 3&4 \end{bmatrix}* \begin{bmatrix} 0&0 \\ 1&0 \end{bmatrix} =\begin{bmatrix} 1*0& 2*0\\ 3*1&4*0 \end{bmatrix}\begin{bmatrix} 1&2 \\ 3&4 \end{bmatrix}

符合上述输出

在百度上查了下,这种概念如下:

 

 这里特别容易把矩阵* 与matmul混淆,

我再举个例子:

a = tf.constant([[1,2],[3,4]])
b = tf.constant([[0,0],[1,0]])
c =a *b
d = tf.matmul(a,b)
with tf.Session() as sess:
	print(sess.run(d))
	print(sess.run(c))

输出:

 明显两个结果是不一样的。

计算方法如下:

\begin{bmatrix} 1 &2 \\ 3& 4 \end{bmatrix} matmul\begin{bmatrix} 0 &0 \\ 1& 0 \end{bmatrix} =\begin{bmatrix} 1*0+2*1&1*0+2*0 \\ 3*0+4*1&3*1+4*0 \end{bmatrix}=\begin{bmatrix} 2 &0 \\ 4 &0 \end{bmatrix}

结果符合预期。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值