在使用pytorch作为深度学习的框架时,经常会遇到变量variable、张量tensor与矩阵numpy的类型的相互转化的问题,本章结合这实际图像对此转化方法进行实现。
1.加载需要用到的模块
import torch
from torch.autograd import Variable
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
2.显示图片与图片中的一部分区域
test_img = mpimg.imread('example1.jpg')
i_x = 20
i_y = 85
sub_img = test_img[i_y:i_y + 100,i_x:i_x + 100,:] #numpy类型
3.将numpy矩阵转换为Tensor张量
sub_ts = torch.from_numpy(sub_img) #sub_img为numpy类型
4.将Tensor张量转化为numpy矩阵
sub_np1 = sub_ts.numpy() #sub_ts为tensor张量
5.将numpy转换为Variable
sub_va = Variable(torch.from_numpy(sub_img))
6.将Variable张量转化为numpy
sub_np2 = sub_va.data.numpy()