1. 程式人生 > >centos7搭建Cuda9.0 & Cudnn7.0.5 &Tensorflow1.6深度學習環境

centos7搭建Cuda9.0 & Cudnn7.0.5 &Tensorflow1.6深度學習環境

一、安裝centso7

  1. 將游標移動到Install Centos7後,按e編輯,出現啟動命令引數,修改第二行

    vmlinuz linux dd quiet

  2. ctrl + x 儲存執行,檢視包含centos7的u盤碟符
    這裡寫圖片描述

  3. 成功後重啟電腦,將游標移動到Install Centos7後,按e編輯,修改第二行

    vmlinux inst.stage2=hd:/dev/sdc4 quiet

    ctrl + x 儲存執行

  4. 自定義分割槽(因為磁碟大自己隨便定的)

    分割槽名稱 分割槽大小
    boot 500M
    boot/efi 500M
    var 50GB
    swap 記憶體大小的1-2倍
    home 使用者目錄隨意
    / # 剩餘磁碟的大小

二、安裝前配置

  1. 安裝與系統核心版本對應的kernel-devel、kernel-headers

    yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)

    執行上述之後檢視路徑/usr/src/kernels/,如果看到與當前核心版本對應的檔案,說明安裝成功。

    ls /usr/src/kernels/

  2. 禁用Nouveau元件

    echo -e “blacklist nouveau\noptions nouveau modeset=0” > /etc/modprobe.d/blacklist.conf
    reboot
    lsmod | grep nouveau # 如果沒有輸出即為已經遮蔽了Nouveau元件

  3. 安裝gcc

    yum install gcc

  4. 重新建立initramfs image檔案

    mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
    dracut /boot/initramfs-$(uname -r).img $(uname -r)

三、安裝顯示卡驅動、cuda9.0和cudnn7.0.5

安裝顯示卡驅動


  1. 去官網https://www.geforce.cn/drivers下載對應的顯示卡驅動
  2. 安裝

sudo chmod a+x NVIDIA-Linux-x86_64-390.77.run
sudo ./NVIDIA-Linux-x86_64-390.77.run -no-x-check -no-nouveau-check -no-opengl-files
# -no-opengl-files 表示只安裝驅動檔案,不安裝OpenGL檔案,這個引數最重要
# -no-x-check 安裝驅動時不檢查X服務
# -no-nouveau-check 安裝驅動時不檢查nouveau
nvidia-smi # 安裝完成後檢視GPU和驅動程式資訊

安裝cuda9.0
  1. 去官網https://developer.nvidia.com/cuda-toolkit-archive尋找對應的版本下載
  2. 下載完成後進入對應目錄

    sh cuda_9.0.176_384.81_linux.run

    按q跳過閱讀
    選擇接受

    Do you accept the previously read EULA?accept/decline/quit: accept

    是否自動安裝nvidia顯示卡驅動,選擇no

    Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.86?(y)es/(n)o/(q)uit: n

    剩下的全部都yes,看到以下輸出資訊說明安裝成功

    安裝成功

  3. 配置環境變數
    編輯~/.bashrc檔案

    vim ~/.bashrc
    #末尾新增以下內容
    export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

    編輯/etc/profile

    vim /etc/profile
    #末尾新增以下內容
    export PATH=$PATH:/usr/local/cuda/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
    export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64

    使配置檔案生效

    source /etc/profile

  4. 測試

    cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
    sudo make
    ./deviceQuery
    # 如果顯示的是關於GPU的資訊,則說明安裝成功了。

安裝cudnn7.0.5驅動
  1. 去官網https://developer.nvidia.com/rdp/cudnn-archive下載對應版本
  2. 安裝

    cp cudnn-9.0-linux-x64-v7.solitairetheme8 cudnn-9.0-linux-x64-v7.tgz
    tar -zxvf cudnn-9.0-linux-x64-v7.tgz
    cd cuda
    cp include/* /usr/local/cuda
    cp lib64/* /usr/local/cuda/lib64

  3. 檢視cudnn版本

    cat /usr/local/cuda/cudnn.h | grep CUDNN_MAJOR -A 2

    檢視cudnn版本

四、安裝TensorFlow

安裝pyenv

安裝好庫檔案

sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel git

安裝pyenv

mkdir ~/.pyenv
git clone git://github.com/yyuu/pyenv.git ~/.pyenv
echo ‘export PYENV_ROOT=”$HOME/.pyenv”’ >> ~/.bashrc
echo ‘export PATH=”$PYENV_ROOT/bin:$PATH”’ >> ~/.bashrc
echo ‘eval “$(pyenv init -)”’ >> ~/.bashrc
exec $SHELL -l

安裝pyenv-virtualenv(可以不裝,使用conda)

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo ‘eval “$(pyenv virtualenv-init -)”’ >> ~/.bash_profile
exec $SHELL

從清華映象源下載anaconda相應版本到~/.pyenv/cache

清華映象:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
pyenv install anaconda3-4.2.0 #執行安裝命令,對應python版本3.5

安裝tensorflow

tensorflow不能在pyenv virturalenv建立的虛擬環境下安裝
去官網下載tensorflow1.6版本的whl檔案,去到該目錄下pyenv切換到anaconda3-4.2.0然後執行

pip install –upgrade tensorflow_gpu-1.6.0-cp35-cp35m-manylinux1_x86_64.whl

發現報錯
這裡寫圖片描述
解決方案

pip install –ignore-installed –upgrade pip setuptools
pip install –upgrade tensorflow_gpu-1.6.0-cp35-cp35m-manylinux1_x86_64.whl

附上幾個conda常用命令

conda env list 或 conda info -e 檢視當前存在哪些虛擬環境
conda list 檢視安裝了哪些包
conda create -n your_env_name 建立虛擬環境
source activate your_env_name 啟用虛擬環境
conda install -n your_env_name [package] 給虛擬環境安裝包
conda remove -n your_env_name(虛擬環境名稱) –all 刪除虛擬環境
conda remove –name your_env_name package_name 刪除虛擬環境中某個包

參考

1.CentOS7.0安裝NVIDIA GTX1080Ti顯示卡驅動
https://blog.csdn.net/dechengtju/article/details/80146248
2.Ubuntu 16.04.4 配置 Nvidia顯示卡驅動 + CUDA 9.0 + cuDNN v7.0.5 + OpenCV 3.2.0
https://blog.csdn.net/pwb1994001/article/details/81119016
3.CentOS 7 下 Cuda & Tensorflow 環境搭建實踐
https://ruizhang1993.github.io/2017/04/21/CentOS-7-%E4%B8%8B-Cuda-Tensorflow-%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E5%AE%9E%E8%B7%B5/
4.tensorflow anaconda : pip install fails in newly created python 2.7 environment
https://github.com/tensorflow/tensorflow/issues/3324