Pytorch中的variable, tensor与numpy相互转化的方法

yipeiwu_com5年前Python基础

在使用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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python读取YUV文件,并显示的方法

Python读取YUV格式文件,并使用opencv显示的方法 opencv可以读取的图片类型比较多,但大多是比较常见的类型,比如".jpg"和".png",但它不能直接读取YUV格式的文...

对python csv模块配置分隔符和引用符详解

如下所示: file = open('./abc.csv') csv.reader(file, delimiter=',', quotechar='"') 说明:delimiter...

Python类的专用方法实例分析

本文实例讲述了Python类的专用方法。分享给大家供大家参考。具体分析如下: Python 类可以定义专用方法,专用方法是在特殊情况下或当使用特别语法时由 Python 替你调用的,而不...

Python3处理文件中每个词的方法

本文实例讲述了Python3处理文件中每个词的方法。分享给大家供大家参考。具体实现方法如下: ''''' Created on Dec 21, 2012 处理文件中的每个词 @...

详解python里的命名规范

文件名 全小写,可使用下划线 包 应该是简短的、小写的名字。如果下划线可以改善可读性可以加入。如mypackage。 模块 与包的规范同。如mymodule。 类 总是使用首字母大写单词...