centos7伺服器cuda9.0深度學習環境搭建筆記
阿新 • • 發佈:2019-01-31
硬體篇
NVIDIA驅動篇
首先是禁用nouveau
centos自帶的顯示卡驅動,這不是機器學習環境想要的驅動- 在配置檔案中禁用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
- 備份原來的 initramfs nouveau image映象
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
- 建立新的 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())