caffe在Ubuntu16.40+python2.7.12(CPU ONLY)下的配置

来源:互联网 发布:网络推广总结 编辑:程序博客网 时间:2024/05/16 15:48

因为项目的需求,在最近学着在ubuntu16.4下去搭建caffe,看了许多博客,要找到跟自己的系统、语言、软件等 一 一 匹配的真的好难,所以在弄好了之后赶紧写下来,以后要是又要弄到就容易找了。
最后在网上找了两篇篇博客,发现跟自己想要的很切合:


深度学习Caffe平台安装——Ubuntu安装CPU模式的caffe

网址:http://blog.csdn.net/liuweizj12/article/details/52138269

深度学习Caffe平台开发环境准备——2.python命令行中import caffe报错的解决方案

网址:http://blog.csdn.net/liuweizj12/article/details/52138191

当然,在搭建的时候还是遇到了很多问题,有因为第一次接触ubuntu而遇到的问题,也有因为pip版本太低引发的问题(觉得这个是最大的问题),接下来不啰嗦,将过程记录下来:

一、环境准备

Linux:Ubuntu-16.40
python:python2.7.12
CUDA:因为是在笔记本上面搭建,没有GPU,没有好的显卡(NVIDIA是个好东西,然而并没有),所以就忽略了这个

二、安装步骤

命令行这东西,最好是直接复制,然后路径这些东西再改,因为可能因为一个空格的缘故就错了自己也不知道(嗯….一个Ubuntu白痴的想法)

1、安装前的环境配置:

更新软件列表:
sudo apt-get update
更新软件 :
sudo apt-get upgrade
安装build essentials :
sudo apt-get install build-essential

2.安装CUDA

忽略,如果有条件的话就可以选择安装,具体看上面的链接

3.安装必要的库

在这个之前要先确保python里面的pip是最新的版本,例如:我原先的版本是8.X的,但是最新的是9.0.1,所以要更新自己的pip,但是在现阶段直接调用命令行更新pip只能更新到8.X的,所以需要去python官网下载,具体操作可以看另一个博客:ubuntu下pip的卸载,安装,更新与使用
更新好pip后继续执行
第一:
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler gfortran libjpeg62 libfreeimage-dev libatlas-base-dev git python-dev python-pip libgoogle-glog-dev libbz2-dev libxml2-dev libxslt-dev libffi-dev libssl-dev libgflags-dev liblmdb-dev python-yaml
(注意:git和python均为小写,用大写会造成不必要的错误)
第二:
sudo easy_install pillow

4.下载caffe

cd ~
git clone https://github.com/BVLC/caffe.git
(可以尝试用下面一句命令去下载,可能速度会快一点:
sudo git clone –depth=1 https://github.com/BVLC/caffe.git)

5.安装python相关的依赖库

cd caffe #caffe是安装下载caffe的路径,要视情况而定
cat python/requirements.txt | xargs -L 1 sudo pip install #pip一定要更新到最新版本

6.增加符号链接:

sudo ln -s /usr/include/python2.7/ /usr/local/include/python2.7
sudo ln -s /usr/local/lib/python2.7/dist-packages/numpy/core/include/numpy/ /usr/local/include/python2.7/numpy
(python的位置要根据自己安装的python路径进行更改)

7.修改Makefile.config配置文件

在以上的操作之后,现在应该是处于caffe目录下了,没有的话就需要进入到caffe目录下
在~/caffe目录下:

第一步:

先将Makefile.config.example复制为Makefile.config
cp Makefile.config.example Makefile.config

第二步:

用gedit打开Makefile.config(或者直接用vim在终端中打开修改也可以)
gedit Makefile.config # 要是出现更改后不能保存的情况,就“sudo”用管理者模式

第三步:

去掉 # CPU_ONLY: = 1 的注释
结果如下图:
这里写图片描述

第四步:

修改PYTHON_INCLUDE路径

/usr/lib/python2.7/dist-packages/numpy/core/include
改为:
/usr/local/lib/python2.7/dist-packages/numpy/core/include
结果如下图:(只需要改下面那一行,上面的不用动)
这里写图片描述

第五步:

安装hdf5(如果有了,就跳过安装)
sudo apt-get install libhdf5-dev

第六步:

添加hdf5库文件
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/
结果如下图:
这里写图片描述

8.编译caffe

在caffe目录下面:
make pycaffe
make all
make test
到这里都执行成功了,就可以预见caffe安装好了

9.使用MNIST手写数据集测试,训练数据模型

第一:

cd ~/caffe #进入caffe目录
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh

第二:

编辑examples/mnist文件夹下的lenet_solver.prototxt文件,将solver_mode模式从GPU改为CPU。
sudo gedit lenet_solver.prototxt
结果如下图:
这里写图片描述

第三:

训练模型
./examples/mnist/train_lenet.sh

以上,就搭建好了caffe,另外就是

在vscode+python里面import caffe报错的问题:

一、问题描述:

在Ubuntu环境下,打开python解释程序,输入import caffe时:出现以下错误

>>>import caffe   Traceback (most recent call last):    File "<stdin>", line 1, in <module>   ImportError: No module named caffe

二、根本原因:

没有把caffe中的python写进环境变量

三、解决方法:

将caffe中的python写到环境变量中:
原文中用了两种方法,而我用的是第一种方法:在终端输入,一次解决问题;
第一步:
export PYTHONPATH=~/caffe/python #caffe的路径下面的python
若是关掉终端后或重新打开一终端,则失效。反之则该终端起作用。
第二步:
放到配置文件中,可以永久有效果,命令操作如下:
把环境变量路径放到 ~/.bashrc文件中
sudo echo export JAVA_HOME=”~/caffe/python” >> ~/.bashrc
使环境变量生效
source ~/.bashrc

这样之后,无论是在命令行中还是vscode中,都可以调用caffe了
此外,还有一些其他的库调用不成功的,很大可能是因为pip的版本低了,没有安装好,这个时候可以看看pip是不是最新版的,如果不是,则最好更新pip,再去更新其他的库
还有一个博客是写了有关caffe安装中的各种error的:Caffe搭建:常见问题解决办法和ubuntu使用中遇到问题(持续更新)在安装的时候有什么问题在这个上面也基本可以找到
最后加上一个pip在官网下载更新的博客,太晚了,不想写了,直接贴出来吧:ubuntu下pip的卸载,安装,更新与使用

路途艰苦,天道酬勤。

注:本博客为原创,若需转载请注明出处。
注:若有侵权,请与本人联系删博客。

1 0
原创粉丝点击