caffe深度学习环境下ssd配置

电脑配置

系统:Ubuntu16.04 GPU:NVIDIA GTX1050Ti

安装步骤

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驱动

  去官网(https://www.nvidia.com/Download/index.aspx?lang=en-us)查看适合自己显卡的驱动,选择版本的时候一般以选择的CUDA版本为准,例如CUDA8.0最低要求驱动版本为375,酌情降低推荐的驱动版本;安装显卡驱动有多种方式,本文采用的方式是:

1)卸载之前安装的驱动版本:

sudo apt-get remove-–purge nvidia*

2)禁用ubuntu原有驱动nouveau:

sudo gedit /etc/modprobe.d/blacklist.conf

    文件末尾加入
   

blacklist nouveau

options nouveau modeset=0

            更新内核:

sudo update-initramfs -u

3)关闭图形界面:sudo service lightdm stop,进入纯文本界面(也可通过CTRL+ALT+F1/F2/F3……),输入用户名和密码登录;

4)命令行安装驱动:

   sudo add-apt-repository ppa:xorg-edgers/ppa

   sudo apt-get update

   sudo apt-get install nvidia-375 #注意在这里指定自己的驱动版本!

5)安装完成后重启,输入sudo nvidia-smi 查看结果

3.安装CUDA

  选择合适版本--官网下载(https://developer.nvidia.com/cuda-downloads),这里选择CUDA8.0

  1. sudo sh cuda_8.0.27_linux.run,开头是一长串使用协议说明会有一系列提示,当安装提示是否安装CUDA对应驱动版本是要选择no,其余默认即可;
  2. 配置环境变量:sudo gedit  ~/.bashrc

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

source  ~/.bashrc

3.     测试CUDA的例程序:进入/home下CUDA例程序包,目录为/samples/1_Utilities/deviceQuery

make

./deviceQuery输出一系列信息

4.安装cuDNN

  1. 官网(https://developer.nvidia.com/rdp/cudnn-download)下载cuDNN,要注册账号,本次下载cuDNN5.1 for CUDA 8.0,即cuDNNv5.1 Library for Linux

  2. 解压之后,安装步骤即把cuDNN拷贝进对应的CUDA目录,

cd cuDNN解压之后的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.安装opencv3.1

  1. Opencv官网下载安装压缩包,解压到/home目录下

  2. 在cmake之前要确保python的一些依赖包已安装,首先是pip,然后pip install protobuf, sudo apt-get install python-skimage

  3. sudo apt-get update
    
    sudo apt-get upgrade  
    
    sudo apt-get -y install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libjasper-dev libavcodec-dev libavformat-devlibswscale-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip --fix-missing
  1. cd ~/opencv 
    
    mkdir build
    
    cd build
cmake -D CMAKE_BUILD_TYPE=Release  -D CMAKE_INSTALL_PREFIX=/usr/local  ..

cmake过程中会有一个文件下载不下来,拷贝压缩包中文件到/home/whu-hk/opencv-3.1.0/3rdparty/ippicv/downloads/linux-…….目录下

文件名为ippicv_linux_20151201.tgz

3.Opencv3.1与CUDA8.0不兼容,

修改~/opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp文件

//#if !defined(HAVE_CUDA) || defined (CUDA_DISABLER)注释掉这一行,改成下面这行:

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

      4.make -j4(电脑核数),编译通过之后sudomake install

      5. exportOpenCV_DIR=~/opencv-3.1.0/build目录

    sudo /bin/bash -c'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'

    sudo ldconfig

6.测试是否安装成功:

    python

    >>>importcv2

    >>>cv2.__version__

    '3.1.0'

    >>>

6.配置ssd(ssd采用caffe嵌入的方式)

  1. sudo apt-get install git

git clone https://github.com/weiliu89/caffe.git

cd caffe

git checkout ssd检验是否是ssd分支

      2.修改Makefile.config(重要步骤)

cd ~/caffe

cp Makefile.config.example Make.config

gedit Makefile.config

#USE_CUDNN := 1取消注释

#OPENCV_VERSION := 3取消注释

#WITH_PYTHON_LAYER:=1 取消注释

将# Whatever else youfind 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

3)修改makefile文件

           NVCCFLAGS+=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)

      替换为:

NVCCFLAGS +=-D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

4)编辑/usr/local/cuda/include/host_config.h

将其中的第115行注释掉:

将#error-- unsupportedGNU version! gcc versions later than 4.9 are not supported!

改为//#error--unsupported GNU version! gcc versions later than 4.9 are notsupported!

5)mkdir build

     cd  build

    cmake ..

    make all -j4

    sudo make install

    make runtest

    make pycaffe

6)编译发生的错误

         "libcudart.so.8.0cannot open shared object file: No such file or directory"

  解决办法是将一些文件复制到/usr/local/lib文件夹下:

#注意自己CUDA的版本号!

sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0  /usr/local/lib/libcudart.so.8.0 && sudo ldconfig

sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0 && sudo ldconfig

sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0  /usr/local/lib/libcurand.so.8.0 && sudo ldconfig

7)sudo  gedit ~/.bashrc

      export  PYTHONPATH=$PYTHONPATH:~/caffe-ssd/python

      source ~/.bashrc

测试:终端下输入python

>>import caffe若无报错则安装正确

>>import cv2

>>cv2.__version__ 输出“3.1.0”则opencv安装正确

猜你喜欢

转载自blog.csdn.net/abc039510/article/details/79230582