您的位置:首页 > 编程语言 > Python开发

ubuntu16.04安装caffe python接口安装

2017-08-01 20:23 579 查看
下载caffe:

git clonehttps://github.com/BVLC/caffe

安装opencv,具体步骤可以参考:

http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html

Copy the Makefile.config.example to Makefile.config like this:

cp Makefile.config.example Makefile.config

编辑Makefile.config文件:

如果只使用CPU计算,修改:

去掉CPU_ONLY := 1前面的#

即修改为:

CPU_ONLY := 1

如果CUDA版本为 CUDA is 8.0,则需要将:

CUDA_DIR := /usr/local/cuda

更改为:

CUDA_DIR := /usr/local/cuda-8.0

安装python依赖库:

进入python目录:

cd caffe/python

运行安装命令:

for req in $(cat requirements.txt); do sudo pip install $req; done

编译caffe,进入caffe目录:

cd ..

运行make all,

make all

出现如下错误:

./include/caffe/util/math_functions.hpp:7:26: fatal error: glog/logging.h: 没有那个文件或目录

原因是没有安装glog,glog安装命令如下:

wgethttps://google-glog.googlecode.com/files/glog-0.3.3.tar.gztar
zxvf glog-0.3.5.tar.gzcd glog-0.3.5./configuremake
&& make install

之后重新运行make all,报错:

./include/caffe/common.hpp:5:27: fatal error: gflags/gflags.h: 没有那个文件或目录

原因大概是没有安装gflags.

glags安装如下:

wgethttps://github.com/schuhschuh/gflags/archive/master.zipunzip
master.zipcd gflags-mastermkdir build && cd buildexport
CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1make && make install

安转好后,重新运行make all,又报错:

src/caffe/net.cpp:8:18: fatal error: hdf5.h: 没有那个文件或目录

解决方法:

cd /usr/lib/x86_64-linux-gnu

sudo ln -s libhdf5serial.so.10.1.0 libhdf5serial.so

sudo ln -s libhdf5serial_hl.so.10.0.2 libhdf5serial_hl.so

修改Makefile.config

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/hdf5/serial/

即可。

重新运行make all,出现错误:

./include/caffe/util/db_lmdb.hpp:8:18: fatal error: lmdb.h: 没有那个文件或目录

原因是没有安装lmdb,lmdb安装命令如下:

git clonehttps://gitorious.org//mdb/mdb.gitcd
mdb/libraries/liblmdbmake && make install

安装好lmdb后,重新编译caffe:

make all -j8

出现错误:

make: *** [.build_release/tools/upgrade_net_proto_binary.bin] Error 1.build_release/lib/libcaffe.so:对‘cv::imread(cv::String
const&, int)’未定义的引用.build_release/lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned
char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)’未定义的引用.build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_InputArray
const&, int)’未定义的引用collect2: error: ld returned 1 exit statusMakefile:625: recipe for
target '.build_release/tools/convert_imageset.bin' failedmake: *** [.build_release/tools/convert_imageset.bin] Error 1

原因是opnecv版本不同,进入/usr/local/lib目录,查看opencv版本:

cd /usr/local/lib

ls

如果opencv版本为3,则去掉Makefile.config中行#OPENCV_VERSION := 3的注释,重新编译即可:

make
cleanmake all -j8
安装Python接口:

make pycaffe

测试:

make test

make runtest
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: