pytorch 數(shù)據(jù)集圖片顯示方法
圖片顯示
pytorch 載入的數(shù)據(jù)集是元組tuple 形式,里面包括了數(shù)據(jù)及標(biāo)簽(train_data,label),其中的train_data數(shù)據(jù)可以轉(zhuǎn)換為torch.Tensor形式,方便后面計(jì)算使用。
同樣給一些剛?cè)腴T(mén)的同學(xué)在使用載入的數(shù)據(jù)顯示圖片的時(shí)候帶來(lái)一些難以理解的地方,這里主要是將Tensor與numpy轉(zhuǎn)換的過(guò)程,理解了這些就可以就行轉(zhuǎn)換了
CIAFA10數(shù)據(jù)集
首先載入數(shù)據(jù)集,這里做了一些數(shù)據(jù)處理,包括圖片尺寸、數(shù)據(jù)歸一化等
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 是一個(gè)CIFAR10對(duì)象,(大家可以查看一下他的源代碼)
方式一
dataset[1] = ([torch.FloatTensor of size 1x200x200],9)
載入的第二個(gè)數(shù)據(jù)是個(gè)tensor格式,包含一個(gè)標(biāo)簽 9
這里我們做的就是將torch.FloatTensor 轉(zhuǎn)換為numpy,然后顯示
b = dataset[1][0].numpy() #取數(shù)據(jù),不取標(biāo)簽
因?yàn)檫@里的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 是因?yàn)閜lt.imshow在顯示 時(shí)候輸入的是(imgsize,imgsieze,channels),而這里得到的img是(3,200,200)的格式,所以進(jìn)行了轉(zhuǎn)換,才能顯示
以上這篇pytorch 數(shù)據(jù)集圖片顯示方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux環(huán)境下MySQL-python安裝過(guò)程分享
這篇文章主要介紹了Linux環(huán)境下MySQL-python安裝過(guò)程分享,本文使用的編譯方式安裝,需要的朋友可以參考下2015-02-02
淺析python實(shí)現(xiàn)動(dòng)態(tài)規(guī)劃背包問(wèn)題
這篇文章主要介紹了python實(shí)現(xiàn)動(dòng)態(tài)規(guī)劃背包問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
Python實(shí)現(xiàn)圖片和視頻的相互轉(zhuǎn)換
有時(shí)候我們需要把很多的圖片合成視頻,或者說(shuō)自己寫(xiě)一個(gè)腳本去加快或者放慢視頻;也有時(shí)候需要把視頻裁剪成圖片,進(jìn)行后續(xù)操作。這篇文章就將為大家介紹如何通過(guò)Python實(shí)現(xiàn)圖片和視頻的相互轉(zhuǎn)換,需要的可以參考一下2021-12-12
Flask中jinja2的繼承實(shí)現(xiàn)方法及實(shí)例
在本篇文章里小編給大家分享的是一篇關(guān)于Flask中jinja2的繼承實(shí)現(xiàn)方法及實(shí)例,有興趣的朋友們可以學(xué)習(xí)下。2021-03-03
在Linux命令行中運(yùn)行Python腳本的流程步驟
Python是一種高級(jí)編程語(yǔ)言,被廣泛應(yīng)用于數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、Web 開(kāi)發(fā)等領(lǐng)域,在Linux操作系統(tǒng)中,Python是一個(gè)默認(rèn)安裝的解釋器,用戶可以通過(guò)命令行界面(CLI)來(lái)運(yùn)行Python腳本,在本文中,我們將詳細(xì)介紹如何在Linux命令行中運(yùn)行Python腳本,需要的朋友可以參考下2023-11-11
Python虛擬機(jī)棧幀對(duì)象及獲取源碼學(xué)習(xí)
這篇文章主要為大家介紹了Python虛擬機(jī)棧幀對(duì)象及獲取源碼學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03

