PyCaffe的安装

1 说明

pycaffe 是 caffe 提供的 python 接口,之需要在 caffe 的 Makefile.config 中打开对应项即可编译出来,以下内容是作者在安装遇到问题后所整理的。

环境版本
osubuntu20.10
AncondaAnaconda3-2020.11-Linux-x86_64
python3.8
gcc7.5.0

2 安装 libboost_python3.so

2.1 方式一:源码安装

去官网下载源码,本实验下载的 boost_1_75_0 版本,版本低了可能对 python3 支持不好:

./bootstrap.sh --with-python=/home/tamray/anaconda3/bin/python
./b2 cflags='-fPIC' cxxflags='-fPIC' --with-python include="/home/tamray/anaconda3//home/tamray/anaconda3/include/python3.7m"

# 如果安装时出现 “”atal error: pyconfig.h: 没有那个文件或目录” 就添加:
export CPLUS_INCLUDE_PATH=/home/tamray/anaconda3/include/python3.7m

/b2 cflags='-fPIC' cxxflags='-fPIC' --with-python include="/home/tamray/anaconda3//home/tamray/anaconda3/include/python3.7m"
sudo ./b2 install

# 创建软链接
cd /usr/local/lib/
sudo ln -s libboost_python37.so libboost_python3.so
sudo ln -s libboost_python37.a libboost_python3.a
sudo ldconfig
# 查看库是否找到
ldconfig -p |grep boost_python

2.2 方式二:apt安装

首先查看一些系统有没有 libboost_python3.so 这个库:

ldconfig -p | grep boost_python3

如果有,可能会输出如下:

	libboost_python38.so.1.71.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libboost_python38.so.1.71.0
	libboost_python38.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libboost_python38.so

信息表明 libboost_python3.so 所对应的是 python3.8 版本,所以我们准备编译的 caffe 接口也是 python3.8 版本。如果系统没有这个库,就需要安装了:

sudo apt install libboost-all-dev

安装后,对应的库应该存放在 /usr/lib/x86_64-linux-gnu/libboost_python38.so,需要给它创建软链接:

cd /usr/lib/x86_64-linux-gnu
sudo ln -s libboost_python38.so libboost_python38.so

3 安装 Anconda

由于上步对应的是 python3.8,所以可以安装 Anaconda3-2020.11-Linux-x86_64,安装后自带 python3.8。

  • 安装

    ./Anaconda3-2020.11-Linux-x86_64.sh
    

    注意安装时不要选择初始化,最好自己添加环境变量。

  • .bashrc 中添加

    export PATH=/home/tamray/anaconda3/bin:$PATH
    

    执行 source ~/.bashrc 刷新环境变量

  • 激活虚拟环境

    source activate
    

3 修改 caffe 的 Makfefile.config

修改其中的 python 环境的路径,这里指定为 aconda 的 python3.8 目录:

ANACONDA_HOME := $(HOME)/anaconda3
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
		 $(ANACONDA_HOME)/include/python3.8 \
		 $(ANACONDA_HOME)/lib/python3.8/site-packages/numpy/core/include

PYTHON_LIBRARIES := boost_python3 python3.8

PYTHON_LIB := $(ANACONDA_HOME)/lib

WITH_PYTHON_LAYER := 1

:::danger 说明
上面的配置只是针对 python 接口,其他配置参考Caffe的安装
:::

  • 编译 caffe:

    make all -j8
    make test -j8
    #make runtest
    
  • 编译 pycaffe:

    make pycaffe
    

    如果出现了问题: ModuleNotFoundError: No module named 'google',就安装:

    pip install protobuf
    

4 添加 pycaffe 环境变量

在 .bashrc 中添加下面内容并刷新:

export PYTHONPATH=~/trcaffe/caffe/python

测试:

tamray@tamray-System-Product-Name:~$ python
Python 3.8.5 (default, Sep  4 2020, 07:30:14) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
>>> 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值