最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

class our_datasets(Data.Dataset):
 
  def __init__(self,root,is_resize=False,is_transfrom=False):
    #這里只是個參考。按自己需求寫。
    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)換建議加上,很多時候都會用到
    if self.is_transfrom:
      img_data=self.is_transfrom(img_data)
    return img_data,lab
 
  def __len__(self):
 
    return len(self.imgs_list)

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

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

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

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

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

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

is_transfrom=torchvision.transforms.ToTensor()

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

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

相關(guān)文章

  • python按照多個字符對字符串進(jìn)行分割的方法

    python按照多個字符對字符串進(jìn)行分割的方法

    這篇文章主要介紹了python按照多個字符對字符串進(jìn)行分割的方法,涉及Python中正則表達(dá)式匹配的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-03-03
  • 如何在pycharm中配置pyqt5設(shè)計GUI操作教程

    如何在pycharm中配置pyqt5設(shè)計GUI操作教程

    這篇文章主要介紹了如何在pycharm中配置pyqt5設(shè)計GUI的操作教程,有需要的朋友可以借鑒參考下,希望大家可以多多交流,討論相關(guān)問題共同提升
    2021-08-08
  • Python中利用函數(shù)裝飾器實現(xiàn)備忘功能

    Python中利用函數(shù)裝飾器實現(xiàn)備忘功能

    這篇文章主要介紹了Python中利用函數(shù)裝飾器實現(xiàn)備忘功能,同時還降到了利用裝飾器來檢查函數(shù)的遞歸、確保參數(shù)傳遞的正確,需要的朋友可以參考下
    2015-03-03
  • python數(shù)據(jù)解析之XPath詳解

    python數(shù)據(jù)解析之XPath詳解

    本篇文章主要介紹了python數(shù)據(jù)解析之xpath的基本使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-09-09
  • 給 TensorFlow 變量進(jìn)行賦值的方式

    給 TensorFlow 變量進(jìn)行賦值的方式

    今天小編就為大家分享一篇給 TensorFlow 變量進(jìn)行賦值的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python自動化測試工具Splinter簡介和使用實例

    Python自動化測試工具Splinter簡介和使用實例

    這篇文章主要介紹了Python自動化測試工具Splinter簡介和使用實例,Splinter可以非常棒的模擬瀏覽器的行為,Splinter提供了豐富的API,可以獲取頁面的信息判斷當(dāng)前的行為所產(chǎn)生的結(jié)果
    2014-05-05
  • NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析

    NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析

    這篇文章主要為大家介紹了NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • python中map的基本用法示例

    python中map的基本用法示例

    map函數(shù)的原型是map(function, iterable, …),它的返回結(jié)果是一個列表。下面這篇文章主要給大家介紹了關(guān)于python中map的基本用法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-09-09
  • Keras 使用 Lambda層詳解

    Keras 使用 Lambda層詳解

    這篇文章主要介紹了Keras 使用 Lambda層詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python中BeautifuSoup庫的用法使用詳解

    Python中BeautifuSoup庫的用法使用詳解

    這篇文章主要介紹了Python中BeautifuSoup庫的用法使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評論

定陶县| 昭通市| 富阳市| 临海市| 织金县| 新宁县| 望都县| 隆化县| 铜梁县| 昌图县| 得荣县| 福泉市| 卢龙县| 普宁市| 辉南县| 宝丰县| 东宁县| 驻马店市| 新余市| 墨玉县| 无锡市| 靖安县| 富顺县| 西昌市| 新邵县| 小金县| 乐亭县| 富裕县| 五河县| 调兵山市| 稷山县| 白沙| 库车县| 安丘市| 蛟河市| 盐源县| 星座| 福泉市| 柳林县| 金堂县| 吉木乃县|