婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > pytorch鎖死在dataloader(訓練時卡死)

pytorch鎖死在dataloader(訓練時卡死)

熱門標簽:開封自動外呼系統怎么收費 天津電話機器人公司 400電話辦理哪種 電銷機器人的風險 應電話機器人打電話違法嗎 地圖標注線上如何操作 手機網頁嵌入地圖標注位置 開封語音外呼系統代理商 河北防封卡電銷卡

1.問題描述

2.解決方案

(1)Dataloader里面不用cv2.imread進行讀取圖片,用cv2.imread還會帶來一系列的不方便,比如不能結合torchvision進行數據增強,所以最好用PIL 里面的Image.open來讀圖片。(并不適用本例)

(2)將DataLoader 里面的參變量num_workers設置為0,但會導致數據的讀取很慢,拖慢整個模型的訓練。(并不適用本例)

(3)如果用了cv2.imread,不想改代碼的,那就加兩條語句,來關閉Opencv的多線程:cv2.setNumThreads(0)和cv2.ocl.setUseOpenCL(False)。加了這兩條語句之后,并不影響模型的訓練。(并不適用本例)

(4)這種情況應該是屬于pytorch多線程鎖死,在github上看到有該問題,但是沒有解決的。

參考建議

首先確保num_works數量低于CPU數量(如果使用Kubernetes,則設置為pod),但是設置得足夠高,使數據隨時可以用于下一次迭代。

如果GPU在t秒內運行每個迭代,而每個dataloader worker加載/處理單個批處理需要N*t秒,那么您應該將num_workers設置為至少N,以避免GPU停滯。當然,系統中至少要有N個cpu。

不幸的是,如果Dataloader使用任何使用K個線程的庫,那么生成的進程數量就會變成num_workersK = NK。這可能比計算機中的cpu數量大得多。這會使pod節流,而Dataloader會變得非常慢。這可能導致Dataloader不返回批處理每t秒,導致GPU暫停。

避免K個線程的一種方法是通過OMP_NUM_THREADS=1 MKL_NUM_THREADS=1 python train.py調用主腳本。這就限制了每個Dataloader工作程序只能使用一個線程,從而避免了使機器不堪重負。你仍然需要有足夠的num_workers來滿足GPU的需要。

您還應該在_get_item__中優化您的代碼,以便每個worker在較短的時間內完成其批處理。請確保worker完成批處理的時間不受從磁盤讀取訓練數據的時間(特別是當您從網絡存儲中讀取數據時)或網絡帶寬(當您從網絡磁盤讀取數據時)的影響。如果您的數據集很小,并且您有足夠的RAM,那么可以考慮將數據集移動到RAM(或/tmpfs)中,并從那里讀取數據以進行快速訪問。對于Kubernetes,您可以創建一個RAM磁盤(在Kubernetes中搜索emptyDir)。

如果你已經優化了你的_get_item__代碼,并確保磁盤訪問/網絡訪問不是罪魁禍首,但仍然會出現問題,你將需要請求更多的cpu(為了一個Kubernetes pod),或者將你的GPU移動到擁有更多cpu的機器上。

另一個選項是減少batch_size,這樣每個worker要做的工作就會減少,并且可以更快地完成預處理。后一種選擇在某些情況下是不可取的,因為會有空閑的GPU內存不被利用。

你也可以考慮離線做一些預處理,減輕每個worker的負擔。例如,如果每個worker正在讀取一個wav文件并計算音頻文件的譜圖,那么可以考慮離線預先計算譜圖,只從工作者的磁盤中讀取計算的譜圖。這將減少每個worker的工作量。

你也可以考慮將dataloader里的設置pin_memory=False。

補充:pytorch加載訓練數據集dataloader操作耗費時間太久,該如何解決?

筆者在使用pytorch加載訓練數據進行模型訓練的時候,發現數據加載需要耗費太多時間,該如何縮短數據加載的時間消耗呢?經過查詢相關文檔,

總結實際操作過程如下:

1、盡量將jpg等格式的文件保存為bmp文件,可以降低解碼時間;

2、dataloader函數中增加num_workers參數,該參數表示加載數據的線程數,建議設置為該系統中的CPU核心數,若CPU很強勁,而且內存很大,也可以考慮將該數值設置的更大一些。

train_loader=torch.utils.data.DataLoader(dataset=train_dataset,batch_size=batch_size,shuffle=True)

修改為:

train_loader=torch.utils.data.DataLoader(dataset=train_dataset,batch_size=batch_size,shuffle=True,num_workers=multiprocessing.cpu_count())

雖然使用dataloader達到了iter(Dataset)的讀取并行,但是沒有實現在GPU運算時異步讀取數據,可以考慮使用non_blocking實現。

dataloader = data.Dataloader(dataset, batch_size = batch_size, num_workers = workers)
for epoch in range(epochs):
    for batch_idx, (images, labels) in enumerate(dataloader):
        images = images.to(device)
        labels = labels.to(device)

改為:

dataloader = data.Dataloader(dataset, batch_size = batch_size, num_workers = workers, pin_memory = True)
for epoch in range(epochs):
    for batch_idx, (images, labels) in enumerate(dataloader):
        images = images.to(device, non_blocking=True)
        labels = labels.to(device, non_blocking=True)

需要注意的是:只有pin_memory=True并且num_workers>0時non_blocking才會有效。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • pytorch Dataset,DataLoader產生自定義的訓練數據案例
  • 解決Pytorch dataloader時報錯每個tensor維度不一樣的問題
  • pytorch中DataLoader()過程中遇到的一些問題
  • Pytorch dataloader在加載最后一個batch時卡死的解決
  • Pytorch 如何加速Dataloader提升數據讀取速度
  • pytorch DataLoader的num_workers參數與設置大小詳解
  • pytorch 實現多個Dataloader同時訓練

標簽:山東 駐馬店 成都 六盤水 江蘇 常州 宿遷 蘭州

巨人網絡通訊聲明:本文標題《pytorch鎖死在dataloader(訓練時卡死)》,本文關鍵詞  pytorch,鎖死,在,dataloader,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pytorch鎖死在dataloader(訓練時卡死)》相關的同類信息!
  • 本頁收集關于pytorch鎖死在dataloader(訓練時卡死)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久久99久久| 国产自产2019最新不卡| 中文字幕一区在线观看| 午夜免费久久看| 中文字幕一区av| 国产一区二区三区四| 欧洲国内综合视频| 欧美一级搡bbbb搡bbbb| 婷婷综合在线观看| 久久久久久久久岛国免费| 美国精品在线观看| 日韩欧美第一区| 五月婷婷综合激情| 亚洲欧美电影院| 成人毛片视频在线观看| 亚洲视频电影在线| 亚洲成人动漫在线免费观看| 国产精品99久| 日韩欧美一卡二卡| 亚洲精品欧美综合四区| 国产原创一区二区三区| 在线国产亚洲欧美| 久久久蜜桃精品| 国产日韩精品一区二区三区| 日本成人在线电影网| 99麻豆久久久国产精品免费| 亚洲精品一区二区三区四区高清| 久久精品视频免费| 亚洲精品在线免费播放| 亚洲bdsm女犯bdsm网站| 成人午夜激情视频| 精品三级av在线| 国产一区二区三区精品欧美日韩一区二区三区| 欧洲精品视频在线观看| 成人激情小说乱人伦| ww久久中文字幕| 日韩精品一级中文字幕精品视频免费观看 | 国产精品国产三级国产aⅴ中文| 久久久午夜精品| 日本久久精品电影| 亚洲一区二区偷拍精品| 亚洲国产视频直播| 欧美色中文字幕| 婷婷成人激情在线网| 国产.欧美.日韩| 欧美aaaaaa午夜精品| 久久成人综合网| 国内精品免费在线观看| 欧美一卡二卡在线观看| 中文字幕不卡在线播放| 91年精品国产| av亚洲精华国产精华精| 亚洲欧洲中文日韩久久av乱码| 欧美片在线播放| 麻豆91在线播放| 亚洲丝袜自拍清纯另类| 国产午夜亚洲精品理论片色戒 | 免费成人美女在线观看| 久久精品国产999大香线蕉| 国产精品福利一区二区| 久久久亚洲午夜电影| 久久国产日韩欧美精品| 国产成人免费在线观看| 91精品免费在线| 在线观看欧美日本| 青青草原综合久久大伊人精品| 国产精品不卡在线观看| 久久伊99综合婷婷久久伊| 欧美日韩夫妻久久| 成人av网站在线| 日韩高清不卡在线| 亚洲一二三级电影| 中文字幕在线免费不卡| 欧美一级高清大全免费观看| 99久久精品一区二区| 三级影片在线观看欧美日韩一区二区| 亚洲免费看黄网站| 国产精品久久久久精k8| 欧美第一区第二区| 欧美日韩黄色影视| 香蕉久久夜色精品国产使用方法| 国产亚洲一本大道中文在线| 91精品国产综合久久国产大片| 欧美日本一区二区三区四区| 国产综合色在线视频区| 色88888久久久久久影院按摩| 91尤物视频在线观看| 欧美日韩视频在线第一区| 制服丝袜亚洲精品中文字幕| 精东粉嫩av免费一区二区三区| 日韩黄色免费电影| 婷婷一区二区三区| 国产亚洲综合av| 日韩精品一区二区三区视频在线观看| 337p粉嫩大胆色噜噜噜噜亚洲 | 精品一区二区日韩| 色拍拍在线精品视频8848| 91麻豆国产香蕉久久精品| 91行情网站电视在线观看高清版| 国产一区二区三区免费播放| 国产精品911| 成人一区二区三区| 国产精品中文欧美| 国产成人精品影视| 99久久99久久精品国产片果冻| aa级大片欧美| 色婷婷久久一区二区三区麻豆| 99re这里只有精品6| 日本精品一区二区三区四区的功能| 蜜桃一区二区三区在线| 成人精品免费网站| 国产精品盗摄一区二区三区| 视频一区在线视频| 成人网在线播放| 日韩欧美激情在线| 欧美日韩高清一区二区不卡 | 91视视频在线直接观看在线看网页在线看 | 精品国产1区二区| 亚洲福中文字幕伊人影院| 国模一区二区三区白浆| 国产一二精品视频| 日韩三级在线观看| 国产无遮挡一区二区三区毛片日本| 久久久久久久久蜜桃| 久久久天堂av| 日韩成人精品在线观看| 国产高清久久久| 精品国产乱码久久久久久久 | 欧美激情综合在线| 中文字幕亚洲不卡| 亚洲成人中文在线| 欧美亚洲一区二区在线观看| 欧美精选午夜久久久乱码6080| 亚洲精品在线三区| 亚洲精品老司机| 日韩国产精品久久| 国产成a人亚洲| 在线成人免费视频| 日本一二三不卡| 天堂成人国产精品一区| 国产99久久久久久免费看农村| 欧美影片第一页| 精品久久久久久久久久久久包黑料| 亚洲国产成人在线| 亚洲成人av一区| 丁香六月综合激情| 日韩视频在线你懂得| 中文字幕一区日韩精品欧美| 日韩中文字幕不卡| 欧美亚洲国产怡红院影院| 亚洲欧洲av在线| 日本欧美一区二区三区乱码| 一本到不卡免费一区二区| 欧美三级三级三级爽爽爽| 一区二区三区在线影院| 欧美日韩一区二区三区免费看| 一级日本不卡的影视| 久久青草国产手机看片福利盒子 | 欧美男男青年gay1069videost| 91免费观看在线| 国产精品久久久久久久午夜片| 99国产精品久久久久久久久久| 午夜成人在线视频| 在线播放欧美女士性生活| 激情五月婷婷综合| 欧美一区二区三区的| 粗大黑人巨茎大战欧美成人| 日本一区二区三区国色天香| 国产麻豆精品视频| 中文乱码免费一区二区| 国产原创一区二区三区| 51久久夜色精品国产麻豆| 美女www一区二区| 欧美激情一二三区| 欧美在线不卡一区| 亚洲精品中文在线观看| 91啪亚洲精品| 国产一二精品视频| 丝袜亚洲另类欧美| 久久久久久久久久久黄色| 欧美日韩在线三区| 午夜在线成人av| 中文字幕精品一区二区精品绿巨人| 成人三级在线视频| 亚洲精品免费在线观看| 欧美色图免费看| 日本v片在线高清不卡在线观看| 在线免费观看视频一区| 久久精品99国产精品| 在线不卡的av| 狠狠v欧美v日韩v亚洲ⅴ| 国产色婷婷亚洲99精品小说| 欧美视频第二页| 99久久免费视频.com| 欧美va天堂va视频va在线| 色婷婷综合久久| 亚洲欧美日韩在线| 91久久精品一区二区三区| 欧美日本在线一区| 亚洲精品在线电影|