安装caffe小结

Compile from source

安装过程

有root权限,参考博客:http://www.cnblogs.com/yaoyaoliu/p/5850993.html
无root权限,参考博客:https://autchen.github.io/guides/2015/04/03/caffe-install.html

我的config文件设置:

USE_CUDNN := 1
USE_OPENCV := 1
USE_LEVELDB := 1
USE_LMDB := 1
OPENCV_VERSION := 3

CUDA_DIR := /usr/local/cuda
CUDA_ARCH := 
        -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 \
BLAS := atlas

ANACONDA_HOME := \$(HOME)/miniconda2
PYTHON_INCLUDE := \$(ANACONDA_HOME)/envs/python36/include/ 
PYTHON_LIB := $(ANACONDA_HOME)/envs/python36/lib/

CUSTOM_CXX := g++ -std=c++11
PYTHON_LIBRARIES := boost_python3 python3.6m

INCLUDE_DIRS := \$(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

BUILD_DIR := build
DISTRIBUTE_DIR := distribute
TEST_GPUID := 0
Q ?= @

遇到的问题

1. undefined reference to `google::protobuf:
这里我指定的是conda环境下的python,需要特别注意的是如果conda下也存在protobuf的话,很可能会和系统默认
export PATH="/home/wjt/miniconda2/bin:$PATH"  这句话,详见博客:
https://blog.csdn.net/jiachen0212/article/details/79578458. 
查看protobuf版本: protoc --version
查看当前默认的库:which protoc

2. error This file requires compiler and library support for the ISO C++ 2011 standard.
解决办法:CUSTOM_CXX := g++ -std=c++11

3. libopencv_imgcodecs.so: undefined reference to `png_read_image@PNG16_0':可能是gcc编译器找到了默认的
libpng,这是由于libpng的版本和lib_opencv的版本不一致,解决方法:
cd /usr/lib/x86_64-linux-gnu
sudo ln -s ~/anaconda/lib/libpng16.so.16 libpng16.so.16
sudo ldconfig
或者:export LD_LIBRARY_PATH=/home/wjt/miniconda2/envs/python36/lib/:$LD_LIBRARY_PATH

4. make pycaffe:python/caffe/_caffe.cpp:1:52: fatal error: Python.h: No such file or directory
一般是anaconda的include没配置好,记得把/home/wjt/miniconda2/envs/python36/include/python3.6m/路径加进来
编译好之后,记得 export PYTHONPATH=/home/wjt/caffe-master/python/:$PYTHONPATH

5. undefined symbol:_ZN5caffe9SGDSolverIfE19SnapshotSolverStateERKNSt7__cxx1112basic_stringIc:
 重新编译pycaffe,WITH_PYTHON_LAYER := 1打开就好了

6. caffe.so: undefined symbol :_ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE: 在config里面
解开注释 PYTHON_LIBRARIES := boost_python3 python3.5m,/usr/lib/x86_64-linux-gnu下面有libboost_py34,
改成这个

7. Import caffe时候出错:ModuleNotFoundError: No module named 'google',在conda中安装对应版本的protobuf

Install with conda

安装官方版本

conda install -c anaconda caffe-gpu

安装Intel的CPU版本

conda install -c intel caffe

还有很多版本的caffe,详见 https://anaconda.org/intel/caffe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值