日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PyTorch 之 DataLoader

發布時間:2025/4/16 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PyTorch 之 DataLoader 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

DataLoader

DataLoader 是 PyTorch 中讀取數據的一個重要接口,該接口定義在 dataloader.py 文件中,該接口的目的: 將自定義的 Dataset 根據 batch size 的大小、是否 shuffle 等封裝成一個 batch size 大小的 Tensor,用于后面的訓練。

通過 DataLoader,使得我們在準備 mini-batch 時可以多線程并行處理,這樣可以加快準備數據的速度。

DataLoader 是一個高效、簡潔、直觀地網絡輸入數據結構,便于使用和擴展

  • DataLoader 本質是一個可迭代對象,使用 iter() 訪問,不能使用 next() 訪問
  • 使用 iter(dataloader) 返回的是一個迭代器,然后使用 next() 訪問
  • 也可以使用 for features, targets in dataloaders 進行可迭代對象的訪問
  • 一般我們實現一個 datasets 對象,傳入到 DataLoader 中,然后內部使用 yield 返回每一次 batch 的數據

DataLoader(object) 的部分參數:

# 傳入的數據集 dataset(Dataset)# 每個 batch 有多少個樣本 batch_size(int, optional)# 在每個 epoch 開始的時候,對數據進行重新排序 shuffle(bool, optional)# 自定義從數據集中抽取樣本的策略,如果指定這個參數,那么 shuffle 必須為 False sampler(Sampler, optional)# 與 sampler 類似,但是一次只返回一個 batch 的 indices(索引),如果指定這個參數,那么 batch_size, shuffle, sampler, drop_last 就不能再指定了 batch_sampler(Sampler, optional)# 這個參數決定有多少進程處理數據加載,0 意味著所有數據都會被加載到主進程,默認為0 num_workers(int, optional)# 如果設置為 True,則最后不足batch_size大小的數據會被丟棄,比如batch_size=64, 而一個epoch只有100個樣本,則最后36個會被丟棄;如果設置為False,則最后的batch_size會小一點 drop_last(bool, optional)

Reference:

  • pytorch之dataloader深入剖析
  • 轉載于:https://www.cnblogs.com/xxxxxxxxx/p/11428770.html

    總結

    以上是生活随笔為你收集整理的PyTorch 之 DataLoader的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。