torch中向量、矩陣乘法大總結

LawsonAbs發表於2020-12-10

LawsonAbs的認知與思考,還請各位讀者批判閱讀。

總結

  • 文章來源:csdn:LawsonAbs
  • 持續更新~
  • 如下程式碼可以在我的Github庫中找到。

1.點乘

點乘:就是向量的各個元素對應相乘。
比如現在我們有兩個向量,a=[2,3], b=[-1,3],則其點乘結果是:7。可以有兩種方法來計算:

1.1 使用 dot()方法

注意:這裡的點乘並不是我們普通理解的那個向量乘法。

a = t.tensor([2, 3])
b = t.tensor([-1,3])
print(t.dot(a,b))

1.2 使用mm()方法

mm方法適用於矩陣的乘法。我們可以將一個向量看作是一個簡單的1*m的矩陣,然後執行操作即可。程式碼如下:

"""2.使用tensor中的mm方法做向量乘法
01.mm 計算矩陣的乘法
02.這裡是將向量轉為一個矩陣,然後做乘法。實現dot做點乘的效果
"""
# a = t.tensor([1,2]) 這樣並不是一個矩陣!!!只是一個類似list的tensor
a = t.tensor([[1,2]]) # 是一個矩陣
b = t.tensor([[2,3]]) # 是一個矩陣
b = t.transpose(b,0,1) # 轉置後才有和a進行運算
print(a.shape,b.shape) 

print(t.mm(a,b))

這裡是引用

執行結果如下:

在這裡插入圖片描述

相關文章