torch.mul(),torch.mm(),torch.dot(),torch.mv()

torch.mul(a,b) : 행렬의 도트 곱셈, 즉 해당 비트의 곱셈은 동일한 모양이 필요하며 반환된 행렬은 여전히 ​​행렬입니다.

a = 토치.텐서([[1,2,3],

                           [4,5,6]])

b = 토치.텐서([[1,2,3],

                          [4,5,6]])

인쇄(torch.mul(a,b))

>>>텐서([[ 1, 4, 9],
                [16, 25, 36]])

torch.mm(a,b) : 행렬의 일반 행렬 곱셈, (a, b) * ( b, c ) = ( a, c )

a = 토치.텐서([[1,2,3],

                            [4,5,6]])

b = 토치.텐서([[1,2,3],

                           [4,5,6]])

b = b.전치(0,1)

인쇄(torch.mm(a,b))

>>> 텐서([[14, 32],
                    [32, 77]])

torch.dot(a,b): 벡터의 해당 비트(즉, 1차원 텐서만 가능)를 곱한 다음 합산하여 텐서 값()을 반환합니다. a와 b는 모두 1차원이어야 합니다.

a = np.array([1,2,3])

b = np.array([1,2,3])

인쇄(np.dot(a,b))

출구()

>>>14

torch.mv(): torch.mm()과 유사하게 행렬과 벡터를 곱합니다.

a = 토치.텐서([[1,2,3],[4,5,6]])

b = np.array([1,2,3])

인쇄(np.dot(a,b))

출구()

>>>[14 32]

Guess you like

Origin blog.csdn.net/qq_42018521/article/details/132007735