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实现调用其他python脚本的方法
Oct 05 Python
浅谈python 读excel数值为浮点型的问题
Dec 25 Python
python调用百度地图WEB服务API获取地点对应坐标值
Jan 16 Python
python异步实现定时任务和周期任务的方法
Jun 29 Python
Python实现Selenium自动化Page模式
Jul 14 Python
如何在Django配置文件里配置session链接
Aug 06 Python
Python logging日志库空间不足问题解决
Sep 14 Python
python 实现aes256加密
Nov 27 Python
Python实现对word文档添加密码去除密码的示例代码
Dec 29 Python
Python爬虫之爬取哔哩哔哩热门视频排行榜
Apr 28 Python
Python 居然可以在 Excel 中画画你知道吗
Feb 15 Python
Python线程池与GIL全局锁实现抽奖小案例
Apr 13 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
用ODBC的分页显示
2006/10/09 PHP
PHP实现下载功能的代码
2012/09/29 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
自己写的php curl库实现整站克隆功能
2015/02/12 PHP
获取网站跟路径的javascript代码(站点及虚拟目录)
2009/10/20 Javascript
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
jquery下jstree简单应用 - v1.0
2011/04/14 Javascript
jQuery Mobile的loading对话框显示/隐藏方法分享
2013/11/26 Javascript
js实现在同一窗口浏览图片
2014/09/17 Javascript
JS中三目运算符和if else的区别分析与示例
2014/11/21 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
JavaScript动态数量的文件上传控件
2016/11/18 Javascript
微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码
2017/01/13 Javascript
JavaScript判断变量名是否存在数组中的实例
2017/12/28 Javascript
浅谈Postman解决token传参的问题
2018/03/31 Javascript
利用js将ajax获取到的后台数据动态加载至网页中的方法
2018/08/08 Javascript
利用hasOwnProperty给数组去重的面试题分享
2018/11/05 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
js实现弹窗效果
2020/08/09 Javascript
JS实现简易贪吃蛇游戏
2020/08/24 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
python中文乱码的解决方法
2013/11/04 Python
python多线程编程中的join函数使用心得
2014/09/02 Python
python获得文件创建时间和修改时间的方法
2015/06/30 Python
快速入手Python字符编码
2016/08/03 Python
win10 64bit下python NLTK安装教程
2018/09/19 Python
Python简易版停车管理系统
2019/08/12 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
2020/02/19 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
Pytest单元测试框架如何实现参数化
2020/09/05 Python
Django路由层URLconf作用及原理解析
2020/09/24 Python
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
linux面试题参考答案(7)
2014/07/24 面试题
合作协议书模板2014
2014/09/26 职场文书
关于Python中进度条的六个实用技巧分享
2022/04/05 Python