python2.7环境下安装caffe、pytorch(cpuonly)

以下步骤在ubuntu16.04、18.04中测试通过

Caffe对Ubuntu系统中python2.7支持是最好的,曾尝试在anaconda中 创建python2.7和Python3.7环境的方式安装caffe,最终都以失败告终。以下文档记录了在ubuntu16.04/18.04系统python2.7环境下安装caffe、pytorch(cpu only)的过程。

如下安装过程中:

sudo apt源我使用的源是 http://mirrors.aliyun.com/ubuntu

pip安装过程中,为了加快安装,我使用了手机无线网络

 

1、安装pip

sudo apt install python-pip

sudo pip install --upgrade pip

 

Ubuntu16.04默认的python版本是2.7,apt-get安装的pip也默认安装进python2.7中

pip --version查看版本号和安装路径

 

2、配置pip的清华源

mkdir ~/.pip

cd ~/.pip

gedit pip.conf

[global]

index-url = https://pypi.tuna.tsinghua.edu.cn/simple

所有的 python环境共享该配置

 

3、编译安装C++ 版本protobuf

***************************ubuntu16.04安装protobuf********************

sudo apt install libprotobuf-dev protobuf-compiler

sudo ldconfig

查看版本号 protoc --version

***************************ubuntu18.04编译安装protobuf2.6.1********************

  • 下载protobuf2.6.1

https://github.com/protocolbuffers/protobuf/releases/tag/v2.6.1

下载protobuf-2.6.1.tar.bz2

 

  • 解压

tar xvzf protobuf-2.6.1.tar.bz2

 

  • 编译安装

cd protobuf-2.6.1

mkdir build

cd build

 

../configure --prefix=/home/username/app/protobuf-2.6.1

 

make -j8

make check

sudo make install

 

在.bashrc文件中添加

export PATH=/home/username/app/protobuf-2.6.1/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/home/username/app/protobuf-2.6.1/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

 

export PKG_CONFIG_PATH=/home/username/app/protobuf-2.6.1/lib/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}

 

source ~/.bashrc或者退出Terminal再打开

 

protoc --version显示版本号为2.6.1,表明安装成功

 

4、编译安装opencv3.4.5

此步中安装boost、atlas,这两个库也是caffe依赖库

需配置.bashrc如下:

export PATH=/home/username/app/opencv3/bin${PATH:+:${PATH}}export LD_LIBRARY_PATH=/home/username/app/opencv3/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

export PKG_CONFIG_PATH=/home/username/app/opencv3/lib/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}

5、安装caffe依赖的C++库

sudo apt install libleveldb-dev libsnappy-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev

 

6、安装pycaffe依赖的python库和opencv-python

参见<caffe-root>/python/requirements.txt

安装的时候每次安装一个库,

sudo pip install

安装protobuf库的时候需要指定版本号,其他库不用指定版本号.

sudo pip install protobuf==2.6.1

sudo pip install opencv-python==4.2.0.32

通过pip安装的python库,将会安装进/usr/lib/python2.7/dist-packages

 

7、编译caffe

cd <caffe-root>cp Makefile.config.example Makefile.config

 

然后修改Makefile.config

需要Uncomment和修改的变量如下:

CPU_ONLY := 1

BLAS := atlas

OPENCV_VERSION := 3

 

PYTHON_INCLUDE := /usr/include/python2.7 \

/usr/local/lib/python2.7/dist-packages/numpy/core/include

PYTHON_LIB := /usr/lib

WITH_PYTHON_LAYER := 1

切记:PYTHON_INCLUDE中/usr/lib 修改成/usr/local/lib

 

# Whatever else you find you need goes here.

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /home/username/app/opencv3/include /home/username/app/protobuf-2.6.1/include /usr/include/hdf5/serial

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /home/username/app/opencv3/lib /home/username/app/protobuf-2.6.1/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

 

make all -j8

make test -j8

make runtest -j8

 

runtest 最终显示PASSED,表面caffe编译成功,接下来就可以编译pycaffe了

make pycaffe –j8

7、把编译后的pycaffe拷贝进系统python2.7的环境内

拷贝的时候应注意文件夹权限问题,

cd <caffe-root>/python/

chmod -R 777 caffe

拷贝pycaffe的python脚本:

cd <caffe-root>/python

sudo cp -r caffe /usr/local/lib/python2.7/dist-packages/

 

如果你自己的caffe带有RPN层,还需要拷贝caffe中 自定义的python层:

image.png

 

如上图所示的python层,需要把rpn文件夹拷贝进

/usr/local/lib/python2.7/dist-packages/

 

拷贝libcaffe.so:

cd <caffe-root>/build/lib

sudo cp libcaffe* /usr/lib/x86_64-linux-gnu/

拷贝后符号链接会失效,需要删除后重新创建:

cd /usr/lib/x86_64-linux-gnu

ls libcaffe*

sudo rm libcaffe.so

sudo ln -s libcaffe.so.1.0.0 libcaffe.so

8、安装pytorch并配置pycharm

sudo pip install future

sudo apt install python-tk

 

Pytorch官网上找到pip安装pytorch(cpuonly)的命令(我仅安装成功pytorch1.4):

sudo pip install torch==1.4.0+cpu torchvision==0.5.0+cpu -f https://download.pytorch.org/whl/torch_stable.html

 

切记要配置如下路径,否则不能在pycharm中使用caffe

cd /etc/ld.so.conf.d

sudo gedit caffe.conf

添加以下路径

/home/ningbo/app/protobuf-2.6.1/lib

/home/ningbo/app/opencv3/lib

sudo ldconfig

然后新建一个pycharm工程,按照下图配置,然后就可以在pycharm中使用caffe和pytorch了

image.png

 


版权声明:本文为momentum30原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。