ubuntu16.04 cuda8/9切换 opencv安装 caffe安装

ubuntu16.04 cuda8/9切换 opencv安装 caffe安装

  • 1.NVIDIA显卡驱动安装
  • 2.cuda8.0/9.1安装
  • 3.安装cudnn
  • 4.cuda版本切换
  • 5.安装opencv
  • 6.安装caffe
  • 7.写在最后

安装caffe之前需要安装很多依赖,首先安装系统依赖:

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev

sudo apt-get install 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

sudo apt-get install git cmake build-essential

下面进行cuda的安装:

1.NVIDIA显卡驱动安装

按照Ubuntu16.04安装NVIDIA显卡驱动安装教程进行即可。

2.cuda8.0/9.1安装

进入 官网 下载相应cuda版本,以cuda_8.0.61_375.26_linux.run为例。打开终端,运行如下指令:

sudo sh cuda_8.0.61_375.26_linux.run --no-opengl-libs

然后稍等片刻,提示当前信息为0%,按住enter键知道信息为100%,此时提示
Do you accept the previously read EULA?
输入accept;
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
由于按照第一步已经安装了驱动,此时输入n
Install the CUDA 8.0 Toolkit?
输入y
Do you want to install a symbolic link at /usr/local/cuda?
输入y
即可安装结束。

3.安装cudnn

进官网下载相应版本,解压后得到名为cuda文件夹,包括include和lib。进入include执行:

sudo cp cudnn.h /usr/local/cuda/include/

进入lib执行:

sudo cp lib* /usr/local/cuda/lib64/ #复制所有库到usr内
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7 #删除原有库软链接
sudo ln -s libcudnn.so.7.1.10 libcudnn.so.7 #生成新软衔接
sudo ln -s libcudnn.so.7 libcudnn.so #生成新软链接

至此cuda安装结束,按照上述方法安装cuda9.1。
此时系统内存在两个cuda版本,可以在/usr/local下看到3个文件夹,分别为cuda,cuda-8.0,cuda-9.1。其中cuda文件夹是个软链接,查看它的属性即可知道目前它链接的版本,或者运行命令:

cat /usr/local/cuda/version.txt

也可以看到相关信息。

4.cuda版本切换

下载cuda.sh文件,运行如下指令,即可进行cuda版本切换:

sudo sh cuda.sh 9 1 切换成9.1版本
sudo sh cuda.sh 8 0 切换成8.0版本

5.安装opencv

进官网下载安装包后解压,以opencv3.0.0为例:进入解压目录,修改/modules/cudalegacy/src/graphcuts.cpp第45行:

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
改为
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION>=8000)

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j
sudo make install

当然,不同版本问题不一样,欢迎交流。

6.安装caffe

进官网下载caffe源码,复制Makefile.config.example 文件该名为 Makefile.config,在caffe目录下打开该文件进行修改:

gedit Makefile.config

1)开启cudnn

去掉 #USE_CUDNN := 1 前面的#号,即取消注释

2)开启opencv

去掉 #OPENCV_VERSION := 3 前面的#号

3)开启python接口

去掉 #WITH_PYTHON_LAYER := 1 前面的#号

4)修改python路径

将头文件目录和库目录
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

接着修改Makefile文件:

将NVCCFLAGS标志位改为
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
改成:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

依赖库修改:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改为:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

这样就可以进行编译了,执行:

make -j

到此caffe配置结束。

7.写在最后

opencv和caffe在编译过程中都会遇到很多问题,主要是由于版本不一样,所依赖的库就不一样。后续在用caffe进行训练过程中,可以debug caffe中的每一句话,对于理解整个caffe框架都很有帮助。编译出现任何问题都可以在下留言哦,笔者该踩的坑都踩了。

你可能感兴趣的:(深度学习)