torch.utils.data.DataLoader()

數據加載器,結合了數據集和取樣器,而且能夠提供多個線程處理數據集。在訓練模型時使用到此函數,用來把訓練數據分紅多個小組,此函數每次拋出一組數據。直至把全部的數據都拋出。就是作一個數據的初始化。python

生成迭代數據很是方便,請看以下示例:數據庫

"""
    批訓練,把數據變成一小批一小批數據進行訓練。
    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()

結果:編程

咱們來看一下變量類型:機器學習

 

承接Matlab、Python和C++的編程,機器學習、計算機視覺的理論實現及輔導,本科和碩士的都可,鹹魚交易,詳談請聯繫QQ號757160542函數

本文同步分享在 博客「於小勇」(CSDN)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。學習

相關文章
相關標籤/搜索