1. 程式人生 > >centos7伺服器cuda9.0深度學習環境搭建筆記

centos7伺服器cuda9.0深度學習環境搭建筆記

硬體篇

在這裡插入圖片描述

NVIDIA驅動篇

首先是禁用nouveau

centos自帶的顯示卡驅動,這不是機器學習環境想要的驅動
  1. 在配置檔案中禁用nouveau
 vi /etc/modprobe.d/blacklist.conf 新增:blacklist nouveau
    CentOS 7:
     vim /usr/lib/modprobe.d/dist-blacklist.conf
    或
     vim /lib/modprobe.d/dist-blacklist.conf
     並且在加上blacklist nouveau之後還要加上一行options nouveau modeset=0
  1. 備份原來的 initramfs nouveau image映象
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img  
  1. 建立新的 initramfs image映象
dracut /boot/initramfs-$(uname -r).img $(uname -r)  

重新啟動機器後驅動禁用完成

下載NVIDIA驅動

檢測顯示卡驅動及型號

  ##新增ELPepo源
$ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
$ sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
  ##安裝NVIDIA驅動檢測
$ sudo yum install nvidia-detect
$ nvidia-detect -v
  • 檢查是否安裝了GPU:
   lspci | grep -i nvidia  
  • 然後去官網下載對應的NVIDIA驅動,runfile形式
  • 安裝gcc、g++編譯器
   yum install gcc    
   yum install gcc-c++
  • 安裝kernel-devel
    在這裡插入圖片描述
yum install kernel-devel kernel-headers

這裡可能要重啟一下才能生效
安裝完後可以通過nvdia-smi檢視顯示卡使用情況
在這裡插入圖片描述

cuda9.0

  • 之後去官網下載cuda9.0
    這裡一定要注意,並不是越新越好,比如tensorflow的最新的版本是基於cuda9.0安裝的。Cuda10沒有,cuda9.2只能使用舊版的tensorflow
  • 建議下載runfile版本的cuda。親測rpm的大坑。
    在這裡插入圖片描述在這裡插入圖片描述在這裡插入圖片描述
  • 安裝完成後會在/usr/local目錄下生成一個軟連線,cuda的路徑配置都用這個軟連線了。

設定全域性的path,這樣其他使用者也能享受到cuda

vim /etc/bashrc
#gpu driver 
export CUDA_HOME=/usr/local/cuda
export PATH=/usr/local/cuda/bin:$PATH 
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH 
export LD_LIBRARY_PATH="/usr/local/cuda/lib:${LD_LIBRARY_PATH}"

cudnn

  • 這個也要去官網下載對應cuda9.0的版本的cudnn
  • 然後解壓,把庫拷貝過去
tar -zxvf cudnn-9.0-linux-x64-v7.4.1.5.tgz
cd cuda
cp include/* /usr/local/cuda/include/
cp lib64/lib* /usr/local/cuda/lib64/

tensorflow

  • 這裡使用tensorflow測試cuda情況
  • 只安裝tensorflow-gpu版本,不安裝cpu版本,這樣若顯示卡呼叫失敗可以看到debug資訊
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

在這裡插入圖片描述