以前一开始觉得是cuda和cudnn安装错误致使的,因此重装了,可是后来发现重装也出错了。html
后来重装后的用了一会也出现了问题。肯定实际上是Tensorflow和pytorch冲突致使的,由于我发现当我同窗在0号GPU上运行程序我就会出问题。python
详见pytorch官方论坛:linux
https://discuss.pytorch.org/t/gpu-is-not-utilized-while-occur-runtimeerror-cuda-runtime-error-out-of-memory-at/34780ide
所以最好的方法就是运行的时候使用CUDA_VISIBLE_DEVICES限制一下使用的GPU。ui
好比有0,1,2,3号GPU,CUDA_VISIBLE_DEVICES=2,3,则当前进程的可见GPU只有物理上的二、3号GPU,此时它们的编号也对应变成了0、1,即cuda:0对应2号GPU,cuda:1对应3号GPU。spa
如何设置CUDA_VISIBLE_DEVICES:.net
① 使用python的os模块3d
import oshtm
os.environ['CUDA_VISIBLE_DEVICES']='2, 3'blog
②直接设置环境变量(linux系统)
export CUDA_VISIBLE_DEVICES=2,3
分割线~~~~~
猜想有多是cuda和cudnn安装错误致使的,决定重装。
卸载CUDA
https://blog.csdn.net/huang_owen/article/details/80811738
https://blog.csdn.net/u014561933/article/details/79968580
因为以前使用的是deb安装,
sudo apt-get autoremove --purge cuda
卸载后,进入/usr/local,发现还残留有cuda的文件夹,听说是cudnn,可是我好像没发现??
进入cuda-9.0
删除文件夹
从新安装cuda
此次使用.run进行安装
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
安装完成
以前已经在/etc/profile添加过环境变量了
而后也安装补丁
安装cudnn
https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installlinux
使用deb方式安装
并验证cudnn的安装是否成功
最后删掉该例程
最后解决了上述虚假报错的问题