pytorch 数据集图片显示方法


Posted in Python onJuly 26, 2018

图片显示

pytorch 载入的数据集是元组tuple 形式,里面包括了数据及标签(train_data,label),其中的train_data数据可以转换为torch.Tensor形式,方便后面计算使用。

同样给一些刚入门的同学在使用载入的数据显示图片的时候带来一些难以理解的地方,这里主要是将Tensor与numpy转换的过程,理解了这些就可以就行转换了

CIAFA10数据集

首先载入数据集,这里做了一些数据处理,包括图片尺寸、数据归一化等

import torch
from torch.autograd import Variable 
import matplotlib.pyplot as plt 
import torchvision.datasets as dset
import torchvision.transforms as transforms
from autoencoder import AutoEncoder
import torch.nn as nn
import torchvision
import numpy as np
dataset = dset.CIFAR10(root='../train/data', download=True, 
    transform=transforms.Compose([
    transforms.Scale(200),
    transforms.ToTensor(),
    transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)),
    transforms.Gray()
    ]))

在这里 dataset 是一个CIFAR10对象,(大家可以查看一下他的源代码)

方式一

dataset[1] = ([torch.FloatTensor of size 1x200x200],9)

载入的第二个数据是个tensor格式,包含一个标签 9

这里我们做的就是将torch.FloatTensor 转换为numpy,然后显示

b = dataset[1][0].numpy()
#取数据,不取标签

因为这里的b仍然是1*200*200的大小,所以要重新reshape一下,适合输出图像

plt.imshow(b.reshape(200,200),cmap = 'gray')
plt.show()

然后可以显示图像了

方式二

利用torch的接口

img = torchvision.utils.make_grid(dataset[1][0]).numpy()
plt.imshow(np.transpose(img,(1,2,0)))
plt.show()

这用np.transpose 是因为plt.imshow在显示 时候输入的是(imgsize,imgsieze,channels),而这里得到的img是(3,200,200)的格式,所以进行了转换,才能显示

以上这篇pytorch 数据集图片显示方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python解决汉字编码问题:Unicode Decode Error
Jan 19 Python
Python实现的爬虫功能代码
Jun 24 Python
详解Python中如何写控制台进度条的整理
Mar 07 Python
python使用folium库绘制地图点击框
Sep 21 Python
python实现图书借阅系统
Feb 20 Python
python实现本地批量ping多个IP的方法示例
Aug 07 Python
基于Python2、Python3中reload()的不同用法介绍
Aug 12 Python
pytorch获取vgg16-feature层输出的例子
Aug 20 Python
使用pandas的box_plot去除异常值
Dec 10 Python
基于python图书馆管理系统设计实例详解
Aug 05 Python
python之语音识别speech模块
Sep 09 Python
python集合的新增元素方法整理
Dec 07 Python
mac安装pytorch及系统的numpy更新方法
Jul 26 #Python
浅谈pytorch和Numpy的区别以及相互转换方法
Jul 26 #Python
pytorch: tensor类型的构建与相互转换实例
Jul 26 #Python
pytorch中tensor的合并与截取方法
Jul 26 #Python
Python爬虫框架Scrapy常用命令总结
Jul 26 #Python
Python退火算法在高次方程的应用
Jul 26 #Python
Python爬虫框架Scrapy基本用法入门教程
Jul 26 #Python
You might like
Re:从零开始的异世界生活 第2季 开播啦
2020/07/24 日漫
Apache设置虚拟WEB
2006/10/09 PHP
php小偷相关截取函数备忘
2010/11/28 PHP
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
2012/07/15 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
php实现微信支付之现金红包
2018/05/30 PHP
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
javascript之dhDataGrid Ver2.0.0代码
2007/07/01 Javascript
jQuery LigerUI 使用教程入门篇
2012/01/18 Javascript
动态创建script标签实现跨域资源访问的方法介绍
2014/02/28 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
2017/03/13 Javascript
解决layui前端框架 form表单,table表等内置控件不显示的问题
2018/08/19 Javascript
JavaScript之解构赋值的理解
2019/01/30 Javascript
JavaScript+HTML5 canvas实现放大镜效果完整示例
2019/05/15 Javascript
vue-router重写push方法,解决相同路径跳转报错问题
2020/08/07 Javascript
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python脚本替换指定行实现步骤
2017/07/11 Python
pytorch对可变长度序列的处理方法详解
2018/12/08 Python
Python获取网段内ping通IP的方法
2019/01/31 Python
python之信息加密题目详解
2019/06/26 Python
python TK库简单应用(实时显示子进程输出)
2019/10/29 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
介绍一下Python中webbrowser的用法
2013/05/07 面试题
介绍一下Ruby的多线程处理
2013/02/01 面试题
4s店机修工岗位职责
2013/12/20 职场文书
工作表现自我评价
2014/02/08 职场文书
经典英文广告词
2014/03/18 职场文书
授权委托书
2015/01/28 职场文书
2015年清明节网上祭英烈活动总结
2015/03/26 职场文书
人民检察院起诉书
2015/05/20 职场文书
只用40行Python代码就能写出pdf转word小工具
2021/05/31 Python