1. 程式人生 > 程式設計 >python torch.utils.data.DataLoader使用方法

python torch.utils.data.DataLoader使用方法

PyTorch中資料讀取的一個重要介面是torch.utils.data.DataLoader,該介面定義在dataloader.py指令碼中,只要是用PyTorch來訓練模型基本都會用到該介面,該介面主要用來將自定義的資料讀取介面的輸出或者PyTorch已有的資料讀取介面的輸入按照batch size封裝成Tensor,後續只需要再包裝成Variable即可作為模型的輸入,因此該介面有點承上啟下的作用,比較重要。

資料載入器,結合了資料集和取樣器,並且可以提供多個執行緒處理資料集。

在訓練模型時使用到此函式,用來把訓練資料分成多個小組,此函式每次丟擲一組資料。直至把所有的資料都丟擲。就是做一個數據的初始化。

python torch.utils.data.DataLoader使用方法

生成迭代資料非常方便,請看如下示例:

"""
  批訓練,把資料變成一小批一小批資料進行訓練。
  DataLoader就是用來包裝所使用的資料,每次丟擲一批資料
"""
import torch
import torch.utils.data as Data

BATCH_SIZE = 5

x = torch.linspace(1,10,10)
y = torch.linspace(10,1,10)
# 把資料放在資料庫中
torch_dataset = Data.TensorDataset(x,y)
loader = Data.DataLoader(
  # 從資料庫中每次抽出batch size個樣本
  dataset=torch_dataset,batch_size=BATCH_SIZE,shuffle=True,num_workers=2,)


def show_batch():
  for epoch in range(3):
    for step,(batch_x,batch_y) in enumerate(loader):
      # training


      print("steop:{},batch_x:{},batch_y:{}".format(step,batch_x,batch_y))


if __name__ == '__main__':
  show_batch()

結果:

python torch.utils.data.DataLoader使用方法

我們來看一下變數型別:

python torch.utils.data.DataLoader使用方法

到此這篇關於python torch.utils.data.DataLoader使用方法的文章就介紹到這了,更多相關torch.utils.data.DataLoader內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!