pytorch 實現張量tensor,圖片,CPU,GPU,陣列等的轉換
阿新 • • 發佈:2020-01-14
1,建立pytorch 的Tensor張量:
torch.rand((3,224,224)) #建立隨機值的三維張量,大小為(3,224) torch.Tensor([3,2]) #建立張量,[3,2]
2,cpu上的tensor和GPU即pytorch建立的tensor的相互轉化
b = a.cpu() # GPU → CPU a = b.cuda() #CPU → GPU
3,tensor和numpy的轉化
b = a.numpy() # tensor轉化為 numpy陣列 a = b.from_numpy() # numpy陣列轉化為tensor
4,torch的GPU tensor儲存為圖片
import scipy.misc scipy.misc.imsave(‘pic_name',img) #img為二維張量,比如(224,224),儲存為黑白圖
5,堆疊矩陣,形成彩色圖片
img = np.stack((ia,b,c),dim) #堆疊矩陣a,c 可用於三通道影象的儲存 dim表示要增加的維度, #比如a,c均為(224,224)大小的矩陣,那麼令dim=-1,則 img的維度為(224,3)
6,從numpy陣列儲存圖片
from PIL import Image im = Image.fromarray(A) im.save("your_file.jpeg")
7,讀取圖片為矩陣:
import matplotlib.image im = matplotlib.image.imread('0_0.jpg')
8,儲存矩陣為圖片:
import numpy as np import scipy.misc x = np.random.random((600,800,3)) scipy.misc.imsave('meelo.jpg',x)
以上這篇pytorch 實現張量tensor,圖片,CPU,GPU,陣列等的轉換就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。