在windowas上进行深度学习的时候,可能会出现GPU负载忽高忽低的现象,(突然98,突然50...)
这种情况很有可能是
读数据或者数据预处理的时间过长,读数据部分可以尝试把全部或者部分数据放在内存,也可以放固态上。
数据预处理部分有些变换是否可以固定,假如是图像数据,有些resize或者padding的操作是否可以离线处理好。
当然,适当调整dataloader读数据的线程数可能也会有帮助。
解决办法:
- 你应该将你的程序和数据放在固态上而不是机械上
- 你应该设置你的num_worker大一些,例如4,6,8....这样会加大你的内存的占用?
同时你需要注意的是:如果你使用num_worker>0,在windows上经常会出现很多的问题,所以建议你使用linux或者WSL来运行