pytorch?tensor合并與分割方式
1. cat
torch.cat(tensors, dim=0, *, out=None) → Tensor
在指定維度上,連接給定tensor序列或empty,除連接的dimension外,所有得的ensor必須有相同的shape
參數(shù):
- tensors-具有相同類型的tensor序列,非empty tensor必須具有相同的shape,連接的dimension除外
- dim-指定的連接的維度
輸出:
連接后的tensor
上圖分別是在列和行兩個維度連接后的結果
2. stack
創(chuàng)建新維度來連接張量序列
torch.stack(tensors, dim=0, *, out=None) → Tensor
參數(shù):
- tensors-張量序列,具有相同的size
- dim-插入的新維度,必須介于0和連接的tensor的維度之間
輸出:
連接后的tensor
注意:cat和stack的區(qū)別
stack連接的tensor必須具有相同的size,否則報錯,cat是除連接的維度外,其他維度shape必須相同
如下示例:
3. split
把一個tensor切分成塊,每個塊是原tensor的一部分
torch.split(tensor, split_size_or_sections, dim=0)
參數(shù):
- tensor-用來切分的tensor
- split_size_or_sections (int) or (list(int)) -單個塊的size后者是每個塊size的list
- dim (int) – 以tensor的哪個維度進行切分
輸出:
Tuple[Tensor, …]
示例:
4. chunk
強制將一個tensor切分成指定數(shù)量的塊,每個塊是原tensor的一部分
torch.chunk(input, chunks, dim=0) → List of Tensors
參數(shù):
- input (Tensor) – 輸入切分的tensor
- chunks (int) – 切分塊的數(shù)量
- dim (int) – 以tensor的哪個維度進行切分
輸出:
切分后的list
示例:
注意:split與chunk的區(qū)別
區(qū)別主要是第二個參數(shù),split第二個參數(shù)切分塊的size,而chunk是切分塊的數(shù)量
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
pytorch 調整某一維度數(shù)據(jù)順序的方法
今天小編就為大家分享一篇pytorch 調整某一維度數(shù)據(jù)順序的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12在python win系統(tǒng)下 打開TXT文件的實例
下面小編就為大家分享一篇在python win系統(tǒng)下 打開TXT文件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04python之當你發(fā)現(xiàn)QTimer不能用時的解決方法
今天小編就為大家分享一篇python之當你發(fā)現(xiàn)QTimer不能用時的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06