【Pytorch】tensor类型数据.squeeze()和.unsqueeze()函数的简明教程(一看就会)
生活随笔
收集整理的這篇文章主要介紹了
【Pytorch】tensor类型数据.squeeze()和.unsqueeze()函数的简明教程(一看就会)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1 squeeze
- 1.1
- 1.2
- 1.3 執行操作后需要寫回
- 2 unsqueeze
pytorch系列代碼中常見的兩個函數squeeze()和unsqueeze()
1 squeeze
1.1
import torch x=torch.randn(2,1,2) #生成一個維度是(2,1,2)的tensor向量 print(x.shape) #torch.Size([2, 1, 2]) x=x.squeeze() #參數為空,表示刪除tensor元素的所有維度為1的維度,這里的x只有第二個維度是1,所以執行該操作后,第二個維度會被刪除剩下:(2,2) print(x.shape) #torch.Size([2, 2]) x=x.squeeze() #沒有維度為1的維度了,所以x的維度保持原樣 print(x.shape) #torch.Size([2, 2])1.2
import torch x=torch.randn(2,1,2) #生成一個維度是(2,1,2)的tensor向量 print(x.shape) #torch.Size([2, 1, 2]) x=x.squeeze(0) #參數為0,表示如果第0個維度是1維,則刪除第0個維度,這里的x只有第1個維度是1,所以執行該操作后,第0個維度不會被刪除,x元素的維度依然是(2,1,2) print(x.shape) #torch.Size([2, 1, 2]) x=x.squeeze(1) #參數為1,表示如果第1個維度是1維,則刪除第1個維度,所以執行該操作后,第1個維度會被刪除,x元素的維度變成是(2,2) print(x.shape) #torch.Size([2, 2])1.3 執行操作后需要寫回
import torch x=torch.randn(2,1,2) #生成一個維度是(2,1,2)的tensor向量 print(x.shape) #torch.Size([2, 1, 2]) x.squeeze() #參數為空,表示刪除tensor元素的所有維度為1的維度,這里的x只有第二個維度是1,所以執行該操作后,第二個維度會被刪除剩下:(2,2),但是!!!這里對x執行squeeze()操作的結果是返回的,并沒有寫入原數據空間x,即修改的內容沒有保存下來,需要執行x=x.squeeze()才可以 print(x.shape) #torch.Size([2, 1, 2])2 unsqueeze
import torch y=torch.randn(2,1,2) print(y.shape) #torch.Size([2, 1, 2]) y=y.unsqueeze(0) #在第0維,增加一個維度是1的維度 print(y.shape) #torch.Size([1, 2, 1, 2])總結
以上是生活随笔為你收集整理的【Pytorch】tensor类型数据.squeeze()和.unsqueeze()函数的简明教程(一看就会)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10uF的电容能滤除什么频率的电源纹波?
- 下一篇: 网络工程课程设计_某学校网络设计