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

yipeiwu_com7年前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原始字符串(raw strings)用法实例

本文实例讲述了Python原始字符串(raw strings)用法,分享给大家供大家参考。具体如下:   Python原始字符串的产生正是由于有正则表达式的存在。原因是ASCI...

Python使用Matplotlib实现Logos设计代码

Python使用Matplotlib实现Logos设计代码

本文主要展示了使用matplotlib设计logo的示例及完整代码,首先看下其演示结果: Python代码如下: import numpy as np import matplot...

浅谈python下tiff图像的读取和保存方法

对比测试 scipy.misc 和 PIL.Image 和 libtiff.TIFF 三个库 输入: 1. (读取矩阵) 读入uint8、uint16、float32的lena.tif...

scikit-learn线性回归,多元回归,多项式回归的实现

scikit-learn线性回归,多元回归,多项式回归的实现

匹萨的直径与价格的数据 %matplotlib inline import matplotlib.pyplot as plt def runplt(): plt.figure()...

初步解析Python中的yield函数的用法

您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ? 我们先抛开 generator,以一个常见的编程题目来展示...