基於python及pytorch中乘法的使用詳解
阿新 • • 發佈:2020-01-09
numpy中的乘法
A = np.array([[1,2,3],[2,3,4]]) B = np.array([[1,1],1,-1]]) C = np.array([[1,0],[0,[-1,0]]) A * B : # 對應位置相乘 np.array([[ 1,[ 4,-4]]) A.dot(B) : # 矩陣乘法 ValueError: shapes (2,3) and (2,3) not aligned: 3 (dim 1) != 2 (dim 0) A.dot(C) : # 矩陣乘法 | < -- > np.dot(A,C) np.array([[-2,2],[-2,3]])
總結 : 在numpy中,*表示為兩個陣列對應位置相乘; dot表示兩個陣列進行矩陣乘法
pytorch中的乘法
A = torch.tensor([[1,4]]) B = torch.tensor([[1,-1]]) C = torch.tensor([[1,0]]) # 矩陣乘法 torch.mm(mat1,mat2,out=None) <--> torch.matmul(mat1,out=None) eg : torch.mm(A,B) : RuntimeError: size mismatch,m1: [2 x 3],m2: [2 x 3] torch.mm(A,C) : tensor([[-2,3]]) torch.matmul(A,C) : tensor([[-2,3]]) # 點乘 torch.mul(mat1,out=None) eg : torch.mul(A,B) : tensor([[ 1,-4]]) torch.mul(A,C) : RuntimeError: The size of tensor a (3) must match the size of tensor b (2) at non-singleton dimension 1
總結 : 在pytorch中,mul表示為兩個陣列對應位置相乘; mm和matmul表示兩個陣列進行矩陣乘法
以上這篇基於python及pytorch中乘法的使用詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。