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脚本使得web页面上的代码高亮显示
Apr 24 Python
python保存字符串到文件的方法
Jul 01 Python
python对配置文件.ini进行增删改查操作的方法示例
Jul 28 Python
解决Python requests库编码 socks5代理的问题
May 07 Python
tensorflow实现逻辑回归模型
Sep 08 Python
python http基本验证方法
Dec 26 Python
从pandas一个单元格的字符串中提取字符串方式
Dec 17 Python
python分布式计算dispy的使用详解
Dec 22 Python
python中图像通道分离与合并实例
Jan 17 Python
python读取hdfs并返回dataframe教程
Jun 05 Python
Python判断字符串是否为合法标示符操作
Sep 03 Python
Elasticsearch 批量操作
Apr 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 5.0对象模型深度探索之绑定
2006/09/05 PHP
php curl post 时出现的问题解决
2014/01/30 PHP
PHP中文编码小技巧
2014/12/25 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
2015/06/17 PHP
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
AutoSave/自动存储功能实现
2007/03/24 Javascript
javascript demo 基本技巧
2009/12/18 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
JS实现的简单表单验证功能示例
2017/10/13 Javascript
微信小程序实现笑脸评分功能
2018/11/03 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
JavaScript命名空间模式实例详解
2019/06/20 Javascript
浅析Vue中拆分视图层代码的5点建议
2019/08/15 Javascript
vue实现放大镜效果
2020/09/17 Javascript
[01:09:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第一场 6.2
2018/06/04 DOTA
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[48:47]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
探究数组排序提升Python程序的循环的运行效率的原因
2015/04/01 Python
Python导入oracle数据的方法
2015/07/10 Python
python开发之IDEL(Python GUI)的使用方法图文详解
2015/11/12 Python
详解Python requests 超时和重试的方法
2018/12/18 Python
python集合的创建、添加及删除操作示例
2019/10/08 Python
python如何更新包
2020/06/11 Python
python中threading和queue库实现多线程编程
2021/02/06 Python
aec加密 php_php aes加密解密类(兼容php5、php7)
2021/03/14 PHP
ALDO美国官网:加拿大女鞋品牌
2018/12/28 全球购物
大学生的应聘自我评价
2013/12/13 职场文书
法务专员岗位职责
2014/01/02 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
离婚被告答辩状
2015/05/22 职场文书
在校证明模板
2015/06/17 职场文书
道士塔读书笔记
2015/06/30 职场文书
浅谈Golang 嵌套 interface 的赋值问题
2021/04/29 Golang
frg-100简单操作(设置)说明
2022/04/05 无线电