2. 调小bach_size当然,这个方法是可以让程序跑起来但是看看GPU利用率吧,单张卡显存跑不满GPU利用率也很低
由于在docker镜像中默认限制了shm(shared memory),然而数据处理时pythorch则使用了shm。这就导致了茬运行多线程时会将超出限制的DataLoader并直接被kill掉
num_worker设置得大,好处是寻batch速度快因为下一轮迭代的batch很可能在上一轮/上上一轮…迭代时已经加载恏了。
坏处是内存开销大也加重了CPU负担(worker加载数据到RAM的进程是CPU复制的嘛)。
num_workers的经验设置值是自己电脑/服务器的CPU核心数如果CPU很强、RAM也很充足,就可以设置得更大些
[PS] 注意这里的 --shm-size 8G 其大小可以根据个人电脑的配置设置适合自己的大小