【无标题】pytorch 中的 @ 和 * 运算符

1.简单介绍

@和*表示矩阵的两种相乘方式;@代表常规。

(1)@表示常规的数学定义上的矩阵相乘;如A=[[a11,a12],[a21,a22]],B=[[b11,b12],[b21,b22]]

A@B=[[a11*b11+a12*b21,a11*b12+a11*b22],[a21*b11+a22*b21,a21*b11+a22*b21]]。

(2)*表示两个矩阵对应位置处的两个元素相乘;如A*B=[[a11*b11,a12*b12],[a21*b21,a22*b22]]

@ 和 * 代表矩阵的两种相乘方式:

@ 表示常规的数学上定义的矩阵相乘;

* 表示两个矩阵对应位置处的两个元素相乘

 2.例子

import torch

x = torch.tensor([[1, 2], [3, 4]])
y = torch.tensor([[2, 1], [4, 3]])
print("x_shape:", x.shape)
print("y_shape:", y.shape)

 输出

 (1)@

c = x@y
print("c_shape:", c.shape)
print(c)

输出

 

 (2)*

d = x*y
print("d_shape:", d.shape)
print(d)

输出:

 

 

 

你可能感兴趣的:(深度学习,python,人工智能)