Install Caffe on Ubuntu 16.04 with GPU/CPU
写在前面:这里我们使用的原版的Caffe, 其他breach在编译时可能会出现错误
- 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
- 安装 make pycaffe 所需的库
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)
- 进入 BIOS,将 Secure Boot 改为 Disabled
- 下载 cuda8 https://developer.nvidia.com/cuda-release-candidate-download
- 下载 cuDNN v5.1 Library for Linux https://developer.nvidia.com/rdp/cudnn-download ,对于想使用 cuDNN 加速的同学,首先得确保你的 GPU 计算能力 (capability) 大于 3.0(注意:这里如果要是使用caffe的其他分支,需要尝试不同版本的cuDNN, 我在运行train crfasrnn 时使用的是cuDNN v2.0)
- 安装依赖库,和 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
- 在 Software & Updates 中将 Additional Drivers 下的 NVIDIA Corporation 改为 Using NVIDIA binary driver…(proprietary, tested)
- 安装 CUDA
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 计算能力 (capability) 大于 3.0,那么就可以使用 cuDNN 加速,否则跳过安装 cuDNN这一步
- 安装 cuDNN
# 到 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
- 安装 make pycaffe 所需依赖
cd python
sudo -H pip2 install -r requirements.txt
- 修改 Makefile.config
去掉注释
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)
- BVLC/caffe
- amd/OpenCL-caffe
推荐阅读: