pytorch 数据集图片显示方法
2018-07-26 15:59
676 查看
图片显示
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 数据集图片显示方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- pytorch 把MNIST数据集转换成图片和txt的方法
- PyTorch读取Cifar数据集并显示图片
- PyTorch读取Cifar数据集并显示图片的实例讲解
- Android自定义控件:imageview重写onMeasure方法实现图片按指定比例显示,拉伸永不变形,解决屏幕适配问题
- IE6显示png透明背景、图片的方法
- iOS9网络请求升级 之前的不显示图片 破解方法
- Gridview显示图片的两种方法
- css中设定的背景图片无法显示的解决方法
- Asp.net中图片存储数据库以及页面读取显示通用方法详解
- WinCE显示资源中BMP图片的几种方法
- 将图片存入sqlserver中并读取显示的方法
- layui的table中显示图片方法
- delphi显示 jpg、png、gif 图片及 gif 动画的方法
- Qt 显示图片的三中方法
- firefox图片不存在就显示小红叉的方法
- c# winform 显示动态gif图片的方法
- Android编程实现等比例显示图片的方法
- python 读取并显示图片的两种方法
- android显示图片的两种方法
- c++ opencv 3.2 +Mfc VS2015窗体显示图片方法