雪花台湾

Install Caffe on Ubuntu 16.04 with GPU/CPU

寫在前面:這裡我們使用的原版的Caffe, 其他breach在編譯時可能會出現錯誤

  1. Install with CPU

sudo apt update
sudo apt upgrade
sudo apt install -y build-essential cmake git pkg-config
sudo apt install -y libprotobuf-dev libleveldb-dev libsnappy-dev
libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt install -y --no-install-recommends libboost-all-dev
# 如果使用 OpenBlas 代替默認的 ATLAS的話,
# 需要將 libatlas-base-dev 改為 libopenblas-dev
sudo apt install -y libatlas-base-dev
sudo apt install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt install -y python-pip python-dev python-numpy python-scipy

cd ~/
git clone https://github.com/BVLC/caffe.git
cd caffe/
cp Makefile.config.example Makefile.config
vim Makefile.config

取消注釋

CPU_ONLY := 1

WITH_PYTHON_LAYER := 1

如果使用 OpenBlas 代替默認的 ATLAS的話,則修改

BLAS := open

並運行以下命令(使用 OpenBlas 的情況下)

echo export OPENBLAS_NUM_THREADS=4 >> ~/.bashrc

修改

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 /usr/lib/x86_64-linux-gnu/hdf5/serial

cd python
sudo -H pip2 install -r requirements.txt

cd ..
make all -j $(($(nproc) + 1))
make test
make runtest
make pycaffe
make distribute
# user 是你的用戶名
echo export PYTHONPATH=/home/user/caffe/python:$PYTHONPATH >> ~/.bashrc

# 重啟終端
python
>>>import caffe
>>> # 沒報錯就成功了

如果選擇 CPU 安裝的話,最好使用 OpenBlas 代替默認的 ATLAS,因為 OpenBlas 對 CPU 多線程支持很好,能加快一點速度算一點吧。

2. Install with GPU (NVIDIA)

sudo apt update
sudo apt upgrade
sudo apt install -y build-essential cmake git pkg-config
sudo apt install -y libprotobuf-dev libleveldb-dev libsnappy-dev
libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt install -y --no-install-recommends libboost-all-dev
# 如果使用 OpenBlas 代替默認的 ATLAS的話,
# 需要將 libatlas-base-dev 改為 libopenblas-dev
sudo apt install -y libatlas-base-dev
sudo apt install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt install -y python-pip python-dev python-numpy python-scipy

sudo dpkg -i cuda-repo-ubuntu1604-8-0-rc_8.0.27-1_amd64.deb
sudo apt update
sudo apt install cuda
sudo apt install cuda-drivers

cd /usr/local/cuda-8.0/samples/
sudo make all -j $(($(nproc) + 1))

# 查看 GPU 計算能力 (capability)
./1_Utilities/deviceQuery/deviceQuery

下圖是我查看 GPU 計算性能後的輸出結果

# 到 cuDNN v5.1 Library for Linux 下載後存放的目錄,打開終端
tar -xzvf cudnn-8.0-linux-x64-v5.1.tgz
sudo cp cuda/lib64/lib* /usr/local/cuda-8.0/lib64/
sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include/
echo export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH >> ~/.bashrc

cd python
sudo -H pip2 install -r requirements.txt

去掉注釋

USE_CUDNN := 1

WITH_PYTHON_LAYER := 1

修改

CUDA_DIR := /usr/local/cuda-8.0

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 /usr/lib/x86_64-linux-gnu/hdf5/serial

cd ..
make all -j $(($(nproc) + 1))
make test
make runtest
make pycaffe
make distribute
# user 是你的用戶名
echo export PYTHONPATH=/home/user/caffe/python:$PYTHONPATH >> ~/.bashrc

# 重啟終端
python
>>>import caffe
>>> # 沒報錯就成功了

3. GPU (AMD)

推薦閱讀:

相关文章