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



上圖分別是在列和行兩個維度連接后的結(jié)果
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ù)量
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- 使用PyTorch/TensorFlow搭建簡單全連接神經(jīng)網(wǎng)絡
- PyTorch使用教程之Tensor包詳解
- 最新tensorflow與pytorch環(huán)境搭建的實現(xiàn)步驟
- Pytorch實現(xiàn)tensor序列化和并行化的示例詳解
- PyTorch?TensorFlow機器學習框架選擇實戰(zhàn)
- pytorch中tensorboard安裝及安裝過程中出現(xiàn)的常見錯誤問題
- Pytorch之tensorboard無法啟動和顯示問題及解決
- Pytorch Dataset,TensorDataset,Dataloader,Sampler關系解讀
- PyTorch中tensor[..., 2:4]的實現(xiàn)示例
相關文章
Python?中?Pandas?文件操作和讀取?CSV?參數(shù)詳解
CSV?又稱逗號分隔值文件,是一種簡單的文件格式,以特定的結(jié)構(gòu)來排列表格數(shù)據(jù),這篇文章主要介紹了Python?之?Pandas?文件操作和讀取?CSV?參數(shù)詳解,需要的朋友可以參考下2023-03-03
python 實現(xiàn)保存最新的三份文件,其余的都刪掉
今天小編就為大家分享一篇python 實現(xiàn)保存最新的三份文件,其余的都刪掉,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12

