ubuntu下编译caffe-ssd

https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide
按照这个装吧

1,按照
本文基于ubuntu14.04 安装cpu版caffe,并安装pycaffe, 方便python调用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

我们要使用python调用caffe, 还需要python-dev包依赖:

sudo apt-get install python-dev 

对于cpu, 我们需要安装加速cpu计算的数学依赖库:
sudo apt-get install libatlas-base-dev
对于ubuntu14.04 ,还需要安装如下依赖:

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
caffe需要安装图像包依赖opencv开源库:

sudo apt-get install python-opencv
依赖包安装完成后,下面开始编译caffe。从caffe项目主页把caffe项目clone下来:
git clone –recursive https://github.com/BVLC/caffe.git
然后:
cd caffe
cp Makefile.config.example Makefile.config

make all
make test
make runtest

会遇到GCC版本问题:
error: #error – unsupported GNU version! gcc versions later than 5.3 are not supported!
试一下:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9

maybe会遇到问题:
cannot find -lopenblas
solve:open makefile.config

BLAS := atlas
#BLAS := open

然后
make all
make test
make runtest
make pycaffe

若报错:make: 没有什么可以做的为 `pycaffe’:
export PYTHONPATH=/data/caffe/python:$PYTHONPATH
make clean
若报错:“cublas_v2.h: No such file or directory”
修改Makefile.config里面的CUDA_DIR := /usr/local/cuda-8.0

cd caffe/python
打开python解释器, 若import caffe成功, 则安装成功。

修改create_list.sh第一行:
root_dir=/data/caffe/data/VOCdevkit
然后:
cd caffe
./data/VOC0712/create_list.sh

修改create_data.sh第七行
data_root_dir=”/data/caffe/data/VOCdevkit”
然后
./data/VOC0712/create_data.sh
会报错:ImportError: No module named caffe.proto
这种情况一般是没有把caffe中的和python相关的内容的路径添加到python的编译路径中。
export PYTHONPATH=/data/caffe/python:$PYTHONPATH

处理之后执行:python examples/ssd/ssd_pascal.py
报错:找不到VGG_ILSVRC_16_layers_fc_reduced.caffemodel,去下载:
https://github.com/conner99/VGGNet/blob/master/VGG_ILSVRC_16_layers_fc_reduced.caffemodel

再执行,报错:Check failed: error == cudaSuccess (2 vs. 0) out of memory
判定是GPU内存不够,batch_size太大
把ssd_pascal.py 337行的batch_size改为8就好了

测试自己的图片:
把/data/caffe/examples/ssd/ssd_detect.py文件复制到caffe下面(因为里面的文件路径问题),修改里面的VGG_VOC0712_SSD_300x300_iter_120000.caffemodel为自己训练生成的caffemodel:VGG_VOC0712_SSD_300x300_iter_3448.caffemodel

运行报错:cudasuccess (8 vs. 0) invalid device function
这个是cuda配置问题,打开caffe的makefile.config把下面的都加上
CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \
-gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_52,code=sm_52 \
-gencode arch=compute_61,code=sm_61

ubuntu16.04会遇到:fatal error: hdf5.h:
在Makefile.config里面:加入

INCLUDE_DIRS := $(PYTHON_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
如果在树莓派上:
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/arm-linux-gnueabihf /usr/lib/arm-linux-gnueabihf/hdf5/serial
find . -type f -exec sed -i -e 's^"hdf5.h"^"hdf5/serial/hdf5.h"^g' -e 's^"hdf5_hl.h"^"hdf5/serial/hdf5_hl.h"^g' '{}' \;

然后在/目录执行

参考
http://blog.csdn.net/billbliss/article/details/73612063
这个解决:http://www.cnblogs.com/zjutzz/p/5716453.html

又会遇到cv::VideoCapture::VideoCapture的报错:
是因为caffe识别opencv到3.1,3.2以后的opencv没办法识别了,所以看opencv版本:
pkg-config –modversion opencv
然后安装opencv2413:
报错:anaconda 对inflateValidate的引用未定义:
在Makefile.config里面取消对anaconda行的注释
sudo apt-get install mupen64plus
sudo apt-get install libpng16-dev
sudo ldconfig
执行caffe前要执行这一句:
export LD_LIBRARY_PATH=~/anaconda2/lib:$LD_LIBRARY_PATH

/usr/bin/ld: cannot find -lopencv_imgcodecs

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值