關於模型訓練中一些顯存及cuda等配置的問題(ubuntu18.04+cuda10.0+cudnn7.6.0+tensorflow-gpu1.14.0)總結

一、CUDA, CUDNN安裝

       (1)顯卡驅動安裝

如果之前安裝過,需要先卸載之前的驅動:  sudo apt-get remove --purge nvidia*,然後再按下面的步驟進行。命令分別如下(方便進行復制粘貼):

sudo add-apt-repository ppa:graphics-drivers

sudo apt-get update

sudo apt-get install nvidia-410

注意最後一步建議不要使用默認安裝,即 sudo apt get install nvidia(這樣默認安裝的是最新版本,不一定與你需要的匹配),要在nvidia後面加上版本號,比如我在此安裝的是nvida-410,支持cuda10.0.

http://blog.leanote.com/post/[email protected]/Ubuntu%E5%AE%89%E8%A3%85%E6%98%BE%E5%8D%A1%E9%A9%B1%E5%8A%A8

https://zhuanlan.zhihu.com/p/36121045

     

       (2)CUDA安裝

          先下載安裝包:https://developer.nvidia.com/cuda-downloads,本人選擇的是在線安裝(網絡一定要好,否則有可能中途失敗),按照官方給的說明安裝即可       

$  wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin

$  sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600

$  sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

$  sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"

$  sudo apt-get update

$  sudo apt-get -y install cuda

默認安裝的是最新版本,如果需要指定版本,可以將最後一行代碼改成sudo apt-get -y install cuda-10.0(以安裝10.0爲例,改成自己想安裝的包就行)  

       (3)cudnn安裝

           一定要下載與cuda對應的安裝包,下載地址:https://developer.nvidia.com/rdp/cudnn-download

          解壓文件,cd到該目錄下,執行下列命令:         

$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

安裝完成後配置環境變量:

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

最後 source ~/.bashrc 讓其生效,這一步可能需要root權限,su root即可進入

也可參照https://blog.csdn.net/caicaiatnbu/article/details/87626491,中間有建立庫的軟鏈接, 軟鏈接的刪除方式:

rm -rf (之前通過ln建立的軟鏈接) eg: rm -rf libcudnn.so.7 libcudnn.so

       (4)cuda, cudnn查看版本

https://blog.csdn.net/baidu_32936911/article/details/79774289

           cat /usr/local/cuda/version.txt  (查看cuda版本)或者nvcc --version

           cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2       (查看cudnn版本)

       (5)cuda, cudnn卸載

cuda卸載https://blog.csdn.net/weixin_40294256/article/details/79173174

sudo apt-get remove cuda*

sudo apt-get remove --purge cuda*

sudo apt-get update

然後在目錄切換到/usr/local/下

cd /usr/local/

sudo rm -r cuda-10.1

cudnn卸載:https://blog.csdn.net/qq_15192373/article/details/81609077

  1. sudo rm -rf /usr/local/cuda/include/cudnn.h

  2. sudo rm -rf /usr/local/cuda/lib64/libcudnn*

二、模型訓練過程中的問題

(1)無法調用GPU,提示 could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR,暫時的解決方法是添加

os.environ['CUDA_VISIBLE_DEVICES']='-1',即使用cpu去訓練,爲提高訓練速度,可將batchsize改小一點。本質原因是版本不匹配,檢查顯卡驅動,cuda,cudnn及tensorflow-gpu版本之間的關係。

更新:後來版本安裝好後,重新提示同樣的錯誤,發現是顯卡設備號設置錯誤(本機是雙顯卡,但有一個無法調用),設置os.environ['CUDA_VISIBLE_DEVICES']='0'出現同樣的錯誤,設置成os.environ['CUDA_VISIBLE_DEVICES']='1'就好了。所以如果有多顯卡的朋友,如果發現出現類似的問題,不防從這兩個方面試下:第一,檢查版本是否匹配;第二,將所有的顯卡都試一遍。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章