电脑配置
- OS:Ubuntu16.04
- CPU:E5 2630 v4 (2.2GHz * 10)
- Memory:DDR4 2600 RECC 16G*4
- GPU:NVIDIA Titan XP *2
安装过程
-
1.安装相关依赖项
-
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install --no-install-recommends libboost-all-dev sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2.安装NVIDIA驱动
(1)查找并下载驱动
https://www.nvidia.com/Download/index.aspx?lang=cn 根据自己显卡型号查找对应驱动
(2)安装驱动
安装之前先卸载已经存在的驱动版本:
sudo apt-get remove --purge nvidia*
若电脑是集成显卡(NVIDIA独立显卡忽略此步骤),需要在安装之前禁止一项:
sudo service lightdm stop
执行以下指令安装驱动:
sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update
sudo apt-get install nvidia-367 #注意在这里指定自己的驱动版本!
安装完成之后输入以下指令进行验证:
sudo nvidia-smi
若列出了GPU的信息列表则表示驱动安装成功。
3.安装CUDA
CUDA是NVIDIA的编程语言平台,想使用GPU就必须要使用cuda。
(1)下载CUDA
https://developer.nvidia.com/cuda-toolkit-archive
当然是选择local的runfile啦
(2)安装CUDA
下载完成后执行以下命令:
sudo sh cuda_8.0.27_linux.run
注意:执行后会有一系列提示让你确认,但是注意,有个让你选择是否安装nvidia361驱动时,要选否:
(3)测试CUDA的sammples
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery
4.配置cuDNN
在nvidia官网注册账号并下载cudnn ,cuda8.0 推荐配cudnn5.1
https://developer.nvidia.com/rdp/cudnn-archive
下载之后进行解压,cd进入cuDNN5.1解压之后的include目录,在命令行进行如下操作
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
再将cd进入lib64目录下的动态文件进行复制和链接:
sudo cp lib* /usr/local/cuda/lib64/
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5
sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so
5.安装opencv
从opencv官网下载,opencv源码包 https://opencv.org/releases.html,推荐opencv3.4.4。
cd ~/opencv
mkdir build
cd build
配置:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
编译:
make -j20
安装:
sudo make install
6.配置caffe
- 将终端cd到要安装caffe的位置
- 从github上拉取caffe:
BVLC版:
git clone https://github.com/BVLC/caffe.git
MSRA版:
git clone https://github.com/Microsoft/caffe.git
- 因为make指令只能make Makefile.config文件,而Makefile.config.example是caffe给出的makefile例子,因此,首先将Makefile.config.example的内容复制到Makefile.config:
sudo cp Makefile.config.example Makefile.config
- 打开并修改配置文件:
sudo gedit Makefile.config #打开Makefile.config文件
根据个人情况修改文件:
a.若使用cudnn,则
将
#USE_CUDNN := 1
修改成:
USE_CUDNN := 1
b.若使用的opencv版本是3的,则
将
#OPENCV_VERSION := 3
修改为:
OPENCV_VERSION := 3
c.若要使用python来编写layer,则
将
#WITH_PYTHON_LAYER := 1
修改为
d. 重要的一项 :
将# Whatever else you find you need goes here.下面的
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
修改为:
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
这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径.
- 修改makefile文件
打开makefile文件,做如下修改:
将:
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
- 编辑/usr/local/cuda/include/host_config.h
将其中的第115行注释掉:
将
#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
改为
//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
- 编译
make all -j20 #根据自己电脑CPU的线程数来定啦
- 编译成功后可运行测试:
sudo make runtest -j20
- 编译pycaffe
sudo make pycaffe -j8