pytorch Dataloader 速度慢

1. 問題描述
Dataloader每讀完一個batch中間會間隔2s左右,很浪費時間,而且確定不是由於Dataset的__getitem__()複雜導致的。並且有一個規律,如果設置num_works=4,會出現4個batch一批很快,然後中間又間隔2s,再4個batch很快,再間隔。。。設成其他>0(多線程)的值同樣規律。

 

2. 解決辦法
等。。。其他CPU或者內存佔用很大的程序結束。
中間試過網上的prefetch,DataloaderX。基本沒什麼用。。。。

 

3. 原因
可能原因
發現很慢的時候top查看資源使用情況會發現有需要佔用CPU很多的進程。。。。當這個進程結束後再跑同樣的數據讀入函數變快了。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章