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内置函数dir详解
Apr 14 Python
Python实现身份证号码解析
Sep 01 Python
利用python实现简单的邮件发送客户端示例
Dec 23 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
Mar 31 Python
详谈pandas中agg函数和apply函数的区别
Apr 20 Python
python3 拼接字符串的7种方法
Sep 12 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
Feb 13 Python
python自带tkinter库实现棋盘覆盖图形界面
Jul 17 Python
Django 通过JS实现ajax过程详解
Jul 30 Python
简单了解Python3 bytes和str类型的区别和联系
Dec 19 Python
Python实现bilibili时间长度查询的示例代码
Jan 14 Python
Python Merge函数原理及用法解析
Sep 16 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个人网站架设连环讲(一)
2006/10/09 PHP
CodeIgniter中实现泛域名解析
2014/07/19 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
Symfony2学习笔记之系统路由详解
2016/03/17 PHP
jQuery选择头像并实时显示的代码
2010/06/27 Javascript
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
js仿微博实现统计字符和本地存储功能
2015/12/22 Javascript
jQuery xml字符串的解析、读取及查找方法
2016/03/01 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
2016/11/09 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
2017/05/15 Javascript
jquery easyui如何实现格式化列
2017/07/30 jQuery
Vue2.5通过json文件读取数据的方法
2018/02/27 Javascript
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
python如何重载模块实例解析
2018/01/25 Python
Python中存取文件的4种不同操作
2018/07/02 Python
Random 在 Python 中的使用方法
2018/08/09 Python
python重试装饰器的简单实现方法
2019/01/31 Python
24式加速你的Python(小结)
2019/06/13 Python
python  文件的基本操作 菜中菜功能的实例代码
2019/07/17 Python
面向对象学习之pygame坦克大战
2019/09/11 Python
浅析python中while循环和for循环
2019/11/19 Python
python常用数据重复项处理方法
2019/11/22 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
国际象棋商店:The Chess Store
2018/07/09 全球购物
C# Debug和Testing相关面试题
2015/10/25 面试题
CNC数控操作工岗位职责
2013/11/19 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang
SpringRetry重试框架的具体使用
2021/07/25 Java/Android
如何打开Win11系统注册表编辑器?Win11注册表编辑器打开修复方法
2022/04/05 数码科技
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL