虚拟机环境下Ubuntu系统的Caffe安装 CPU-ONLY

来源:互联网 发布:小波分析算法与应用 编辑:程序博客网 时间:2024/05/18 15:28

Caffe的安装是今天下午进行的,主要包含以下几点,一是操作步骤,二是存在的问题及解决方法,三是至今仍存在的问题
1 21天实战caffe
首先是Ubuntu环境准备,在Ubuntu14.04系统中,Caffe的所有依赖包都可以使用apt-get大法搞定
在ubuntu下如果没有使用root账号,则每个命令前需要加sudo
Sudo apt-get install git
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install –no-install-recommends libboost-all-dev
sudo apt-get libatlas-base-dev
sudo apt-get install python-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
1)下载caffe源码
Git clone https://github.com/bvlc/caffe.git
Cd caffe/
Mv Makefile.config.example Makefile.config
2)配置Makefile.config:1)CPU_ONLY:=1;2)配置一些引用文件(增加部分主要是解决新版本下,HDF5的路径问题)
1)INCLUDE_DIRS:=(PYTHONINCLUDE)/usr/local/include/usr/lib/x8664linuxgnu/hdf5/serial/include2)LIBRARYDIRS:=(PYTHON_LIB)
/usr/local/lib
/usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
以上这几部操作完毕后,就可以进行caffe的测试
Make clean
Make all
Make test
Make runtest
可参照官网上的信息进行比对,如果不成功,然后再尝试其他方法进行修改,使用make clean删除,再编译;
2 http://caffe.berkeleyvision.org/install_apt.html 官网
Remaining depencies + 12.04 通过结合《21天》中,所说,一些早期的linux发行版可能找不到glog,gflags,lmdb三个依赖包,此时需要以源码编译方式安装

以下内容我看的其他的安装步骤,大同小异
3 http://blog.csdn.net/u010402483/article/details/51506616
在Ubuntu16.04上配置 CPU ONLY
安装依赖包
1) 安装protobug,leveldb,snappy,opencv,hdf5,protobuf complier and boost;
2 )安装gflags,glogs,lmdb and atlas
下载caffe——使用git直接下载caffe非常简单
编译caffe
1 )切换到caffe所在目录
2 )配置Makefile.config:1)CPU_ONLY:=1;2)配置一些引用文件(增加部分主要是解决新版本下,HDF5的路径问题)
(1)INCLUDE_DIRS:=(PYTHONINCLUDE)/usr/local/include/usr/lib/x8664linuxgnu/hdf5/serial/include2)LIBRARYDIRS:=(PYTHON_LIB)
/usr/local/lib
/usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
(3)BLAS:=atlas
计算能力 mkl>openlas>atlas
3) make caffe
Make all –j8
Make test –j8
Make runtest –j8
4) 编译成功,否则执行make clean多执行一下,否则多google吧
编译python接口
1) Caffe拥有python\C++\shell接口,在caffe使用python特别方便,实例中有接口说明
2) 运行python结构
在Mnist运行Lenet
1) 获取数据源
2) 因为是CPU运行,所以修改在examples文件下的Mnist下的lenet_solver.prototxt中的solver_mode:CPU
3)训练模型

4 http://www.linuxidc.com/Linux/2016-09/135034.htm
本文针对于16.04版本,python APT,CPU _ONLY format
第一部分,安装dependencies以及下载源代码
这里额外解释了一点,在安装depencies时,以上所有sudo apt-get在什么文件夹下输入都无所谓
然后把caffe的源代码下载下来,使用的是git clone 网址(如果没有安装git的得先安装一下,这一点在《21天》中有所提及,安装命令为:sudo apt-get install git)
针对于python而言,下载完成后,进入caffe文件夹,进入里面的python文件夹,然后输入:for rep in (catrequirements.txt);dopipinstallrep; done(pip如果没有安装得先安装一下:sudo apt install python-pip)
第二部分,安装caffe
到caffe文件夹,cp Makefile.config.example Makefile.config,因为是CPU MODE,所以在CPU_ONLY:=1前面的#去掉
两个路径要改成这样(添加后面的两个hdf5的路径,否则编译时报hdf5错误)
INCLUDE_DIRS := (PYTHONINCLUDE)/usr/local/include/usr/include/hdf5/serialLIBRARYDIRS:=(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
(上文中,如下
1)INCLUDE_DIRS:=(PYTHONINCLUDE)/usr/local/include/usr/lib/x8664linuxgnu/hdf5/serial/include2)LIBRARYDIRS:=(PYTHON_LIB)
/usr/local/lib
/usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
3)BLAS:=atlas
计算能力 mkl>openlas>atlas
)
准备好了 make pycaffe make all make test make runtest
结果显示ALL TESTS PASSED就安装好了,只需要再加上一个PYTHONPATH
另外,这个make默认的是用CPU单核运算,如果想要快一点,在make后面加上-j4标签,如果上面4行某一行报错之后想要重试,建议先make clean再重新开始
第三部分:设置python caffe
去到caffe文件夹里面的python文件夹,将当前路径记录下来pwd,然后输入以下命令(吧唧下的路径放到相应地方)
Export PYTHONPATH=/path/o/caffe/python:PYTHONPATHpython2.7
第四部分错误
所有的错误基本都是因为dependencies缺乏或者路径不对,所以根据具体的错误信息对症下药,都会遇到各种错误,多一点点耐心,多谷歌一下,一定能完成的

Q:
1)这里提出一个问题:sudo的这些东西,在哪个地方进行压缩?
2)CUDA是什么意思?
CUDA是显卡厂商NVIDIA推出的运算平台,通用并行计算架构,该架构使CPU能够解决复杂的计算问题,开发人员可以使用C语言来为CUDA架构编写程序
3)碰到的问题:Could not create work tree dir ‘caffe’: Permission denied
原因是没有权限在这里进行书写,解决办法是在命令之前加上“sudo”二字
这里写图片描述
4)protobuf是个啥
它是google的一个开源项目,功能是把某种数据结构的信息以某种格式保存及传递,类似于微软的XML,但是效率较高,目前提供C++/JAVA/PYTHON的API
5)查看ubuntu正在进行的进程
http://jingyan.baidu.com/article/a24b33cd55c3ba19ff002b4f.html
Ps –aut | grep git 前者是查看所有正在运行的进程,后者是进行筛选
6)
这里写图片描述
.build_release/src/caffe/proto/caffe.pb.h:9:42: fatal error:google/protobuf/stubs/common.h:No such file or directory
不知为何,解决的以上的问题,方法是因为其中找不到protobuf文件或文件夹,我就在/usr/local/caffe的位置上,又下载了相关的依赖,如文中之前所示,结果执行make –j 没有报任何错误
7)
这里写图片描述
http://blog.csdn.net/u012576214/article/details/68947893
在双系统安装的时候,又出现了一个新的问题,经过仔细阅读日志,错误提示,发现是没有找到cblas.h这个库,在网上搜索之后,发现其余BLAS有些联系,回顾自己的安装过程,确实漏掉了这一点,将这个包安装后,运行成功
经验是在每次安装之前,要将计划写详细,写清楚,以免造成不必要的麻烦,如这一次,做人做事学习都是如此
8)再次安装双系统时,碰到如下问题
这里写图片描述
PROTOC src/caffe/proto/caffe.proto make:protoc:Command not found
http://blog.csdn.net/jningwei/article/details/73499018
http://www.linuxidc.com/Linux/2016-12/138716.htm
依据的是这两篇文章进行解决的,通过分析,原因是没有下载protobuf-compiler包,我通过尝试protoc – version 然后系统就提示没有被安装,可通过sudo apt-get install protobuf-compiler进行安装
为什么我之前已经安装过了,还要安装呢?之前是在/usr/local路径下安装的,现在是在/usr/local/caffe下安装的
我有一个猜测,就是dependencies需要在caffe下面进行安装,原因是刚才运行make –all时,又出现的关于hdf5相关的问题,我之前明明已经安装过了,我再次在/usr/local/caffe下安装了这个程序,再次make all就可以顺利执行了(之前的教程都没有说这些内容)

原创粉丝点击