分佈式深度學習環境配置,NVIDIA驅動+cuda+cudnn+docker

假設設備中已經安裝了python3.6

1.安裝NVIDIA驅動

   在Ubuntu的操作系統上,輸入

ubuntu-drivers devices

 查看推薦驅動

我的推薦是NVIDIA384,然後輸入

sudo ubuntu-drivers autoinstall

按推薦安裝。

之後輸入

nvidia-smi

彈出gpu信息即代表安裝成功

二,安裝cuda

   我安裝的是cuda9.0,所以我在我的文件夾下直接wget下載(不同的版本號可以根據自己的需求去官網下載)

    下載鏈接:https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb

    其實大家可以直接在linux下下載:

wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb

  然後逐步輸入(在下載cuda的文件下):

  1. sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
  2. sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
  3. sudo apt-get update
  4. sudo apt-get install cuda

然後配置環境變量:

  1. export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
  2. 如果是64位系統,輸入:
    export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
  3. 如果是32位系統,輸入:
    export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

然後我們輸入:

nvcc -V

 

出現上圖,恭喜你安裝成功,然後重啓

但是別高興太早,安裝cudnn之後可能cuda就會出現版本問題,後面講解決辦法

 三、cudnn安裝

同樣,我採用wget下載,下載鏈接:

https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.4.1.5/prod/9.0_20181108/cudnn-9.0-linux-x64-v7.4.1.5.tgz

 

wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.4.1.5/prod/9.0_20181108/cudnn-9.0-linux-x64-v7.4.1.5.tgz

然後:

tar -xzvf cudnn-9.0-linux-x64-v7.4.1.5.tar
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp -a cuda/lib64/libcudnn* /usr/local/cuda/lib64
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

出現:

則ok了。好,這時候看着已經ok了,但是有人可能就用分佈式tensorflow跑了一下,然後就報錯了,是cuda的錯誤。這是爲什麼呢?因爲我們把cuda給升級了。。。版本對不上了

解決方法:

1.sudo apt-get install cuda-9-0**   (強制將cudnn降到9.0版本)

2.sudo apt autoremove cuda        (移除高版本的cuda)

然後輸入  nvcc -V,結果會提示讓你安裝什麼,按提示安裝,這時候應該就好了。

然後重啓

四,可能出現的問題

1.因爲我們在安裝各種亂七八糟的東西時候,會是不是的用到apt-get update以及其他的,如下圖:

  解決方案:執行三中的紅色部分。

 2.跑分佈式tensorflow的時候可能會出現  內核已轉移的問題

  解決方案:cuda降版本,重啓(還是三中的紅字部分)

 3.tensorflow報錯

  解決方案,1.排查是否安裝tensorflow-gpu(我自己安裝的1.10版本)

                       是否安裝 依賴包,如scipy,mkl, numpy,

                    2.更新sudo apt-get update

                             sudo apt-get upgrade

                    3.更新完之後看看cuda,注意降版本

4.grpc錯誤

 解決方案:tensorflow.python.framework.errors_impl.UnknownError: Could not start gRPC server

五,測試代碼:

     分佈式tensorflow測試代碼

六、參考文獻:

Ubuntu16.04中cuDNN安裝教程

Linux安裝NVIDIA顯卡驅動的正確姿勢

ModuleNotFoundError: No module named 'gdbm'

Ubuntu怎樣安裝Python3.6Ubuntu + CUDA9.0 + tensorflow-gpu 安裝過程

Ubutu16.04+Cuda9.2/9.0+Cudnn7.12/7.05+TensorFlow-gpu-1.8/1.6

七、docker的安裝

 

1.安裝docker ce

    1.sudo apt-get update

     2.sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

    3.curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

   4.sudo apt-key fingerprint 0EBFCD88

    5.sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"

   6.sudo apt-get update

   7.sudo apt-get install docker-ce

2.安裝NIVEA-docker

    1.curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \ sudo apt-key add -

    2.curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    3.sudo apt-get update

    4.sudo apt-get install nvidia-docker2

    5.sudo pkill -SIGHUP dockerd

    6.docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi

    7.docker pull registry.docker-cn.com/ufoym/deepo

  3.測試安裝

     輸入   docker -v即可

     

    然後重啓

  4.可能出現的問題

      如果哪一步出現問題,先一步一步安裝完再說,然後有時候你就發現能竟然自己好了,哈哈哈哈哈哈哈,拜拜

    

 

  

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