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

生成迭代數(shù)據(jù)非常方便,請(qǐng)看如下示例:
"""
批訓(xùn)練,把數(shù)據(jù)變成一小批一小批數(shù)據(jù)進(jìn)行訓(xùn)練。
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個(gè)樣本
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é)果:

我們來看一下變量類型:

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

