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

yipeiwu_com6年前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实现给scatter设置颜色渐变条colorbar的方法

python实现给scatter设置颜色渐变条colorbar的方法

python设置scatter颜色渐变的方法 参考代码如下: <span style="font-size:18px;">import matplotlib.pyplot...

使用TensorFlow-Slim进行图像分类的实现

参考 https://github.com/tensorflow/models/tree/master/slim 使用TensorFlow-Slim进行图像分类 准备 安装Tensor...

详解numpy的argmax的具体使用

从最简单的例子出发 假定现在有一个数组a = [3, 1, 2, 4, 6, 1]现在要算数组a中最大数的索引是多少.这个问题对于刚学编程的同学就能解决.最直接的思路,先假定第0个数最大...

Python实现把类当做字典来访问

定义一个类将它实例化,我们可以通过obj.属性来访问类的属性,如果想获取类的所有实例变量,我们可以使用obj.__dict__来访问,如下: class A: def __ini...

Python实现银行账户资金交易管理系统

Python实现银行账户资金交易管理系统

用类和对象实现一个银行账户的资金交易管理, 包括存款、取款和打印交易详情, 交易详情中包含每次交易的时间、存款或者取款的金额、每次交易后的余额。 如: 下面按照要求定义一个账户 Acc...