Caffe SSD 配置与安装

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hunterlew/article/details/73645195

为了跟进目标检测框架的最新进展,于是配置了SSD框架并成功运行demo,其中遇到不少坑记录下来。

 

1、假设CUDA、CuDNN、OpenBLAS、OpenCV等都已经安装完毕。我的版本是Ubuntu16.04+CUDA8.0+CuDNN5.0+OpenCV3.0。之前已成功配置过caffe-master。

2、下载caffe-ssd

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

3、修改配置文件

cp Makefile.config.example Makefile.config

gedit Makefile.config

主要去掉CuDNN注释,修改Blas路径、opencv版本、python include路径添加hdf5等。不要把caffe-master中的复制过来,两个文件夹中的Makefile和Makefile.config并不完全一样!

4、修改Makefile

为避免各类undefined reference错误,需要将某一行LIBRARIES修改为:

LIBRARIES += glog gflags protobufboost_system boost_filesystem boost_regex m hdf5_serial_hl hdf5_serialopencv_core opencv_highgui opencv_imgproc opencv_imgcodecs opencv_videoio

5、make all -j8

(第二次在另一个机子配的时候,不需要修改Makefile,第3步make就能过)

这个地方我一直没法通过,在最后链接阶段总报错误:

undefined reference to google::protobuf等,有说是gcc版本问题,但还是一直解决不了。于是采用cmake方法编译。

6、make clean 把之前的build文件夹删掉。

mkdir build

cd build

cmake ..

make all -j8

make install

make pycaffe

这种方法编译没有报错。

7、下载预训练模型。

先不训练了,先测试demo能不能使用。于是下载作者已经训练好的模型,可以在官网上下到。我下载的是VGGNet/VOC0712/SSD_300×300,将其复制到models文件夹下。

8、测试webcam。

这是一个摄像头采集视频并作检测的demo。运行测试文件:

python examples/ssd/ssd_pascal_webcam.py

这时报出错误:

from caffe.model_libs import *

ImportError: No module named model_libs

真是吓哭我了,一度以为caffe-ssd编译出问题了,来来回回重新编译了很多次,无果。

后来Google了一下(神器啊),的确有人碰到这个问题,认为是路径没有加进来的问题,就相当于之前明明编译了pycaffe,却一直没法import caffe一样的问题。于是在ssd_pascal_webcam.py中把路径添加进来:

import sys

sys.path.insert(0,"/home/hunterlew/Downloads/caffe-ssd/python")

保存后终于成功运行了,泪流满面!!!效果图如下:


猜你喜欢

转载自blog.csdn.net/hunterlew/article/details/73645195