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中的urllib模块使用详解
Jul 07 Python
python下调用pytesseract识别某网站验证码的实现方法
Jun 06 Python
Python黑帽编程 3.4 跨越VLAN详解
Sep 28 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
Jul 06 Python
Numpy数组的保存与读取方法
Apr 04 Python
详解如何用python实现一个简单下载器的服务端和客户端
Oct 28 Python
Python交互环境下打印和输入函数的实例内容
Feb 16 Python
JAVA SWT事件四种写法实例解析
Jun 05 Python
解决pycharm中的run和debug失效无法点击运行
Jun 09 Python
python Autopep8实现按PEP8风格自动排版Python代码
Mar 02 Python
Python一行代码实现自动发邮件功能
May 30 Python
Python 文字识别
May 11 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
把PHP安装为Apache DSO
2006/10/09 PHP
PHP脚本的10个技巧(2)
2006/10/09 PHP
七款最流行的PHP本地服务器分享
2013/02/19 PHP
PHP字符串的连接的简单实例
2013/12/30 PHP
将php数组输出html表格的方法
2014/02/24 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
Symfony生成二维码的方法
2016/02/04 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
javascript this用法小结
2008/12/19 Javascript
JavaScript的单例模式 (singleton in Javascript)
2010/06/11 Javascript
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
2011/09/28 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
2014/04/04 Javascript
IE中JS跳转丢失referrer问题的2个解决方法
2014/07/18 Javascript
js控制文本框只输入数字和小数点的方法
2015/03/10 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
Javascript 实现微信分享(QQ、朋友圈、分享给朋友)
2016/10/21 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
JS实现颜色动态淡化效果
2017/03/06 Javascript
js实现百度登录框鼠标拖拽效果
2017/03/07 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
2017/09/21 jQuery
vue打包之后生成一个配置文件修改接口的方法
2018/12/09 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
vue-cli3跨域配置的简单方法
2019/09/06 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
python自动zip压缩目录的方法
2015/06/28 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
基于Python爬取京东双十一商品价格曲线
2020/10/23 Python
前端制作动画的几种方式(css3,js)
2016/12/12 HTML / CSS
a标签下载链接的简单实现
2016/09/13 HTML / CSS
军校制空专业毕业生自我鉴定
2013/11/16 职场文书
小学生感恩演讲稿
2014/04/25 职场文书
本科应届生求职信
2014/08/05 职场文书