pytorch 数据集图片显示方法
Python  /  管理员 发布于 5年前   689
图片显示
pytorch 载入的数据集是元组tuple 形式,里面包括了数据及标签(train_data,label),其中的train_data数据可以转换为torch.Tensor形式,方便后面计算使用。
同样给一些刚入门的同学在使用载入的数据显示图片的时候带来一些难以理解的地方,这里主要是将Tensor与numpy转换的过程,理解了这些就可以就行转换了
CIAFA10数据集
首先载入数据集,这里做了一些数据处理,包括图片尺寸、数据归一化等
import torchfrom torch.autograd import Variable import matplotlib.pyplot as plt import torchvision.datasets as dsetimport torchvision.transforms as transformsfrom autoencoder import AutoEncoderimport torch.nn as nnimport torchvisionimport numpy as npdataset = 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 数据集图片显示方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号