【Numpy】矩阵相乘@的用法和pytorch的@用法

首先注明:

这里numpy的用法和pytorch的tensor用法是一样的,所以只以numpy进行举例。

numpy矩阵相乘matmul可以用@来代替

在正常的python编程里面@是作为修饰符使用的,但是在numpy的矩阵乘法中可以使用@来替代matmul

matmul 
‘@’ operator as method with out parameter. 
numpy的文档

正确使用测试代码

import numpy as np

#numpy里面的用法
a = np.array([[1, 0], [0, 1]])
b = np.array([[4, 1], [2, 2]])

np.matmul(a, b)
a @ b

 运行结果如下

array([[4, 1],
       [2, 2]])
array([[4, 1],
       [2, 2]])

错误使用测试代码

#常规python编程的用法
a = [[1, 0], [0, 1]]
b = [[4, 1], [2, 2]]

np.matmul(a, b)
#会报错
a @ b

运行结果如下

array([[4, 1],
       [2, 2]])
TypeError: unsupported operand type(s) for @: 'list' and 'list'

到目前为止,在numpy的矩阵相乘中看到@的矩阵乘法的用法。

特别注意pytorch的tensor也是可以使用@操作符。

你可能感兴趣的:(Python,Pytorch)