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通过自定义isnumber函数判断字符串是否为数字的方法
Apr 23 Python
python实现感知器算法详解
Dec 19 Python
对numpy中array和asarray的区别详解
Apr 17 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
Jun 17 Python
python使用Matplotlib改变坐标轴的默认位置
Oct 18 Python
python科学计算之numpy——ufunc函数用法
Nov 25 Python
Django Xadmin多对多字段过滤实例
Apr 07 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
Apr 26 Python
Python爬虫实现百度翻译功能过程详解
May 29 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
Jun 02 Python
linux mint中搜狗输入法导致pycharm卡死的问题
Oct 28 Python
Python实战之用tkinter库做一个鼠标模拟点击器
Apr 27 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
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
使用array mutisort 实现按某字段对数据排序
2013/06/18 PHP
ThinkPHP表单自动验证实例
2014/10/13 PHP
php实现zip文件解压操作
2015/11/03 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
关于取不到由location.href提交而来的上级页面地址的解决办法
2009/07/30 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
2016/06/07 Javascript
JS异步文件上传(兼容IE8+)
2017/04/02 Javascript
Vue.js常用指令的使用小结
2017/06/23 Javascript
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
使用原生js封装的ajax实例(兼容jsonp)
2017/10/12 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
JS实现网页烟花动画效果
2020/03/10 Javascript
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
2019/06/12 Python
python IDLE添加行号显示教程
2020/04/25 Python
Python基于Tkinter编写crc校验工具
2020/05/06 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
Numpy 多维数据数组的实现
2020/06/18 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
JDO的含义
2012/11/17 面试题
给老婆的搞笑检讨书
2014/01/12 职场文书
小学生新学期寄语
2014/01/19 职场文书
原材料检验岗位职责
2014/03/15 职场文书
我为党旗添光彩演讲稿
2014/09/10 职场文书
2014年医药代表工作总结
2014/11/22 职场文书
工作检讨书范文
2015/01/23 职场文书
导游词之潮音寺
2019/09/26 职场文书
python将图片转为矢量图的方法步骤
2021/03/30 Python
SpringBoot集成MongoDB实现文件上传的步骤
2022/04/18 MongoDB