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()

結果:

 

我們來看一下變量類型:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM