(自用)Ubuntu16.04+cuda8.0+caffe配置及采坑

电脑配置

  • 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

猜你喜欢

转载自blog.csdn.net/lzl759552889/article/details/84573921
今日推荐