mscnn

Install

  • 从github下载mscnn工程

  • 如果git clone出现

    正克隆到 'mscnn'...
    remote: Counting objects: 1120, done.
    error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated.
    fatal: The remote end hung up unexpectedly
    fatal: 过早的文件结束符(EOF)
    fatal: index-pack failed
  • 用这种方法避开:

    mkdir mscnn
    cd mscnn
    git init
    git remote add origin https://github.com/zhaoweicai/mscnn.git
    git pull
  • 我只在ubuntu上安装,所以只讲ubuntu上的依赖:

    • 其他依赖

      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 libatlas-base-dev
      sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
    • Caffe在debian系列系统上对hdf5的支持导致的一个坑>>

编译

make all
make pycaffe
make matcaffe
make test
make runtest

测试(Python版)

  • 源代码

  • 前面是用apt安装的opencv和protobuf,没有安装Python包,所以直接运行会报cv2和protobuf找不到

  • 安装opencv python包:

sudo apt-get install python-opencv
  • 这样会安装到系统默认的python解释器中,即/usr/lib/python2.7/dist-packages,我们把这里面跟opencv有关的复制到前面编译caffe指定的python解释器目录中,比如~/anaconda2/lib/python2.7/site-packages,同时注意改cv2的名字

sudo ln -s cv2.x86_64-linux-gnu.so cv2.so

搞定opencv的依赖

  • 安装protobuf python包: pip install protobuf(注意pip要和caffe对应的python解释器绑定)

  • 由于前面的那份python代码用了nms来做GPU调用,这个东西是来自py-faster-rcnn的,也是caffe的一个变种,复制这个目录,然后make,按上面的复制opencv的方法把nms目录复制到caffe对应的python解释器就好了