數據加載器,結合了數據集和取樣器,而且能夠提供多個線程處理數據集。在訓練模型時使用到此函數,用來把訓練數據分紅多個小組,此函數每次拋出一組數據。直至把全部的數據都拋出。就是作一個數據的初始化。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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。學習