import torch
a = torch.tensor([[
1.0,
2.0,
3.0],[
2.0,
2.0,
2.0],[
3.0,
2.0,
1.0]])
print
(a.shape)
print
(a)"""
torch.size([3, 3])
tensor([[ 1., 2., 3.],
[ 2., 2., 2.],
[ 3., 2., 1.]])
"""
使用softmax函式,當dim=1時,矩陣中每一行的和為1:
import torch.nn.functional as f
attention = f.softmax(a,dim=1)
print
(attention)
"""tensor([[ 0.0900, 0.2447, 0.6652],
[ 0.3333, 0.3333, 0.3333],
[ 0.6652, 0.2447, 0.0900]])
"""
dim=0時,矩陣中每一列的和為1:
attention_1 = f.softmax(a,dim=0)
print
(attention_1)
"""tensor([[ 0.0900, 0.3333, 0.6652],
[ 0.2447, 0.3333, 0.2447],
[ 0.6652, 0.3333, 0.0900]])
"""
按照我目前的理解,當維度大於2時,dim引數就是對指定的維度進行處理了,二維矩陣的處理總是抱有疑惑,故本篇部落格以乙個樣例來說明。
分享乙個使用方括號的角度來對維度進行解讀的部落格:
【pytorch】pytorch 中的 dim
二維矩陣與二維矩陣之間的卷積
最近在學習數字影象處理 digital image processing,dip 這門課,感覺有些吃力。由於在數字訊號處理 digital singal processing,dsp 這門課中只學了一維矩陣之間的卷積運算。假設我們的卷積核h為kernel矩陣 33 待處理矩陣f x,y 為 55 h...
搜尋二維矩陣
寫出乙個高效的演算法來搜尋 m n矩陣中的值。這個矩陣具有以下特性 每行中的整數從左到右是排序的。每行的第乙個數大於上一行的最後乙個整數。樣例 考慮下列矩陣 1,3,5,7 10,11,16,20 23,30,34,50 給出 target 3,返回 true 思路一 最容易想到的一種解法就是兩層f...
搜尋二維矩陣
寫出乙個高效的演算法來搜尋 m n矩陣中的值。這個矩陣具有以下特性 樣例 考慮下列矩陣 1,3,5,7 10,11,16,20 23,30,34,50 給出target 3,返回true 解題思路 可以把這個矩陣,看成是乙個大的一維陣列,1,3,5,7,10,11,16,20,23,34,50。然後...