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验证码识别的方法
Jul 10 Python
python基于twisted框架编写简单聊天室
Jan 02 Python
Django框架多表查询实例分析
Jul 04 Python
解决项目pycharm能运行,在终端却无法运行的问题
Jan 19 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
Aug 12 Python
使用tensorflow显示pb模型的所有网络结点方式
Jan 23 Python
Python安装与卸载流程详细步骤(图解)
Feb 20 Python
Django 实现 Websocket 广播、点对点发送消息的代码
Jun 03 Python
Python基于数列实现购物车程序过程详解
Jun 09 Python
keras 读取多标签图像数据方式
Jun 12 Python
python之语音识别speech模块
Sep 09 Python
Python中三种花式打印的示例详解
Mar 19 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 checkbox 取值详细说明
2010/08/19 PHP
PHP 第一节 php简介
2012/04/28 PHP
php笔记之:有规律大文件的读取与写入的分析
2013/04/26 PHP
linux下安装php的memcached客户端
2014/08/03 PHP
php中strtotime函数性能分析
2016/11/20 PHP
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
PHP使用SMTP邮件服务器发送邮件示例
2018/08/28 PHP
针对PHP开发安全问题的相关总结
2019/03/22 PHP
各种页面定时跳转(倒计时跳转)代码总结
2013/10/24 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
使用JavaScript判断图片是否加载完成的三种实现方式
2014/05/04 Javascript
ES6的新特性概览
2016/03/10 Javascript
详解JavaScript跨域总结与解决办法
2016/10/31 Javascript
Angular.js之作用域scope'@','=','&'实例详解
2017/02/28 Javascript
详解node-ccap模块生成captcha验证码
2017/07/01 Javascript
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
2017/07/12 Javascript
基于vue2.x的电商图片放大镜插件的使用
2018/01/22 Javascript
如何利用ES6进行Promise封装总结
2019/02/11 Javascript
vue中 this.$set的用法详解
2019/09/06 Javascript
Vue实例的对象参数options的几个常用选项详解
2019/11/08 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
[02:27]《DAC最前线》之附加赛征程
2015/01/29 DOTA
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
Python合并字符串的3种方法
2015/05/21 Python
Python的装饰器使用详解
2017/06/26 Python
python实现Flappy Bird源码
2018/12/24 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
Python 代码调试技巧示例代码
2020/08/11 Python
如何基于Python按行合并两个txt
2020/11/03 Python
新西兰领先的鞋类和靴子网上商城:Merchant 1948
2017/09/08 全球购物
彪马西班牙官网:PUMA西班牙
2019/06/18 全球购物
暑期社会实践学生的自我评价
2014/01/09 职场文书
《和田的维吾尔》教学反思
2014/04/14 职场文书
评奖评优个人先进事迹材料
2015/11/04 职场文书