torch中向量、矩陣乘法大總結
阿新 • • 發佈:2020-12-11
技術標籤:# pytorchpython人工智慧ptorch
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))
這裡是引用
執行結果如下: