pytorch Dataloader 速度慢

1. 问题描述
Dataloader每读完一个batch中间会间隔2s左右,很浪费时间,而且确定不是由于Dataset的__getitem__()复杂导致的。并且有一个规律,如果设置num_works=4,会出现4个batch一批很快,然后中间又间隔2s,再4个batch很快,再间隔。。。设成其他>0(多线程)的值同样规律。

 

2. 解决办法
等。。。其他CPU或者内存占用很大的程序结束。
中间试过网上的prefetch,DataloaderX。基本没什么用。。。。

 

3. 原因
可能原因
发现很慢的时候top查看资源使用情况会发现有需要占用CPU很多的进程。。。。当这个进程结束后再跑同样的数据读入函数变快了。。。

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