Ubuntu12.04上面用CPU编译使用caffe(不完全安装)

来源:互联网 发布:网络成瘾案例 编辑:程序博客网 时间:2024/06/14 18:29

这段时间终于闲下来了,准备腾出点儿时间拿一些经典的deep model来练练手,= =!经过一顿的找啊,问啊。。。大家对caffe的反响都挺不错,原因就是它快!快是好事儿啊!能节省很多的开发时间,于是抡起袖子就干了!= =!问题又来了,我是ati的显卡。。。操蛋,还不支持CUDA,也就是我在使用caffe的时候不能用他的GPU加速模块。。。好忧伤,不过为了尝试一下这个开源的项目,我还是硬着头皮上啦!

1. 实际上caffe也是一些源码,安装实际上就是编译他然后把它放到相应的目录然后开放权限。要完成上面的行为,需要安装一些依赖的条件。如CUDA,BLAS(你可以安装ATLAS, MKL, OPENBLAS)还有OPENCV(我已经安装过opencv,版本是3.0)。

2.对于CUDA,我的电脑因为没有Nvidia的显卡,所以这一项我就非常华丽的跳过去了。

3.对于BLAS的安装,我们知道BLAS是一个求解现行系统的库,我安装的是ATLAS,开源而且好用,不像MKL商业版又贵,非商业版的又麻烦!直接安装

sudo apt-get install libatlas-base-dev

4.然后就是一些依赖项
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev

# glogwget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gztar zxvf glog-0.3.3.tar.gzcd glog-0.3.3./configuremake && make install# gflagswget https://github.com/schuhschuh/gflags/archive/master.zipunzip master.zipcd gflags-mastermkdir build && cd buildexport CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1make && make install# lmdbgit clone git://gitorious.org/mdb/mdb.gitcd mdb/libraries/liblmdbmake && make install

在进行glog的安装的时候,可能会出现一些错误,比如找不到gflags,别因为这个就去先安装gflags啊!去官网上面搜索gflags-2.1.1,然后装上就可以正常安装glog。后面的如gflags你下载下来应该是master版本的,和lmdb一样,如果make不够权限安装,直接sudo make就行,install的时候也是一样的。

5.接下来就是编译caffe的源文件了,你可以去https://github.com/BVLC/caffe去ZIP下来,也可以用git clone,随你的便,我们这边不把重心放在怎么去下载他!编译可是一个很让人头疼的事情!不管那么多,直接按照官网的步骤先走!

cp Makefile.config.example Makefile.config# Adjust Makefile.config (for example, if using Anaconda Python)make allmake testmake runtest

你会发现,在你进行make all的时候,会提示报错CV_LOAD_IMAGE_COLOR找不到或者没有定义,不用慌张,去caffe安装包下面的src/caffe/layers这个文件夹下面,找到window_data_layer.cpp,然后找到包含这个宏名的语句,然后华丽的把它换成cv::IMREAD_COLOR,因为版本的问题,不同版本之间的宏名是不一样的!修改这个就可以了啊!然后继续make clean然后make all,又会有新的提示,说又找不到cv::imread(const string &name, int),这不是开玩笑么?路径什么都正确,为什么就是找不到?后来仔细分析,发现应该还是没有包含某个共享文件so,去网上搜索发现,这个定义都在libopencv_imgcodecs.so,于是打开在caffe文件夹里面的Makefile文件,在opencv_core,opencv_highgui, opencv_imgproc这个后面加上opencv_imgcodecs然后编译,就可以正常运行啦!

6.由于我没有GPU,只是把整个源码编译了,没有把他安装,不过这样对我就已经足够啦!编译完成的bin文件和.a和.so文件都是可以直接用的,放在哪儿也没什么关系!从今天开始,正式开始玩耍deep learning啦!

0 0
原创粉丝点击