[Caffe] - No.2 ssd-caffe(1):编译、安装、测试

在这篇文章里面总结一下ssd-caffe的安装使用,测试以及如何使用自己的测试样本,CUDA和OpenCV的安装在这里不再介绍,实验环境Ubuntu16.04

1 . 安装并测试ssd-caffe

1.1 从git官网克隆ssd-caffe

 git clone https://github.com/weiliu89/caffe.git
 cd caffe
 git checkout ssd

1.2 编译安装caffe

caffe的编译安装建议参考caffe官网

  • 安装所有依赖:

    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

    如果编译过程提示BLAS无法使用可以安装OpenBLAS

  • 复制并修改Makefile.config

    cp Makefile.config.example Makefile.config
    gedit Makefile.config

    修改内容

    USE_CUDNN := 1   #使用cudnn加速,没有cudnn或者CPU运行则注释掉
    OPENCV_VERSION := 3 #opencv版本
    WITH_PYTHON_LAYER := 1 #使用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       
  • 还有一些在网上查阅到的修改,不知道具体的作用,可作参考:

    caffe根目录下的Makefile

    将:
    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

    更改/usr/local/cuda/include/host_config.h

    将
    
    #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!
  • 编译测试ssd

    
    # Make sure to include $CAFFE_ROOT/python to your PYTHONPATH.
    
    make -j8
    make py
    make test -j8
    
    # (Optional)
    
    make runtest -j8

    如果 runtest无法编译,尝试添加sudo ,可能你在cuda的安装过程中有些文件的权限遇到了问题

  • 添加PYTHONPATH
    gedit ~/.bashrc 在尾部添加如下内容

    export PYTHONPATH=/home/YOUR_NAME/caffe/python:$PYTHONPATH
  • 测试ssd

    可以直接测试以下两个命令,无需下载数据集:

    python examples/ssd/ssd_pascal_webcam.py #需摄像头
    python examples/ssd/ssd_pascal_video.py

猜你喜欢

转载自blog.csdn.net/tjuyanming/article/details/79269595