LUbuntu安装配置CPU版本的Caffe-SSD

本文介绍了如何在LUbuntu系统上安装CPU版本的Caffe-SSD。首先通过git克隆作者的caffe仓库并切换到ssd分支,接着配置Makefile.config文件,包括启用CPU计算、OpenCV、LevelDB和LMDB库。然后安装必要的依赖库,如OpenBLAS、protobuf、leveldb等,并解决编译过程中遇到的boost_regex问题。最后,编译并通过测试,完成CPU Caffe-SSD的安装。
摘要由CSDN通过智能技术生成

LUbuntu安装caffe_ssd.
1 利用git clone作者github下的caffe文件包, 如果Ubuntu没有安装git, 首选安装git:
sudo apt-get install git
然后
git clone https://github.com/weiliu89/caffe.git

2 下载完毕caffe库
cd caffe
git checkout ssd # 切换到ssd分支. 出现Switched to a new branch ‘ssd’, 切换成功.

3 配置caffe的配置文件Makefile.config.
cp Makefile.config.example Makefile.config # 拷贝Makefile.config.example为Makefile.config, Makefile.config.example是caffe给出的makefile例子.
根据电脑具体的配置修改Makefile.config. 本机器为4G CPU, AMD显卡. 因此只能在CPU下运行caffe的demo, 因此, 这里不安装CUDA个CUDNN.
利用gedit或者vim打开Makefile.config, 修改配置文件:
1) CPU_ONLY := 1 # 使用CPU进行计算.
2) USE_OPENCV := 1 # 使用oencv库
USE_LEVELDB := 1 # 使用leveldb库
USE_LMDB := 1 # 使用lmdb库
这三个库, 如果电脑上没有要进行安装. 下面会详细介绍如何安装.
3) OPENCV_VERSION := 2 # use OpenCV2, 默认安装是OpenCVC3.
4) CUDA的路径配置暂时保持不变.
5) 更改BALS库:
BLAS := open # 使用OpenBLAS库
需改OPENBLAS库的include路径和lib路径:
BLAS_INCLUDE := /opt/OpenBLAS/include
BLAS_LIB := /opt/OpenBLAS/lib # 可以直接设置到include路径和lib路径.
6) 暂时不安装caffe的MATLAB接口.
7) 设置Python路径. 默认使用python2, 不是有anaconda
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/local/lib/python2.7/dist-packages/numpy/core/include
# 本机上的python库的路径稍有不同. 就写到include即可!!
8) 修改# Whatever else you find you need goes here下面的两个路径. 要增加一些路径, 否则出现错误”fatal error: hdf5.h: 没有那个文件或目录”. 因为ubuntu16.04的文件包含位置发生了变化, 尤其是需要用到的hdf5的位置.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/i386-linux-gnu /usr/lib/i386-linux-gnu/hdf5/serial
本机是32位的, 所以是i386-linux-gnu; 64位系统为x86_64-linux-gnu.

另外, 由于安装的是hdf5-serial, 因此还要修改Makefile文件181行:
将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

4 修改Makefile文件
1) 如果使用GPU, 那么需要修改Makefile文件409行.
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

其它的配置暂时保持不变.

5 安装caffe所需的依赖库.
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler # 利用root用户安装protobuf, leveldb, opencv, hdf5-serial. protobuf, opencv, leveldb改为手动源码安装.
sudo apt-get install –no-install-recommends libboost-all-dev # 安装boost库, 改为手动源码安装.
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev # 安装OPENBLAS, LAPACK, ATLAS库.
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev# gflags, glog改为手动源码安装.

6 编译caffe.
make -j4 all
出现错误:
1> undefined reference to `boost::re_detail_106400::get_mem_block()’
(ls /usr/lib/path | grep boost_regex, 来查看某路径下的某文件)
机器上已经正确安装了boost库, 在安装boost库的同时, 还安装了: boost_regex, boost_system, boost_filesystem, boost_python, boost_thread等库. caffe ssd需要用到boost_regex库, 因此修改Makefile文件: LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial boost_regex, 将boost_regex加入LIBRARIES中.
这样修改之后, 可以make通过.

make test -j4 # 可以正常测试.
make runtest -j4 # 编译成功, 屏幕显示:
[———-] Global test environment tear-down
[==========] 1266 tests from 168 test cases ran. (79639 ms total)
[ PASSED ] 1266 tests.

make pycaffe -j4 # model是通过python编写的文件进行训练的. 所以要make pycaffe. Python numpy的include路径要写对.

CPU caffe ssd安装完成!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值