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程序中进行文件读取和写入操作的教程
Apr 28 Python
安装ElasticSearch搜索工具并配置Python驱动的方法
Dec 22 Python
python使用电子邮件模块smtplib的方法
Aug 28 Python
Python中shape计算矩阵的方法示例
Apr 21 Python
Python在图片中添加文字的两种方法
Apr 29 Python
python 判断三个数字中的最大值实例代码
Jul 24 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
Feb 07 Python
Python猜数字算法题详解
Mar 01 Python
python获取命令行参数实例方法讲解
Nov 02 Python
python 爬取豆瓣网页的示例
Apr 13 Python
Python基础之函数嵌套知识总结
May 23 Python
Python 如何将integer转化为罗马数(3999以内)
Jun 05 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中过滤非法字符的具体实现
2013/10/29 PHP
php根据操作系统转换文件名大小写的方法
2014/02/24 PHP
PHP 字符串长度判断效率更高的方法
2014/03/02 PHP
微信开发之网页授权获取用户信息(二)
2016/01/08 PHP
Windows2003下php5.4安装配置教程(IIS)
2016/06/30 PHP
PHP查看SSL证书信息的方法
2016/09/22 PHP
PHP在线打包下载功能示例
2016/10/15 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
jquery 表单进行客户端验证demo
2009/08/24 Javascript
cnblogs csdn 代码运行框实现代码
2009/11/02 Javascript
Jquery 插件开发笔记整理
2011/01/17 Javascript
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
jQuery自带的一些常用方法总结
2014/09/03 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
2015/03/18 Javascript
jquery插件validation实现验证身份证号等
2015/06/04 Javascript
jQuery时间轴插件使用详解
2015/07/16 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
vue-cli3脚手架的配置及使用教程
2018/08/28 Javascript
JS实现的合并两个有序链表算法示例
2019/02/25 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
javascript设计模式 ? 单例模式原理与应用实例分析
2020/04/09 Javascript
vant picker+popup 自定义三级联动案例
2020/11/04 Javascript
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
解决python3 requests headers参数不能有中文的问题
2019/08/21 Python
如何通过python实现全排列
2020/02/11 Python
Python 实现使用空值进行赋值 None
2020/03/12 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
2020/10/15 Python
求职意向书
2014/04/01 职场文书
开服装店计划书
2014/08/15 职场文书
工作疏忽检讨书500字
2014/10/26 职场文书
医生个人年终总结
2015/02/28 职场文书
优质护理心得体会
2016/01/22 职场文书
Linux中sftp常用命令整理
2022/06/28 Servers