當(dāng)前位置:
首頁 >
pytorch数据处理的操作
發(fā)布時間:2023/12/3
26
豆豆
默认站点
收集整理的這篇文章主要介紹了
pytorch数据处理的操作
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
張量(256,256)轉(zhuǎn)換為三維通道圖片張量(256,256,3)可以采用下面方法:
1.先將張量轉(zhuǎn)換為數(shù)組。
2.在numpy數(shù)組增加維數(shù)(相當(dāng)于在張量里增加了通道的維度),即(256,256,1)。
3.增加numpy數(shù)組維度中的數(shù)量(也就是將張量里的一個通道變?yōu)?),即(256,256,3)。
4.根據(jù)需要來決定是否調(diào)整順序,如:(3,256,256)
5.最后再進(jìn)行transforms.Totensor()操作轉(zhuǎn)換成張量。
也可以解決單通道圖片轉(zhuǎn)換成三通道圖片問題。
1.Tensor轉(zhuǎn)換numpy
x=torch.tensor([[1,2,3],[4,5,6]]) #T大寫會顯示小數(shù)點(diǎn) print(x) #結(jié)果: tensor([[1, 2, 3],[4, 5, 6]]) print(x.shape) #torch.Size([2, 3]) #張量x轉(zhuǎn)換數(shù)組y y=x.numpy() print(y) #結(jié)果: [[1 2 3][4 5 6]] print(y.shape) #(2, 3) 和張量完全一樣,二維三列的數(shù)組,只是數(shù)組里無逗號2.numpy數(shù)組增加維數(shù)
通過添加一個np.newaxis,在哪個維度添加的則在哪里加中括號來增加維數(shù)。
y1=y[np.newaxis,:,:]#在第一個維度(最外層)增加中括號 print(y1) #結(jié)果: [[[1 2 3][4 5 6]]] print(y1.shape) #(1, 2, 3)y3=y[:,:,np.newaxis] #在最后一個維度(最里層)增加中括號 print(y) #結(jié)果: [[[1][2][3]][[4][5][6]]] print(y3.shape) #(2, 3, 1)增加numpy數(shù)組維度中的數(shù)量
通過拼接函數(shù)concatenate(數(shù)組,axis)達(dá)到目的,axis指定在哪個地方拼接,如axis=2則在第二維度(這里是最里層)拼接。
yy = np.concatenate([y3, y3, y3], axis=2) print(y) #結(jié)果: [[[1 1 1][2 2 2][3 3 3]][[4 4 4][5 5 5][6 6 6]]] print(yy.shape) #(2, 3, 3)交換numpy數(shù)組各維度
利用transpose(),參數(shù)表示交換后的位置
yy1 = yy.transpose(1, 2, 0) print(yy1) #結(jié)果: [[[1 4][1 4][1 4]][[2 5][2 5][2 5]][[3 6][3 6][3 6]]] print(yy1.shape) #(3, 3, 2)總結(jié)
以上是默认站点為你收集整理的pytorch数据处理的操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (qos ddos)
- 下一篇: 计算机领域专业术语中英文对照(时常更新)