python torch.utils.data.DataLoader使用方法
PyTorch中數(shù)據(jù)讀取的一個重要接口是torch.utils.data.DataLoader,該接口定義在dataloader.py腳本中,只要是用PyTorch來訓練模型基本都會用到該接口,該接口主要用來將自定義的數(shù)據(jù)讀取接口的輸出或者PyTorch已有的數(shù)據(jù)讀取接口的輸入按照batch size封裝成Tensor,后續(xù)只需要再包裝成Variable即可作為模型的輸入,因此該接口有點承上啟下的作用,比較重要。
數(shù)據(jù)加載器,結(jié)合了數(shù)據(jù)集和取樣器,并且可以提供多個線程處理數(shù)據(jù)集。
在訓練模型時使用到此函數(shù),用來把訓練數(shù)據(jù)分成多個小組,此函數(shù)每次拋出一組數(shù)據(jù)。直至把所有的數(shù)據(jù)都拋出。就是做一個數(shù)據(jù)的初始化。

生成迭代數(shù)據(jù)非常方便,請看如下示例:
"""
批訓練,把數(shù)據(jù)變成一小批一小批數(shù)據(jù)進行訓練。
DataLoader就是用來包裝所使用的數(shù)據(jù),每次拋出一批數(shù)據(jù)
"""
import torch
import torch.utils.data as Data
BATCH_SIZE = 5
x = torch.linspace(1, 10, 10)
y = torch.linspace(10, 1, 10)
# 把數(shù)據(jù)放在數(shù)據(jù)庫中
torch_dataset = Data.TensorDataset(x, y)
loader = Data.DataLoader(
# 從數(shù)據(jù)庫中每次抽出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()
結(jié)果:

我們來看一下變量類型:

到此這篇關于python torch.utils.data.DataLoader使用方法的文章就介紹到這了,更多相關torch.utils.data.DataLoader內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
使用anaconda安裝pytorch的實現(xiàn)步驟
這篇文章主要介紹了使用anaconda安裝pytorch的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
python for 循環(huán)獲取index索引的方法
今天小編就為大家分享一篇python for 循環(huán)獲取index索引的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02
利用Chatgpt開發(fā)一款加減乘除計算器(Python代碼實現(xiàn))
這篇文章主要為大家詳細介紹了如何利用Chatgpt開發(fā)一款加減乘除計算器(用Python代碼實現(xiàn)),文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2023-02-02
詳解如何使用pandas進行時間序列數(shù)據(jù)的周期轉(zhuǎn)換
時間序列數(shù)據(jù)是數(shù)據(jù)分析中經(jīng)常遇到的類型,為了更多的挖掘出數(shù)據(jù)內(nèi)部的信息,我們常常依據(jù)原始數(shù)據(jù)中的時間周期,將其轉(zhuǎn)換成不同跨度的周期,下面以模擬的K線數(shù)據(jù)為例,演示如何使用pandas來進行周期轉(zhuǎn)換,感興趣的朋友可以參考下2024-05-05
Python對Tornado請求與響應的數(shù)據(jù)處理
這篇文章主要介紹了Python對Tornado請求與響應的數(shù)據(jù)處理,需要的朋友可以參考下2020-02-02
從零開始學Python第八周:詳解網(wǎng)絡編程基礎(socket)
本篇文章主要介紹了從零開始學Python第八周:詳解網(wǎng)絡編程基礎(socket) ,具有一定的參考價值,有興趣的可以了解一下。2016-12-12

