我的cpu是i7,gpu是4090d,之前跑代码一直会蓝屏,按照网上的意见调低batch_size和num_workers。发现batch_size越低,cpu占用率越高,而gpu占用率百分之一都不到。
我的想法是batch_size调低,gpu处理一次batch就更加轻松,对下一个batch的需求就更加渴望,那么负责dataloader的cpu就会不停歇地处理和加载数据喂给gpu。所以干脆把batch_size拉到很高,让gpu处理一批数据的速度不要太快,那么cpu加载数据也就更加游刃有余。按照这个想法,果然cpu的占用率降了特别多,而且训练速度更快了。