Caffe安装教程(Ubuntu15.04+CUDA7.5)
来源:互联网 发布:淘宝o2o平台 编辑:程序博客网 时间:2024/04/30 18:40
- Caffe安装教程Ubuntu1504CUDA75
- Ubuntu的安装
- 必要软件安装和环境的简单配置
- CUDA75
- 其它的依赖项
- 安装Opencv
- Caffe安装和编译
- 安装感想
- 参考文献
Caffe安装教程(Ubuntu15.04+CUDA7.5)
Caffe作为开源的深度学习框架,有着代码结构清晰,速度快等优点。但是配置与安装一直是个比较令人头疼的问题。尤其是随着每个Caffe包版本的升级以及CUDA等必要的库的更新换代,之前能用的教程说不定版本一更新就用不了了。在配置Caffe的时候我就走了不少弯路。最后折腾了好几天才搞定。这里我把我配置的流程简单介绍一下。
Ubuntu的安装
我安装的是Ubuntu15.04版本,安装Ubuntu是相对来说比较简单的。你只要需要一个作为启动盘的U盘即可。Ubuntu安装完以后我们优先安装vim和git两个重要的软件。
sudo apt-get update sudo apt-get install git vim cmake automake
必要软件安装和环境的简单配置
CUDA7.5
打开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-compilersudo apt-get install --no-install-recommends libboost-all-devsudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-devsudo 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 ipythonsudo apt-get install libatlas-base-dev
这样就安装了protobuf,snappy,hdf5,boost,gflags,glog,lmdb,python以及atlas。
由于我们的系统版本是15.04,不需要单独去下载glog,gflags等单独make。能apt-get的就最好不要自己make。
安装Opencv
关于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.gitcd Install-Opencv-master/Ubuntush dependencies.shcd 3.0sh opencv3_0_0-rc1.sh
shell脚本里包含了下载opencv附加项,从git下载Opencv3.0文件以及编译,环境变量配置的全部过程。
为了测试一下Opencv是否安装成功了,可以参考这位老兄的方法。
Caffe安装和编译
Caffe的下载去Github下载即可。
git clone https://github.com/BVLC/caffe.gitcd caffecp Makefile.config.example Makefile.config
然后修改Makefile.config的选项。
-1.配置引用文件
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/includeLIBRARY_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 -j4make test -j4make 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
我们的主页
- Caffe安装教程(Ubuntu15.04+CUDA7.5)
- Ubuntu15.04+Caffe+CUDA7.5 新手安装配置教程
- ubuntu15.04安装cuda7.5
- ubuntu14.04+cuda7.5+caffe安装教程
- caffe + ubuntu15.04 安装教程
- Caffe安装手记【Ubuntu15.04、CUDA7、OpenBlas、OpenCV、cuDNN】
- ubuntu15.04+caffe+cuda7.5+cudnnv4+mkl+opencv3
- Ubuntu15.04+cuda7.0+caffe+notebook
- Ubuntu15.10 + Cuda7.5 配置Caffe
- GeForce GTX 980Ti+ubuntu15.04+cuda7.0+caffe安装指南
- Ubuntu14.04 安装CUDA7.5 + Caffe + cuDNN
- Caffe+Ubuntu14.04+CUDA7.5安装笔记
- ubuntu14.04安装cuda7.5+cudnn+caffe
- Ubuntu16.04安装CUDA7.5+Caffe+tensorflow
- Ubuntu14.04 安装CUDA7.5 + Caffe + cuDNN
- Unbuntu14.04 安装caffe (cuda7.5)
- Ubuntu14.04 安装CUDA7.5 + Caffe + cuDNN
- Caffe+Ubuntu14.04+CUDA7.5安装笔记
- 【数据结构与算法】排序算法之五:归并排序
- Apache MINA框架
- Java循环语句的基础知识
- awk
- 用柔性数组处理Pascal字符串内存块
- Caffe安装教程(Ubuntu15.04+CUDA7.5)
- Java连接mysql数据操作类
- tomcat 多实例部署
- ZZULIOJ 1793 有趣的球
- 使用 PopupWindow 自定义对话框遭遇的悲催事件和解决方法
- 利用遍历思想求解图问题(输出一些简单回路)
- 字符串匹配(一)——朴素算法,Rabin-Karp算法
- 【bzoj2982】combination
- eclipse没有(添加)”Dynamic Web Project”选项的方法