numpy dot()和Python 3.5+矩阵乘法之间的区别@

numpy dot()和Python 3.5+矩阵乘法之间的区别@,第1张

numpy dot()和Python 3.5+矩阵乘法之间的区别@

@
运营商称阵列的
__matmul__
方法,而不是
dot
。此方法在API中也作为函数存在
np.matmul

>>> a = np.random.rand(8,13,13)>>> b = np.random.rand(8,13,13)>>> np.matmul(a, b).shape(8, 13, 13)

从文档中:

matmul
区别于
dot
两个重要方面。

  • 标量不能相乘。
  • 将矩阵堆栈一起广播,就好像矩阵是元素一样。

最后一点很明确,当传递3D(或更高维)数组时,

dot
matmul
方法的行为会有所不同。从文档中引用更多内容:

对于

matmul

如果任一自变量的值为ND,N> 2,则将其视为驻留在最后两个索引中的矩阵的堆栈,并进行相应广播。

对于

np.dot

对于2-D数组,它等效于矩阵乘法,对于1-D数组,其等效于向量的内积(无复共轭)。 对于N维,它是a的最后一个轴和b的倒数第二个轴的和积



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5650121.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存