一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類(lèi)導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - pytorch下大型數(shù)據(jù)集(大型圖片)的導(dǎo)入方式

pytorch下大型數(shù)據(jù)集(大型圖片)的導(dǎo)入方式

2020-05-03 11:19牙疼_LG Python

今天小編就為大家分享一篇pytorch下大型數(shù)據(jù)集(大型圖片)的導(dǎo)入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

使用torch.utils.data.Dataset類(lèi) 處理圖片數(shù)據(jù)時(shí),

1. 我們需要定義三個(gè)基本的函數(shù),以下是基本流程

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class our_datasets(Data.Dataset):
 
  def __init__(self,root,is_resize=False,is_transfrom=False):
    #這里只是個(gè)參考。按自己需求寫(xiě)。
    self.root=root
    self.is_resize=is_resize
    self.is_transfrom=is_transfrom
 
    self.imgs_list=...#這里建議保存的是 圖片的路徑 而不是 圖片的數(shù)據(jù)
    self.labs_list=...
 
  def __getitem__(self, index):
 
    img_path,lab=self.imgs_list[index],self.labs_list[index]
    
    #這里使用PIL庫(kù)讀取圖片數(shù)據(jù).
    img_data = Image.open(img_path).convert('RGB')
 
    #這里看自己需要,可以不要
    if self.is_resize:
      img_data = img_data.resize((self.is_resize[0], self.is_resize[1]), Image.ANTIALIAS)
    
    #但是數(shù)據(jù)轉(zhuǎn)換建議加上,很多時(shí)候都會(huì)用到
    if self.is_transfrom:
      img_data=self.is_transfrom(img_data)
    return img_data,lab
 
  def __len__(self):
 
    return len(self.imgs_list)

這里,我將 讀取圖片 的步驟 放到 __getitem__ ,是因?yàn)?這樣放的話,對(duì)內(nèi)存的要求會(huì)降低很多,我們只是將數(shù)據(jù)的路徑導(dǎo)入了內(nèi)存中,當(dāng)需要讀取這個(gè)圖片數(shù)據(jù)時(shí),再讀取,這樣更像是隨用隨取。如果將這部分放到 __init__ 里面,會(huì)一次將 圖片數(shù)據(jù)都加載到 內(nèi)存中,如果數(shù)據(jù)量太大,會(huì)直接卡死。

2.Dataset 類(lèi) 返回的數(shù)據(jù) 類(lèi)型 是與你讀取時(shí)的類(lèi)型一致的。但是在 pytorch使用時(shí),會(huì)提示

?
1
TypeError: batch must contain tensors, numbers, dicts or lists; found <class 'PIL.Image.Image'>

通常,在數(shù)據(jù)了不大時(shí),我一般都是在 讀取數(shù)據(jù)后 加一句,轉(zhuǎn)換成 numpy.array類(lèi)型。

但是,在處理較大型的數(shù)據(jù)時(shí),這樣會(huì)很慢。

這時(shí)候,我建議 直接使用 torchvision來(lái)進(jìn)行數(shù)據(jù)轉(zhuǎn)換。

?
1
is_transfrom=torchvision.transforms.ToTensor()

將 上例代碼 加入 Dataset類(lèi)中,這樣就會(huì)快很多。

以上這篇pytorch下大型數(shù)據(jù)集(大型圖片)的導(dǎo)入方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/qq_36285997/article/details/82463959

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: adult video在线观看 | 女八把屁股扒开让男生添 | 高跟丝袜人妖sissy露出调教 | 亚洲国产成人99精品激情在线 | 亚洲精品tv久久久久久久久久 | 久久人妻少妇嫩草AV无码 | 99精品在线免费观看 | 色婷婷网 | 日b在线| 国内精品露脸在线视频播放 | 果冻传媒 天美 麻豆 | 四虎影视永久免费视频观看 | 欧美性色黄大片四虎影视 | 俺去啦最新地址 | 国产成人免费高清激情视频 | 丝袜爆操| 日本中文字幕高清 | www久久com| 国产一区二区不卡 | 亚洲品质自拍网站 | 亚洲福利电影一区二区? | 亚洲码和乱人伦中文一区 | 免费尤物视频 | 欧美色精品天天在线观看视频 | 草莓污污| 大象传媒短视频网站 | 色综合天天综合网站中国 | 无码人妻精品一区二区蜜桃在线看 | 性夜a爽黄爽| 忘忧草在线社区WWW日本-韩国 | 午夜dj免费视频观看社区 | 欧美一级级a在线观看 | 日本高清中文字幕视频在线 | 亚州中文字幕 | 国产成人精品第一区二区 | 亚洲高清国产品国语在线观看 | 免费国产成人高清视频网站 | 好湿好紧太硬了我好爽 | sxx免费看观看美女 sss亚洲国产欧美一区二区 | 91天堂一区二区 | 午夜精品久久久久久久99蜜桃i |