Caffe作为开源的深度学习框架,有着代码结构清晰,速度快等优点。但是配置与安装一直是个比较令人头疼的问题。尤其是随着每个Caffe包版本的升级以及CUDA等必要的库的更新换代,之前能用的教程说不定版本一更新就用不了了。在配置Caffe的时候我就走了不少弯路。最后折腾了好几天才搞定。这里我把我配置的流程简单介绍一下。
我安装的是Ubuntu15.04版本,安装Ubuntu是相对来说比较简单的。你只要需要一个作为启动盘的U盘即可。Ubuntu安装完以后我们优先安装vim和git两个重要的软件。
sudo apt-get update
sudo apt-get install git vim cmake automake
打开CUDA官方下载的链接,进行平台的选择。我选择Ubuntu15.04,然后在Installer Type要选择deb(local),这样我们下载一个大小约为2g左右的文件。
然后在文件下好的目录下打开终端看,运行以下三句话就可以了。网上有很多非常复杂的配置CUDA的教程。那是因为他们用的是runfile安装,这样的方法又繁琐又容易出错。这里我们只要简单用local的deb文件,根据官网的教程走就可以了,没必要走复杂的流程。只需运行以下的三句。
sudo dpkg -i cuda-repo-ubuntu1504-7-5-local_7.5-18_amd64.deb`
sudo apt-get update`
sudo apt-get install cuda`
安装完以后配置环境变量。
sudo vi /etc/ld.so.conf.d/cuda.conf
在cuda.conf里添加
/usr/local/cuda/lib64
/lib
保存以后让lib文件链接
sudo ldconfig -v
按照顺序运行以下的语句。
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 install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install -y python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython
sudo apt-get install libatlas-base-dev
这样就安装了protobuf,snappy,hdf5,boost,gflags,glog,lmdb,python以及atlas。
由于我们的系统版本是15.04,不需要单独去下载glog,gflags等单独make。能apt-get的就最好不要自己make。
关于Opencv的版本问题,最好安装3.0的。我试过安装2.4.9和2.4.10的,总会出现各种问题。比如ffmpeg链接问题,识别cuda问题。在stackoverflow和github上寻找各种解决办法,最后发现只要把版本升上去的话就能够解决这些问题。
比如我在安装2.4.9的时候遇到了这样的bug:
opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(51): error: a storage class is not allowed in an explicit specialization
最后搜到了这样的解决方案。所以一劳永逸的方法是安装3.0
安装3.0的时候运行这样的语句即可,感谢Ouxinyu提供的shell脚本。
git clone https://github.com/ouxinyu/Install-OpenCV-master.git
cd Install-Opencv-master/Ubuntu
sh dependencies.sh
cd 3.0
sh opencv3_0_0-rc1.sh
shell脚本里包含了下载opencv附加项,从git下载Opencv3.0文件以及编译,环境变量配置的全部过程。
为了测试一下Opencv是否安装成功了,可以参考这位老兄的方法。
Caffe的下载去Github下载即可。
git clone https://github.com/BVLC/caffe.git
cd caffe
cp Makefile.config.example Makefile.config
然后修改Makefile.config的选项。
-1.配置引用文件
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
-2.应用Opencv3.0
OPENCV_VERSION :=3
-3.应用Python
WITH_PYTHON_LAYER :=1
然后就可以makefile了。
make all -j4
make test -j4
make runtest -j4
如果一切顺利的话,应该不会报错直接结束的。
-1.按照官方的来
由于Caffe版本一直在更新,所以如果按照旧的教程的话往往会有千奇百怪的错误。所以最好直接找官方的Guide来操作。
-2.多Google,多Stackoverflow
你要相信你遇到过的错误别人早就遇到过了,最好在Google和Stackoverflow上搜索出现的错误。错误最好是英文原文,这样比较方便能搜到正确的结局方案。
-3.优先apt-get,其次Git,再次网站下的zip
安装软件和依赖项的时候,能用系统的apt-get install的优先这么做,因为这样就不需要你自己编译以及配置环境变量。当没法apt-get而且软件可以在Github上找到的时候,优先去Github上clone。因为一般这个project对应的Readme里面会有非常细致的安装介绍。比如安装Caffe的时候我们就是从Github上clone的。当Github上也没有的时候才会考虑去官网下载,比如安装CUDA的时候我们是在官网下的deb文件。
1.Caffe的官方Ubuntu安装文档
2.欧新宇的安装博客
3.Ubuntu下安装Opencv3.0
中国科学技术大学多媒体计算与通信教育部-微软重点实验室
MultiMedia Computing Group
我们的主页