记录一下,在利用GPU训练maskRCNN 过程中遇到的一个小问题,
CUDA:out of memory
这个问题主要是由于GPU上显存不够引起的,由于我在服务器上跑的,因为有其他人同时在用这块GPU,所以导致显存不够.
首先查看GPU的运行情况,linux系统,在终端输入:
watch -n 0.2 nvidia-smi
window系统,在文件夹C:\Program Files\NVIDIA Corporation\NVSMI里找到文件nvidia-smi.exe,把该文件拖到命令提示符窗口(win+R,再输入‘CMD’进入),就可以显示关于GPU的信息。
可以查看GPU的运行情况:
可以看到这里有6块GPU,一开始我用的是第0块,导致这块GPU内存使用率很高,所以我将我的运算转移到第1块上,通过在我的代码中加入:
import os
os.environ["CUDA_VISIBLE_DEVICES"] = “1”
如果想同时使用多块GPU,可以这样写:
import os
os.environ["CUDA_VISIBLE_DEVICES"] = “1,2”
也可以通过下面语句来制定GPU:
torch.cuda.set_device(1)