校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Pytorch數(shù)據(jù)讀取之Dataset和DataLoader知識總結(jié)

Pytorch數(shù)據(jù)讀取之Dataset和DataLoader知識總結(jié)

熱門標(biāo)簽:開封自動外呼系統(tǒng)怎么收費(fèi) 手機(jī)網(wǎng)頁嵌入地圖標(biāo)注位置 開封語音外呼系統(tǒng)代理商 電銷機(jī)器人的風(fēng)險 應(yīng)電話機(jī)器人打電話違法嗎 天津電話機(jī)器人公司 400電話辦理哪種 地圖標(biāo)注線上如何操作 河北防封卡電銷卡

一、前言

確保安裝

  • scikit-image
  • numpy

二、Dataset

一個例子:

# 導(dǎo)入需要的包
import torch
import torch.utils.data.dataset as Dataset
import numpy as np
 
# 編造數(shù)據(jù)
Data = np.asarray([[1, 2], [3, 4],[5, 6], [7, 8]])
Label = np.asarray([[0], [1], [0], [2]])
# 數(shù)據(jù)[1,2],對應(yīng)的標(biāo)簽是[0],數(shù)據(jù)[3,4],對應(yīng)的標(biāo)簽是[1]
 
 
#創(chuàng)建子類
class subDataset(Dataset.Dataset):
    #初始化,定義數(shù)據(jù)內(nèi)容和標(biāo)簽
    def __init__(self, Data, Label):
        self.Data = Data
        self.Label = Label
    #返回數(shù)據(jù)集大小
    def __len__(self):
        return len(self.Data)
    #得到數(shù)據(jù)內(nèi)容和標(biāo)簽
    def __getitem__(self, index):
        data = torch.Tensor(self.Data[index])
        label = torch.IntTensor(self.Label[index])
        return data, label
 
# 主函數(shù)
if __name__ == '__main__':
    dataset = subDataset(Data, Label)
    print(dataset)
    print('dataset大小為:', dataset.__len__())
    print(dataset.__getitem__(0))
    print(dataset[0])

 輸出的結(jié)果

我們有了對Dataset的一個整體的把握,再來分析里面的細(xì)節(jié):

#創(chuàng)建子類
class subDataset(Dataset.Dataset):

創(chuàng)建子類時,繼承的時Dataset.Dataset,不是一個Dataset。因?yàn)镈ataset是module模塊,不是class類,所以需要調(diào)用module里的class才行,因此是Dataset.Dataset!

lengetitem這兩個函數(shù),前者給出數(shù)據(jù)集的大小**,后者是用于查找數(shù)據(jù)和標(biāo)簽。是最重要的兩個函數(shù),我們后續(xù)如果要對數(shù)據(jù)做一些操作基本上都是再這兩個函數(shù)的基礎(chǔ)上進(jìn)行。

三、DatasetLoader

DataLoader(dataset,
           batch_size=1,
           shuffle=False,
           sampler=None,
           batch_sampler=None,
           num_works=0,
           clollate_fn=None,
           pin_memory=False,
           drop_last=False,
           timeout=0,
           worker_init_fn=None,
           multiprocessing_context=None)

功能:構(gòu)建可迭代的數(shù)據(jù)裝載器;
dataset:Dataset類,決定數(shù)據(jù)從哪里讀取及如何讀取;數(shù)據(jù)集的路徑
batchsize:批大小;
num_works:是否多進(jìn)程讀取數(shù)據(jù);只對于CPU
shuffle:每個epoch是否打亂;
drop_last:當(dāng)樣本數(shù)不能被batchsize整除時,是否舍棄最后一批數(shù)據(jù);
Epoch:所有訓(xùn)練樣本都已輸入到模型中,稱為一個Epoch;
Iteration:一批樣本輸入到模型中,稱之為一個Iteration;
Batchsize:批大小,決定一個Epoch中有多少個Iteration;

還是舉一個實(shí)例:

import torch
import torch.utils.data.dataset as Dataset
import torch.utils.data.dataloader as DataLoader
import numpy as np
 
Data = np.asarray([[1, 2], [3, 4],[5, 6], [7, 8]])
Label = np.asarray([[0], [1], [0], [2]])
#創(chuàng)建子類
class subDataset(Dataset.Dataset):
    #初始化,定義數(shù)據(jù)內(nèi)容和標(biāo)簽
    def __init__(self, Data, Label):
        self.Data = Data
        self.Label = Label
    #返回數(shù)據(jù)集大小
    def __len__(self):
        return len(self.Data)
    #得到數(shù)據(jù)內(nèi)容和標(biāo)簽
    def __getitem__(self, index):
        data = torch.Tensor(self.Data[index])
        label = torch.IntTensor(self.Label[index])
        return data, label
 
if __name__ == '__main__':
    dataset = subDataset(Data, Label)
    print(dataset)
    print('dataset大小為:', dataset.__len__())
    print(dataset.__getitem__(0))
    print(dataset[0])
 
    #創(chuàng)建DataLoader迭代器,相當(dāng)于我們要先定義好前面說的Dataset,然后再用Dataloader來對數(shù)據(jù)進(jìn)行一些操作,比如是否需要打亂,則shuffle=True,是否需要多個進(jìn)程讀取數(shù)據(jù)num_workers=4,就是四個進(jìn)程
 
    dataloader = DataLoader.DataLoader(dataset,batch_size= 2, shuffle = False, num_workers= 4)
    for i, item in enumerate(dataloader): #可以用enumerate來提取出里面的數(shù)據(jù)
        print('i:', i)
        data, label = item #數(shù)據(jù)是一個元組
        print('data:', data)
        print('label:', label)

四、將Dataset數(shù)據(jù)和標(biāo)簽放在GPU上(代碼執(zhí)行順序出錯則會有bug)

這部分可以直接去看博客:Dataset和DataLoader

總結(jié)下來時有兩種方法解決

1.如果在創(chuàng)建Dataset的類時,定義__getitem__方法的時候,將數(shù)據(jù)轉(zhuǎn)變?yōu)镚PU類型。則需要將Dataloader里面的參數(shù)num_workers設(shè)置為0,因?yàn)檫@個參數(shù)是對于CPU而言的。如果數(shù)據(jù)改成了GPU,則只能單進(jìn)程。如果是在Dataloader的部分,先多個子進(jìn)程讀取,再轉(zhuǎn)變?yōu)镚PU,則num_wokers不用修改。就是上述__getitem__部分的代碼,移到Dataloader部分。

2.不過一般來講,數(shù)據(jù)集和標(biāo)簽不會像我們上述編輯的那么簡單。一般再kaggle上的標(biāo)簽都是存在CSV這種文件中。需要pandas的配合。

這個進(jìn)階可以看:WRITING CUSTOM DATASETS, DATALOADERS AND TRANSFORMS,他是用人臉圖片作為數(shù)據(jù)和人臉特征點(diǎn)作為標(biāo)簽。

到此這篇關(guān)于Pytorch數(shù)據(jù)讀取之Dataset和DataLoader知識總結(jié)的文章就介紹到這了,更多相關(guān)詳解Dataset和DataLoader內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Pytorch dataloader在加載最后一個batch時卡死的解決
  • pytorch鎖死在dataloader(訓(xùn)練時卡死)
  • Pytorch 如何加速Dataloader提升數(shù)據(jù)讀取速度
  • pytorch DataLoader的num_workers參數(shù)與設(shè)置大小詳解
  • 我對PyTorch dataloader里的shuffle=True的理解
  • pytorch中DataLoader()過程中遇到的一些問題

標(biāo)簽:六盤水 宿遷 常州 江蘇 山東 蘭州 駐馬店 成都

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Pytorch數(shù)據(jù)讀取之Dataset和DataLoader知識總結(jié)》,本文關(guān)鍵詞  Pytorch,數(shù)據(jù),讀,取之,Dataset,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Pytorch數(shù)據(jù)讀取之Dataset和DataLoader知識總結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Pytorch數(shù)據(jù)讀取之Dataset和DataLoader知識總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    一区二区三区在线观看国产| 怡红院av一区二区三区| 久久99精品久久只有精品| 亚洲国产精品成人综合色在线婷婷| 95精品视频在线| 麻豆91小视频| 亚洲自拍偷拍九九九| 久久影视一区二区| 在线亚洲一区观看| 国产成人综合在线| 日韩精品视频网站| 国产精品免费视频观看| 欧美精品一区二区三区四区| 欧美精品乱人伦久久久久久| 欧美在线综合视频| 在线免费av一区| 日本精品一区二区三区四区的功能| 国产成人夜色高潮福利影视| 久久99精品久久久久久动态图| 日本人妖一区二区| 日韩电影一区二区三区| 亚洲bt欧美bt精品777| 亚洲午夜一区二区| 午夜av电影一区| 麻豆一区二区99久久久久| 日韩av在线发布| 奇米精品一区二区三区在线观看 | 偷拍自拍另类欧美| 爽好久久久欧美精品| 日韩成人一级片| 免费久久精品视频| 黄色日韩网站视频| 国产v日产∨综合v精品视频| 成人黄色小视频| 91亚洲永久精品| 欧美日韩国产系列| 精品成人一区二区三区| 国产欧美精品日韩区二区麻豆天美| 国产精品久久久久永久免费观看 | 精品国产一区二区三区久久影院 | 免费观看一级特黄欧美大片| 免费亚洲电影在线| 成人免费视频免费观看| 91国产丝袜在线播放| 日韩欧美国产一区二区在线播放 | 蜜臀av一区二区在线观看| 国产成人午夜视频| 色综合天天狠狠| 精品欧美一区二区久久| 亚洲国产高清在线观看视频| 亚洲一区二区3| 国产精品一区一区三区| 在线看国产日韩| 久久久影院官网| 午夜免费久久看| 成人网页在线观看| 欧美一区二区福利在线| 国产精品久久久久一区二区三区共 | 日本乱码高清不卡字幕| 精品国产电影一区二区| 亚洲高清在线精品| 成人污视频在线观看| 日韩欧美一二区| 一区二区三区中文字幕精品精品| 精品无码三级在线观看视频 | 欧美性欧美巨大黑白大战| 精品国产制服丝袜高跟| 亚洲动漫第一页| 91在线精品一区二区三区| 精品国产青草久久久久福利| 性做久久久久久免费观看| 97se亚洲国产综合在线| 精品对白一区国产伦| 日本一不卡视频| 欧美日韩在线播放三区四区| 亚洲欧美视频在线观看| 成人一区在线看| 欧美极品xxx| 国产麻豆视频精品| 精品国产亚洲一区二区三区在线观看| 精品国产不卡一区二区三区| 亚洲综合一区在线| 久久久久久久久97黄色工厂| 日韩高清电影一区| 在线播放日韩导航| 午夜一区二区三区在线观看| 97久久精品人人做人人爽| 91精品国模一区二区三区| 777奇米成人网| 国产精品全国免费观看高清| 免费高清在线视频一区·| 欧美日韩国产乱码电影| 亚洲大片精品永久免费| 欧美丰满嫩嫩电影| 日韩avvvv在线播放| 欧美福利视频一区| 蜜臀va亚洲va欧美va天堂| 精品久久一二三区| 国产成人免费网站| 亚洲欧美日韩中文播放| 欧美午夜在线一二页| 美女视频一区二区| 久久久精品黄色| 91在线观看免费视频| 午夜欧美一区二区三区在线播放| 欧美精品亚洲二区| 国产一区二区在线免费观看| 中文字幕精品综合| 在线观看不卡视频| 久久99国产精品免费网站| 中文字幕精品一区二区精品绿巨人| 成年人网站91| 日韩在线一区二区| 国产欧美一区二区精品性色超碰| 91一区二区在线| 免费人成精品欧美精品| 国产网站一区二区| 欧美日韩免费观看一区二区三区| 人人超碰91尤物精品国产| 久久久www成人免费毛片麻豆 | 精品在线免费视频| 成人免费视频在线观看| 5566中文字幕一区二区电影| 成人av资源下载| 日本不卡中文字幕| 一区二区三区不卡视频| 欧美精品一区二区高清在线观看 | 欧美一卡2卡3卡4卡| 99精品国产热久久91蜜凸| 国内精品久久久久影院一蜜桃| 亚洲综合在线五月| 日本一区二区三区国色天香 | 成人av在线看| 久88久久88久久久| 日本亚洲视频在线| 洋洋av久久久久久久一区| 国产日韩精品一区| 亚洲精品在线一区二区| 欧美吞精做爰啪啪高潮| 成人黄色777网| 成av人片一区二区| 国产剧情av麻豆香蕉精品| 久久99久久久欧美国产| 蜜臀久久99精品久久久久宅男| 亚洲成人久久影院| 亚洲国产日韩av| 一区二区三区 在线观看视频| 国产精品免费免费| 国产精品久久三区| 国产精品动漫网站| 国产精品免费久久| 国产精品久久久久久久久果冻传媒| 久久美女艺术照精彩视频福利播放| 欧美一二三在线| 久久午夜色播影院免费高清| 精品国产免费人成电影在线观看四季| 欧美一区二区视频网站| 欧美一区二区久久| 日韩精品一区二区三区swag| 日韩美女天天操| 国产婷婷色一区二区三区| 2020国产精品自拍| 欧美国产一区二区在线观看| 国产日产欧美一区二区视频| 中文字幕一区二区三区四区| 亚洲欧洲精品天堂一级| 亚洲午夜激情网站| 麻豆视频观看网址久久| 国产一区二区三区电影在线观看 | 久久精品视频一区二区| 最新欧美精品一区二区三区| 亚洲影视在线观看| 色噜噜狠狠色综合欧洲selulu| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 久久精品免费在线观看| 亚洲少妇最新在线视频| 天天影视网天天综合色在线播放| 久久成人免费网站| 91在线视频官网| 91精品久久久久久久久99蜜臂| 久久这里只有精品6| 亚洲在线视频免费观看| 久久国产精品一区二区| 97久久人人超碰| 欧美一级国产精品| 亚洲三级免费观看| 美女视频网站久久| 欧美写真视频网站| 欧美国产成人在线| 蜜桃av一区二区| 在线观看精品一区| 中文字幕欧美激情一区| 视频一区二区三区中文字幕| 成人黄色网址在线观看| 欧美tickling挠脚心丨vk| 亚洲自拍偷拍网站| 97精品国产97久久久久久久久久久久| 欧美大片在线观看| 爽好多水快深点欧美视频| 91碰在线视频|