本文紀錄了使用內顯來顯示畫面,而透過 Nvidia 顯卡來進行 CUDA 計算的安裝步驟。
顯卡設定
基礎設定
首先在 BIOS 裡設定內顯為主要顯卡,並且將螢幕接到內顯輸出上。
安裝 CUDA
接著到 CUDA 下載頁面下載對應的 deb 檔案。緊接著,重開 Ubuntu,並在登入畫面時按下 Ctrl-Alt-F1
進入命令列界面。
執行以下指令關閉 lightdm
,據這裡的講法,這樣就可以達成將內顯和顯卡功能分開的目的。筆者測試如果沒執行這個指令,則最後安裝完 CUDA 重開機就會無法進入圖形登入畫面。
sudo service lightdm stop
接著實際安裝 CUDA,並重新開機,確認可以登入:
sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
sudo apt update
sudo apt install cuda
sudo reboot
安裝 cuDNN
接著到 cuDNN 下載頁面下載 cuDNN v5,然後按照 TensorFlow 文件指示,將檔案複製到指定位置:
tar xvzf cudnn-8.0-linux-x64-v5.1-ga.tgz
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*
設定環境變數
接下來在 .bashrc
或者其他開機時會載入的啟動檔案中加入:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:/usr/lib/nvidia-367
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:/usr/local/cuda/bin
其中 /usr/lib/nvidia-367
可指到你實際安裝的顯卡驅動程式版本。
最後重新開機即可。
開機完可執行 nvidia-smi
確定顯卡真的有裝好。
安裝 TensorFlow
由於這部份跟官方文件一模一樣,沒有特別更改什麼。所以詳細安裝步驟就直接參考官方文件即可。
安裝 Caffe
由於安裝 Caffe 的步驟跟官方有些不一樣,故順便紀錄。
首先安裝需要的套件:
sudo apt install build-essential libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt install --no-install-recommends libboost-all-dev
這裡我用 OpenBLAS。
sudo apt install libopenblas-dev
接著修改 Makefile.config
:
BLAS := open
USE_CUDNN := 1
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu
WITH_PYTHON_LAYER := 1
並且修改 Makefile
,加入 hdf5 相關程式庫:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
同時在想用的 Python 環境裡安裝必要套件,利用 Caffe 資料夾裡的 python/requirements.txt
:
pip install -r requirements.txt
最後就可以編譯了:
make all
make pycaffe