以前一開始覺得是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的安裝是否成功
最後刪掉該例程
最後解決了上述虛假報錯的問題