亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時(shí)間:2020年01月08日 15:00:51   作者:牙疼_LG  
今天小編就為大家分享一篇pytorch下大型數(shù)據(jù)集(大型圖片)的導(dǎo)入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

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

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

class our_datasets(Data.Dataset):
 
  def __init__(self,root,is_resize=False,is_transfrom=False):
    #這里只是個(gè)參考。按自己需求寫。
    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庫讀取圖片數(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 類 返回的數(shù)據(jù) 類型 是與你讀取時(shí)的類型一致的。但是在 pytorch使用時(shí),會(huì)提示

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

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

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

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

is_transfrom=torchvision.transforms.ToTensor()

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

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

相關(guān)文章

  • python批量壓縮圖像的完整步驟

    python批量壓縮圖像的完整步驟

    本文分享的內(nèi)容來源于一次做項(xiàng)目的經(jīng)驗(yàn),也就是從那之后才體會(huì)到了python強(qiáng)大的文件批處理能力,這篇文章主要給大家介紹了關(guān)于python批量壓縮圖像的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • win10下tensorflow和matplotlib安裝教程

    win10下tensorflow和matplotlib安裝教程

    這篇文章主要為大家詳細(xì)介紹了win10下tensorflow和matplotlib安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • 通過實(shí)例解析Python調(diào)用json模塊

    通過實(shí)例解析Python調(diào)用json模塊

    這篇文章主要介紹了通過實(shí)例解析Python調(diào)用json模塊,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • python中.format()方法使用詳解

    python中.format()方法使用詳解

    這篇文章主要介紹了python中.format()方法使用詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • Python的五個(gè)標(biāo)準(zhǔn)數(shù)據(jù)類型你認(rèn)識(shí)幾個(gè)

    Python的五個(gè)標(biāo)準(zhǔn)數(shù)據(jù)類型你認(rèn)識(shí)幾個(gè)

    這篇文章主要為大家詳細(xì)介紹了Python標(biāo)準(zhǔn)數(shù)據(jù)類型,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Python編程之基于概率論的分類方法:樸素貝葉斯

    Python編程之基于概率論的分類方法:樸素貝葉斯

    這篇文章主要介紹了Python編程之基于概率論的分類方法:樸素貝葉斯,簡單介紹了其概述,貝葉斯理論和條件概率,以及樸素貝葉斯的原理等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • python發(fā)送郵件的實(shí)例代碼(支持html、圖片、附件)

    python發(fā)送郵件的實(shí)例代碼(支持html、圖片、附件)

    python發(fā)送郵件的一些例子,有需要的朋友可以參考下
    2013-03-03
  • django列表篩選功能的實(shí)現(xiàn)代碼

    django列表篩選功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了django列表篩選功能的實(shí)現(xiàn)代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python實(shí)現(xiàn)決策樹分類

    python實(shí)現(xiàn)決策樹分類

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)決策樹分類的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • python rsa 加密解密

    python rsa 加密解密

    本篇文章主要介紹了python rsa加密解密 (編解碼,base64編解碼)的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-03-03

最新評(píng)論