欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pytorch中如何使用DataLoader對(duì)數(shù)據(jù)集進(jìn)行批處理的方法

 更新時(shí)間:2019年08月06日 10:14:54   作者:建森要健身  
這篇文章主要介紹了pytorch中如何使用DataLoader對(duì)數(shù)據(jù)集進(jìn)行批處理的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

最近搞了搞minist手寫(xiě)數(shù)據(jù)集的神經(jīng)網(wǎng)絡(luò)搭建,一個(gè)數(shù)據(jù)集里面很多個(gè)數(shù)據(jù),不能一次喂入,所以需要分成一小塊一小塊喂入搭建好的網(wǎng)絡(luò)。

pytorch中有很方便的dataloader函數(shù)來(lái)方便我們進(jìn)行批處理,做了簡(jiǎn)單的例子,過(guò)程很簡(jiǎn)單,就像把大象裝進(jìn)冰箱里一共需要幾步?

第一步:打開(kāi)冰箱門(mén)。

我們要?jiǎng)?chuàng)建torch能夠識(shí)別的數(shù)據(jù)集類(lèi)型(pytorch中也有很多現(xiàn)成的數(shù)據(jù)集類(lèi)型,以后再說(shuō))。

首先我們建立兩個(gè)向量X和Y,一個(gè)作為輸入的數(shù)據(jù),一個(gè)作為正確的結(jié)果:

隨后我們需要把X和Y組成一個(gè)完整的數(shù)據(jù)集,并轉(zhuǎn)化為pytorch能識(shí)別的數(shù)據(jù)集類(lèi)型:

我們來(lái)看一下這些數(shù)據(jù)的數(shù)據(jù)類(lèi)型:

可以看出我們把X和Y通過(guò)Data.TensorDataset() 這個(gè)函數(shù)拼裝成了一個(gè)數(shù)據(jù)集,數(shù)據(jù)集的類(lèi)型是【TensorDataset】。

好了,第一步結(jié)束了,冰箱門(mén)打開(kāi)了。

第二步:把大象裝進(jìn)去。

就是把上一步做成的數(shù)據(jù)集放入Data.DataLoader中,可以生成一個(gè)迭代器,從而我們可以方便的進(jìn)行批處理。

DataLoader中也有很多其他參數(shù):

  1. dataset:Dataset類(lèi)型,從其中加載數(shù)據(jù)
  2. batch_size:int,可選。每個(gè)batch加載多少樣本
  3. shuffle:bool,可選。為T(mén)rue時(shí)表示每個(gè)epoch都對(duì)數(shù)據(jù)進(jìn)行洗牌
  4. sampler:Sampler,可選。從數(shù)據(jù)集中采樣樣本的方法。
  5. num_workers:int,可選。加載數(shù)據(jù)時(shí)使用多少子進(jìn)程。默認(rèn)值為0,表示在主進(jìn)程中加載數(shù)據(jù)。
  6. collate_fn:callable,可選。
  7. pin_memory:bool,可選
  8. drop_last:bool,可選。True表示如果最后剩下不完全的batch,丟棄。False表示不丟棄。

好了,第二步結(jié)束了,大象裝進(jìn)去了。

第三步:把冰箱門(mén)關(guān)上。

好啦,現(xiàn)在我們就可以愉快的用我們上面定義好的迭代器進(jìn)行訓(xùn)練啦。

在這里我們利用print來(lái)模擬我們的訓(xùn)練過(guò)程,即我們?cè)谶@里對(duì)搭建好的網(wǎng)絡(luò)進(jìn)行喂入。

輸出的結(jié)果是:

可以看到,我們一共訓(xùn)練了所有的數(shù)據(jù)訓(xùn)練了5次。數(shù)據(jù)中一共10組,我們?cè)O(shè)置的mini-batch是3,即每一次我們訓(xùn)練網(wǎng)絡(luò)的時(shí)候喂入3組數(shù)據(jù),到了最后一次我們只有1組數(shù)據(jù)了,比mini-batch小,我們就僅輸出這一個(gè)。

此外,還可以利用python中的enumerate(),是對(duì)所有可以迭代的數(shù)據(jù)類(lèi)型(含有很多東西的list等等)進(jìn)行取操作的函數(shù),用法如下:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論