今天在运行程序的时候,一直跟我报这个错误,说我CUDA内存不足。调试了很久,最后发现竟然是这样·····
刚开始我怀疑是服务器上的显卡被人用了,但是当我mvidia-smi的时候发现3块GPU都没人用。。那这个问题显然是不可能了。那为何会这样呢?
又有人说是TensorFlow和Pytorch的版本冲突。???我并没有搞到TensorFlow啊
最后参考了该帖子:http://www.cnblogs.com/jisongxie/p/10276742.html
没错,我和这位博主一样,也是设置的用的是0号GPU,那么也就是说我的pytorch进程不知道为什么。只能看到物理上的2号GPU,我没有3号GPU。所以导致出错了?
于是我把代码进行了修改,让pytorch能看到服务器上所有的GPU:
os.environ['CUDA_VISIBLE_DEVICES]='0,1,2'
然后就在物理的0号GPU上愉快的跑了起来~~~