解决“RuntimeError: CUDA out of memory.”
1.可以在终端里面使用python进入python环境
>>>import torch
>>>torch.cuda.empty_cache()
2.使用nvidia-smi查看gpu使用进程,找到进程的名字,使用sudo pkill python去杀死他
3.减少batch size的大小,最好是8的倍数,4应该也可以
在这里我介绍三种方法,但是往往第三种解决的几率比较大。
但是推荐使用前两种,因为第三种方法会破坏模型的预期效果,影响训练的准确率。具体batch size的大小影响简单说一下:
1.batch_size设的大一些,收敛得快,也就是需要训练的次数少,准确率上升的也很稳定,但是实际使用起来精度不高;
2.batch_size设的小一些,收敛得慢,可能准确率来回震荡,因此需要把基础学习速率降低一些,但是实际使用起来精度较高。