如何將pytorch中mnist數(shù)據(jù)集的圖像可視化及保存
導(dǎo)出一些庫(kù)
1
2
3
4
5
6
7
8
|
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 |
數(shù)據(jù)集的準(zhǔn)備
#訓(xùn)練集測(cè)試集的準(zhǔn)備
1
2
3
|
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 ) |
將訓(xùn)練及測(cè)試集利用dataloader進(jìn)行迭代
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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個(gè) image_array = image_array.resize( 28 , 28 ) filename = save_dir + 'mnist_train_%d.jpg' % i #保存文件的格式 print (filename) print (train_data.train_labels[i]) #打印出標(biāo)簽 scipy.misc.toimage(image_array,cmin = 0.0 ,cmax = 1.0 ).save(filename) #保存圖像 |
以上這篇pytorch實(shí)現(xiàn)mnist數(shù)據(jù)集的圖像可視化及保存就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/weixin_40123108/article/details/83926476