pytorch实现mnist数据集的图像可视化及保存

yipeiwu_com6年前Python基础

如何将pytorch中mnist数据集的图像可视化及保存

导出一些库

import torch
import torchvision 
import torch.utils.data as Data 
import scipy.misc
import os
import matplotlib.pyplot as plt   
BATCH_SIZE = 50  
DOWNLOAD_MNIST = True 

数据集的准备

#训练集测试集的准备

train_data = torchvision.datasets.MNIST(root='./mnist/', train=True,transform=torchvision.transforms.ToTensor(),              
  download=DOWNLOAD_MNIST, )
test_data = torchvision.datasets.MNIST(root='./mnist/', train=False)

将训练及测试集利用dataloader进行迭代

train_loader = Data.DataLoader(dataset=train_data, batch_size=BATCH_SIZE, shuffle=True)
test_x = Variable(torch.unsqueeze(test_data.test_data, dim=1), requires_grad=True).type(torch.FloatTensor)[:20]/255 
test_y = test_data.test_labels[:20]#前两千张
 #具体查看图像形式为:
 
a_data, a_label = train_data[0]
print(type(a_data))#tensor 类型
#print(a_data)
print(a_label)

#把原始图片保存至MNIST_data/raw/下
save_dir="mnist/raw/"
if os.path.exists(save_dir)is False:
 os.makedirs(save_dir)
 
for i in range(20):
 image_array,_=train_data[i]#打印第i个
 image_array=image_array.resize(28,28)
 filename=save_dir + 'mnist_train_%d.jpg' % i#保存文件的格式
 print(filename)
 print(train_data.train_labels[i])#打印出标签
 scipy.misc.toimage(image_array,cmin=0.0,cmax=1.0).save(filename)#保存图像

以上这篇pytorch实现mnist数据集的图像可视化及保存就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 多线程不加锁分块读取文件的方法

Python 多线程不加锁分块读取文件的方法

多线程读取或写入,一般会涉及到同步的问题,否则产生的结果是无法预期的。那么在读取一个文件的时候,我们可以通过加锁,但读不像写操作,会导致文件错误,另外锁操作是有一定的耗时。因此通过文件分...

python将三维数组展开成二维数组的实现

以前写过一篇:python实现把两个二维array叠加成三维array示例 这篇文章尝试用“曲线救国”的方法来解决二维数组叠加成三维数组的问题。 但天道有轮回,苍天绕过谁。好不容易把数组...

Python timer定时器两种常用方法解析

这篇文章主要介绍了Python timer定时器两种常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 方法一,使用线程中现成...

Django1.7+python 2.78+pycharm配置mysql数据库

配置好virtualenv 和virtualenvwrapper后,使用pycharm创建新项目。之后要面临的问题就来了,之前一直使用的是sqlite作为开发数据库进行学习,按照之前看教...

python基础 range的用法解析

range基本用法: range:顾头不顾尾 range(10)--返回0-9的数字 ey: for i in range(10): print(i) result:0...