提示python未安装_(六)Ubuntu18.04 安装caffe CPU版本

安了好久的GPU版本,最后还是没有成功,只能先安装一个CPU看看效果。

这个过程发现,报错的主要原因还是在于makefile.config的一些内容跟自己电脑不匹配,所以当大家遇到问题的时候,不妨先看看是否这个文件的一些参数配置不对。

因为每个问题网上解决方案都很多,想到我在安装Gpu版本的时候把内核删了,替换另一个内核,结果电脑直接罢工,然后连电脑都要直接重装了、、、、、、

我安装的是anaconda3,不过建立了py2.7的虚拟环境进行搭建。

conda create --name py27 python=2.7
source activate py27
如果要退出:
source deactivate

一、安装依赖包

首先确定你的下载源

gedit /etc/apt/sources.list

建议使用阿里云等下载源。

 1 deb http://mirrors.aliyun.com/ubuntu/ xenial main
 2 deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
 3 deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
 4 deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
 5 deb http://mirrors.aliyun.com/ubuntu/ xenial universe
 6 deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
 7 deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
 8 deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
 9 deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
10 deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
11 deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
12 deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

打开linux命令行,先执行下面指令:

sudo apt-get update

再依次执行以下语句,安装依赖包:

sudo apt-get install libprotobuf-dev
sudo apt-get install libleveldb-dev
sudo apt-get install libsnappy-dev
sudo apt-get install libopencv-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install protobuf-compiler
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install liblmdb-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install --no-install-recommends libboost-all-dev

执行完此条命令之后会出现如下图某些包无法下载,根据提示执行命令:

apt-get update --fix-missing
apt-get upgrade

二、下载caffe源码

使用git指令下载caffe源码,如果还没有安装git,见该篇文章:

梦里寻梦:(三)Ubuntu 安装git及密钥配置​zhuanlan.zhihu.com

再执行下面指令下载caffe源码:

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

如果下载速度还是慢,建议在git上fork后,用G码云下载,这又是另一个故事了。

三、编译caffe

1.进入caffe目录下:

cd caffe

2.生成Makefile.config文件:

cp Makefile.config.example Makefile.config

3.修改Makefile.config文件中的配置:

1)编辑Makefile.config文件:

sudo gedit Makefile.config

2)去掉CPU_ONLY:=1前面的#号:

5745f464c6e88e0b4e33496c83955dc6.png

3)配置引用文件路径:

将原来的内容:

65a0ac3771b9b13c78fd6845ea13c95a.png

替换为:

ad578ead36947cb84065941f90f2d1ea.png

4.执行编译,执行以下指令:

make all
make test
make runtest

我编译的过程中报错如下:

CXX/LD -o .build_release/tools/convert_imageset.bin
.build_release/lib/libcaffe.so: undefined reference to cv::imread(cv::String const&, int)' .build_release/lib/libcaffe.so: undefined reference tocv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator >&, std::vector<int, std::allocator > const&)'
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)'
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/convert_imageset.bin] Error 1

一看是opencv相关的,查阅资料,网上各种修改的,幸亏没有照着去搞。最后是通过修改了Makefile.config文件。

因为我查看自己opencv_version的版本是3以上的,估摸问题也在这,如下,OPENCV_VERSION := 3前的#号去掉。

# Uncomment if you're using OpenCV 3
# OPENCV_VERSION := 3

执行完make runtest指令后,会出现下面的图,则代表caffe已经编译完成。

75c6301bf43a8df46dc2812aa8a4790b.png

四、编译python接口

caffe具有python和C++接口,因为比较常用的是python接口,这里演示如何编译python接口。

1.安装pip以及numpy:

sudo apt-get install python-pip
sudo apt-get install python-numpy

2.安装python接口依赖库:

在安装依赖库前,需要先安装gfortran编辑器:

sudo apt-get install gfortran

然后安装依赖库,首先进入caffe目录下的python文件中:

cd caffe/python

安装依赖库:

此处又强烈建议安装pip镜像源,不然速度超级慢,没有安装的去往:

梦里寻梦:(一)同时安装Anaconda2和3,设置国内镜像源​zhuanlan.zhihu.com
for req in $(cat requirements.txt); do pip install $req; done

安装完后,执行下面一条语句,该语句的作用是检查依赖库是否都已经安装成功,如果成功会显示requirement already saitisfied,如果未成功会继续安装:

sudo pip install -r requirements.txt

我在这个过程中会报错,有些内容拉不下来,解决方法是把pip镜像源多添加几个,阿里云、清华什么的都加进去,就解决了。

原作者在执行完上面一条语句后,出现了错误(错误显示为红色字体),错误提示是:command "python setup.py egg_info" failed with error code 1 in XXX。

原因是没有指定ipython的版本,执行下面语句可解决该问题:

sudo pip install ipython==5.3.0

这时,再执行 sudo pip install -r requirements.txt 发现没有了红色字体的错误提示,说明依赖库安装成功。

3.添加环境变量:

打开配置文件bashrc:

sudo gedit ~/.bashrc

在文件的最后面添加:

export PYTHONPATH=~/caffe/python:$PYTHONPATH

如下图所示

3ca5d5c7ca2ca13cc10736e55212e9bf.png

保存文件后关闭,然后输入下面语句,使环境变量生效:

source ~/.bashrc

4.编译python接口:

首先进入caffe目录下:

cd  ~/caffe

然后开始编译pycaffe:

make pycaffe

这个过程又出现了这个问题:

python/caffe/_caffe.cpp:1:52: fatal error: Python.h: No such file or directory

 #include <Python.h>  // NOLINT(build/include_alpha)

原因在于caffe找不到Python,还是到makefile.config进行修改:

原文是默认如下
ANACONDA_HOME := $(HOME)/anaconda
修改成自己的地址,比如我是虚拟环境
ANACONDA_HOME := $(HOME)/anaconda3/envs/py27

编译完后,若无错误提示,则说明编译成功。

5.验证python接口:

进入Python环境:
python
import caffe

11638aceb641799b7a0bbe3002bbd8b8.png

说明python接口编译成功。如果显示no model named caffe则说明python接口编译失败,重新检查上述步骤或百度解决。至此整个caffe安装编译的过程就全部结束了。

文章参考:https://blog.csdn.net/pangyunsheng/article/details/79418896

文章参考:https://www.cnblogs.com/acgoto/p/11570188.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值