pytorch 数据集图片显示方法

作者:zzw小凡 时间:2022-01-14 08:57:36 

图片显示

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)的格式,所以进行了转换,才能显示

来源:https://blog.csdn.net/zzw000000/article/details/77949570

标签:pytorch,数据集,图片
0
投稿

猜你喜欢

  • Javascript文本框脚本实现方法解析

    2024-04-25 10:36:22
  • MooTools的Cookie类太“自作聪明”了

    2008-11-13 12:59:00
  • SQL Server 2005 五个动态管理对象

    2008-12-18 14:50:00
  • 使用Python的Flask框架实现视频的流媒体传输

    2023-05-07 02:46:53
  • 详解ES6之async+await 同步/异步方案

    2023-08-24 11:10:54
  • Python爬虫之Spider类用法简单介绍

    2023-04-23 15:03:27
  • ASP和MYSQL开发网站的注意事项

    2009-08-21 13:23:00
  • Python简单基础小程序的实例代码

    2021-03-29 21:17:59
  • Python基于yaml文件配置logging日志过程解析

    2022-04-02 10:50:36
  • Python爬取qq空间说说的实例代码

    2021-04-28 01:29:50
  • Python办公自动化批量处理文件实现示例

    2021-01-12 01:11:24
  • javascript实现促销倒计时+fixed固定在底部

    2024-05-11 09:33:04
  • Python基于内置库pytesseract实现图片验证码识别功能

    2022-05-26 07:40:53
  • Python实现Pig Latin小游戏实例代码

    2022-06-27 04:15:36
  • Python深度学习之使用Pytorch搭建ShuffleNetv2

    2023-10-10 06:19:09
  • Python中不同进制互相转换(二进制、八进制、十进制和十六进制)

    2022-02-12 02:32:55
  • 一个滑动展示的小代码

    2011-07-01 12:58:05
  • 前后端分离和跨域问题的详细解决方案(CORS的原理)

    2023-05-30 01:19:26
  • 跟我学习javascript的基本类型和引用类型

    2024-04-28 09:46:42
  • 详解Vue.js——60分钟组件快速入门(上篇)

    2024-05-03 15:12:29
  • asp之家 网络编程 m.aspxhome.com