1. 程式人生 > 程式設計 >pytorch 實現張量tensor,圖片,CPU,GPU,陣列等的轉換

pytorch 實現張量tensor,圖片,CPU,GPU,陣列等的轉換

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,陣列等的轉換就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。