Deep-Learning-with-PyTorch-3.8.3 高維上轉(zhuǎn)置

3.8.3 高維上轉(zhuǎn)置

在PyTorch中進行轉(zhuǎn)置不僅限于矩陣。 我們可以通過指定應(yīng)該發(fā)生轉(zhuǎn)置(翻轉(zhuǎn)形狀和步幅)的兩個維度來轉(zhuǎn)置多維數(shù)組:

# In[35]:
some_t = torch.ones(3, 4, 5)
transpose_t = some_t.transpose(0, 2)
some_t.shape

# Out[35]:
torch.Size([3, 4, 5])

# In[36]:
transpose_t.shape

# Out[36]:
torch.Size([5, 4, 3])

# In[37]:
some_t.stride()

# Out[37]:
(20, 5, 1)

# In[38]:
transpose_t.stride()

# Out[38]:
(1, 5, 20)

將其值從最右邊的維度開始(即,沿著2D張量沿行移動)布置在存儲中的張量定義為連續(xù)的。連續(xù)張量很方便,因為我們可以按順序有效地訪問它們,而無需在存儲中四處走動(由于內(nèi)存訪問在現(xiàn)代CPU上的工作方式,提高數(shù)據(jù)局部性可以提高性能)。 當(dāng)然,這一優(yōu)勢取決于算法的訪問方式。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容