随着AlphaGo大胜李世石,让深度学习再次火了一把,小主在叹服之余,也赶紧开始着手搭一个DL的学习框架
玩玩,平复下我现在异常鸡冻的心情;那么多开源框架,Caffe,Theano,CGT,Torch,Mxnet,Keras,
Matconvnet,以及刚开源没多久的TensorFlow,我到底要选择哪个来跑呢,本着一切从简的原则,然而我最终选择
了大坑Caffe,两个星期辗转于Mac与Ubuntu中,被折磨的都想放弃了,最后终于山回路转奇迹现身了,现在回想
起来,哎说多了都是泪,让我先喝杯Caffe压压惊吧。。。
好了,回到正题,其实我之前是15.10 的ubuntu,途中各种奇葩的问题,最后Linux大神建议我用14.04,说这个
是最通用最好使的版本,然后我就果断干了15.10,装了14.04(最好英文版的),哈哈。其实网上有很多安装教程,
但个人觉得主要还是得按照Caffe的官网http://caffe.berkeleyvision.org/installation.html来,容易少走弯路。另外
由于我的电脑没有N卡,所以cuda神马的就免了,需要的可以自行查找,很简单。
一、安装步骤
step1:安装Aanconda,它集成了很多依赖包,numpy,ipython,hdf5等,省的再安装;
1.Anaconda官网https://www.continuum.io/downloads上下载Anaconda的脚本文件,两三百M不会太久;
2.运行该脚本文件:bash Anaconda2-5.0.0-Linux-x86_64.sh(中间会有提示,一切默认就行,最后安装完要求是否预置安装路径的时候,选择yes就行了)
3.关闭当前终端,重启一个终端窗口,键入:conda list,出现很多conda信息表明安装成功;
4.更新:conda update conda
5.拷贝conda的许可文件到主目录:mv LISENCE.txt ~/.continuum
6.升级ipython:
conda update ipython
conda update ipython-notebook
conda update ipython-qtconsole
7.终端键入:ipython notebookjike
step2:安装OpenCV-3.0.0-rc1(建议源码编译安装)
1.更新软件列表:sudo apt-get update && sudo apt-get upgrade
2.安装各种依赖包:
sudo apt-get install git cmake build-essential pkg-config
sudo apt-get install libjpeg8-dev libtiff5-dev libpng12-dev libjasper-dev libdc1394-22-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libtbb2 libtbb-dev
3.git上克隆下源码:https://github.com/zhleternity/opencv;
4.另外下载opencv_contrib包:https://github.com/zhleternity/opencv_contrib
5.进入OpenCV主目录:
创建编译目录并编译:
mkdir release && cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules -D BUILD_EXAMPLES=ON ..
(请耐心等待!!)
make -j8
sudo make install -j8
6.添加环境变量:
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf' (注意空格)
更新下:sudo ldconfig
7.测试OpenCV是否成功安装:
cd samples
cmake .
make
cd cpp/
./cpp-example-facedetect ../data/lena.jpg
如果出现lena的人脸图像则表示安装成功;
step3:如果想用matlab接口的,可安装matlab;matlab安装很简单,就不说了。
step4:安装Caffe的其他依赖库:
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev protobuf-compiler libatlas-base-dev
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
step5: ok,准备工作做完了,真正开启奇妙之旅吧。。
1.git上clone下Caffe源码:https://github.com/zhleternity/caffe;
2.进入Caffe主目录下,复制一份配置文件:cp Makefile.config.example Makefile.config
3.按照个人需要进行修改Makefile.config:
1)如果跑GPU,则uncomment:USE_CUDNN := 1;如过电脑没有N卡,则UNcomment: CPU_ONLY := 1,并将cuda有关的全部注释掉;
2)注意下BLAS用的是哪一个:MKL对应BLAS := mkl;OpenBLAS对应BLAS := open;Atlas对应BLAS := atlas;
3)checkout下Python的路径是否正确:一般来说无须改动;
4)如果使用MATLAB的,也请uncomment其路径部分,并且checkout是否正确;
4.编译:
make clean
make all -j8
make test -j8
make runtest -j8
如果出现‘Global test environment tear-down ’和‘100% Built target runtest’的字眼,则表示编译通过;
5.编译Python和Matlab的接口:
主目录下:make pycaffe
make matcaffe
make distribute
6.如果通过,则完成,恭喜你,可以去喝杯Caffe庆祝下。。。
二、问题集锦
q1:opencv测试是否安装成功时,编译源码里examples文件夹下的例子能跑的通(如上文opencv的测试部
分),但是编译自己写的imshow图片时,却报错:undefined reference to ‘cv::imread()’等;这个问题困扰了我很久,
不知道前辈打什么呢是否遇到过,又是怎么解决的,如果您看到了这里,还请给予指教和帮助,妹纸不胜感激。
q2:hdf5版本不匹配
ans:重新导入最新的版本路径;
q3:pyconfig.h找不到
ans:Makefile.config文件里重新检查python的路径是否正确;
q4:matlab接口编译不过,无法生成mex文件
ans:检查Makefile.config里的matlab路径是否正确,路径下是否包含mex文件;
q5:hdf5.h找不到
ans:首先有没有装Anaconda,如果装了,就不用再装libhdf5-serial-dev;如果没装 Anaconda就要检查是
否装了libhdf5-serial-dev;另,对于15.10版本,对于这个问题有另外的解决办法,请看
https://github.com/BVLC/caffe/wiki/Ubuntu-15.10-Installation-Guide
q6:import caffe,找不到module named ‘caffe’
ans:导入Python或MATLAB接口下caffe的路径;
q7:no module named 'google.protobuf'
ans:s1,git上克隆protobuf源码,https://github.com/zhleternity/protobuf;
s2,如果没有configure文件,则需要执行autogen.sh脚本来生成,键入:
./autogen.sh
./configuremake && make check && make install
s3,键入:cd /home/XXX/protobuf/python
python setup.py build && python setup.py install
q8:autoreconf:not found
ans:安装automake,键入:sudo apt-get install automake autoconf libtool
q9:google-gmock-1.7.0 not present:curl:(77) error setting certificate verify location
ans:首先下载下来gmock,解压;然后找到gmock文件夹下的配置文件,注释掉其中的url一行,即可;
三、参考文章链接:
http://coldmooon.github.io/2015/08/03/caffe_install/
http://www.pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-ubuntu/
http://rodrigoberriel.com/2014/10/installing-opencv-3-0-0-on-ubuntu-14-04/
http://www.cnblogs.com/cj695/p/4498270.html
http://blog.csdn.net/littlestream9527/article/details/38734871