在ubuntu上配置cuda+cudnn+caffe(包括python和matlab接口)+digits
来源:互联网 发布:福师大网络教育平台 编辑:程序博客网 时间:2024/06/05 06:46
这篇算是自己对caffe学习的一个总结系列的开头。首先因为caffe的依赖项比较多,配置起来也比较麻烦。这篇算是比较详尽地把caffe的各种相关配置说清楚。转载请注明出处。
推荐ubuntu14.04版本,因为digits的支持比较好。显卡支不支持GPU加速要搞清楚啊,不支持就全用CPU算吧,别浪费时间折腾cuda了。
大家基本要按照官方教程上面来。但是官方教程有的坑没有点出来的,本文也一并列上了。
CUDA的安装
- 禁用nouveau驱动,nouveau是ubuntu自带的对nivida的开源驱动,对安装nvidia的官方驱动会有问题,所以先将其禁用。
按Ctrl+Alt+F1 进入tty1控制台,输入
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
在里面写上
blacklist nouveau
options nouveau modeset=0按esc 输入:wq 保存退出
ps:vim编辑器很好用啊,还不会的小伙伴要抓紧时间学啊。
执行
lspci | grep nouveau
查询pci总线中是否还有nouveau,grep后面接正则表达式过滤。
重新启动
sudo reboot
ps:显卡驱动挂掉之后很可能你就看不到系统界面了,启动之后显示器一团漆黑,其实系统是在运行的。我的做法是先提前装好了SSH服务,碰到这种情况就通过另一台电脑SSH登陆进去安装驱动。
CUDA官网下载。其实应该先下载好的,如果没来得及用图形界面下载,用wget, curl什么的下载也一样。 据说331的驱动有坑啊,大家不要用那个驱动。下面安装一些依赖项/
sudo service lightdm stop
sudo apt-get install g++
sudo apt-get install freeglut3-dev
下载好的cuda是一个shell脚本,运行
sudo sh cuda_7.5_linux.run
安装先按空格到文档100%然后回答一些accept,yes的问题,默认就好。安装完成后重启,然后
ls /dev/nvidia*
生成四个左右以nvidia开头的文件,如果有,则说明安装成功。没有可以按照下面方法卸载:
sudo /usr/local/cuda-7.5/bin/uninstall_cuda_7.5.plsudo /usr/bin/nvidia-uninstall
最后,配置环境变量,我们直接放在系统配置文件profile里面,先打开profile文件
sudo vi /etc/profile
在最后面加入两行代码:
export PATH=/usr/local/cuda-7.5/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
至此cuda安装完毕
CUDNN安装
CUDNN是给CUDA加速的。cudnn官网下载。貌似下载要先注册,审核通过还要几天时间。下载好之后解压。
cd cuda/includesudo cp *.h /usr/local/include/cd ../lib64sudo cp lib* /usr/local/lib/cd /usr/local/libsudo chmod +r libcudnn.so.4.0.4sudo ln -sf libcudnn.so.4.0.4 libcudnn.so.4sudo ln -sf libcudnn.so.4 libcudnn.sosudo ldconfig
这样CUDNN就安装完毕了,是不是很简单啊。
caffe的安装
首先先安装opencv,推荐2.4的版本。opencv1.x是纯C语言编写的,2.x c和c++的包都有,opencv3是只用c++写的。为了别人写的代码也能正常运行,还是推荐装2.x。
opencv2.4安装很简单了,下载下来解压,然后进入目录make, sudo make install就搞定了。
caffe官方下载 基本按照官方安装指南就可以了,有几个坑要稍微注意下。先安装依赖:
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-dev
下面这个我安装一次跪一次,因为你每次安装的版本都是最新的,但是最新的版本之间相互未必兼容,所以这里推荐手动安装。
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
贾扬清大神还说了,大家一定要看清楚啊!
Note that glog does not compile with the most recent gflags version (2.1), so before that is resolved you will need to build with glog first.
我这里推荐boost-1.55,gflags-2.0,glog-0.3.3。至少这个版本亲测无误。以后这种问题能不能解决不得而知,目前只好这样了。
# glogtar zxvf glog-0.3.3.tar.gzcd glog-0.3.3./configuremake && sudo make install# gflagsunzip gflags-master.zipcd gflags-mastermkdir build && cd buildexport CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1make && sudo make install# lmdbcd lmdb/libraries/liblmdbmake && sudo make install
下面开始配置caffe并且开始编译了。
cp Makefile.config.example Makefile.config# Adjust Makefile.config (for example, if using Anaconda Python, or if cuDNN is desired)make allmake testmake runtest
配置文件有几点要注意:
# cuDNN acceleration switch (uncomment to build with cuDNN).# USE_CUDNN := 1# CPU-only switch (uncomment to build without GPU support).# CPU_ONLY := 1BLAS choice:# atlas for ATLAS (default)# mkl for MKL# open for OpenBlasBLAS := atlas# Custom (MKL/ATLAS/OpenBLAS) include and lib directories.# Leave commented to accept the defaults for your choice of BLAS# (which should work)!# BLAS_INCLUDE := /path/to/your/blas# BLAS_LIB := /path/to/your/blas
这几个地方根据自己情况选择。
make all没有问题的话,caffe就算成功了啊。
在开始下面内容之前,我们先用caffe跑个著名的mnist的例子吧(号称深度学习的hello world)。
下载mnist数据
cd ~/caffesh data/mnist/get_mnist.shsh examples/mnist/create_mnist.sh
运行时,如果你有GPU,则不需要修改配置文件,如果没有gpu,则需要修改配置文件lenet_solver.prototxt
sudo vi examples/mnist/lenet_solver.prototxt
将最后一行的solver_mode:GPU改为solver_mode:CPU
配置好后,就可以运行了
sh examples/mnist/train_lenet.sh
最后正确率反正99%点多吧,这个库已经跑得很好了。
MKL的安装
BLAS: install ATLAS by sudo apt-get install libatlas-base-dev or install OpenBLAS or MKL for better CPU performance.
为了获取更好的性能,我们安装MKL。
先去Intel官网注册下载,学生可以申请学生版,里面会有注册号。
运行里面install脚本就可以安装。
配置MKL:
sudo gedit /etc/ld.so.conf.d/intel_mkl.conf
在文件中添加内容
/opt/intel/lib
/opt/intel/mkl/lib/intel64
注意把路径替换成自己的安装路径。 编辑完后执行
sudo ldconfig
如果改了默认路径,在caffe里面的Makefile.config也要改一下。
# BLAS choice:
# atlas for ATLAS (default)
# mkl for MKL
# open for OpenBlas
BLAS := mkl
Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
Leave commented to accept the defaults for your choice of BLAS
(which should work)!
BLAS_INCLUDE := /path/to/your/blas
BLAS_LIB := /path/to/your/blas
DIGITS的安装
digits官网下载
digits 相当于一个图形化界面,对于初学者来说方便不少。另外还支持torch(另一个深度学习框架)。
这个只要根据官网教程做就可以了,ubuntu14.04就是这么简单,可以直接apt-get。
CUDA_REPO_PKG=cuda-repo-ubuntu1404_7.5-18_amd64.deb &&wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/$CUDA_REPO_PKG &&sudo dpkg -i $CUDA_REPO_PKGML_REPO_PKG=nvidia-machine-learning-repo_4.0-2_amd64.deb &&wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/$ML_REPO_PKG &&sudo dpkg -i $ML_REPO_PKGsudo apt-get updatesudo apt-get install digits
python和matlab caffe安装
python
先安装依赖项目:(在caffe/python/requirements.txt里面有详细内容)
for req in $(cat requirements.txt); do pip install $req; done
记得要在requirements的目录下,而且安装了pip哦,easy_install也可以的,稍微改下命令。
然后
make pycaffe
matlab
安装好matlab之后,在配置文件中配置matlab的路径,
# This is required only if you will compile the matlab interface.# MATLAB directory should contain the mex binary in /bin.MATLAB_DIR := /usr/local/MATLAB/R2014a然后:make matcaffe
- 在ubuntu上配置cuda+cudnn+caffe(包括python和matlab接口)+digits
- NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0环境配置
- CUDA 7/cuDNN/caffe/DIGITS实战教程
- ubuntu cuda cudnn配置
- caffe配置Ubuntu 15.04+CUDA 7.5+MKL+Opencv3.0+CUDNN
- Amazon AWS上Caffe+GPU CUDA 8.0 +cuDNN 5.0 +OpenBLAS+pycaffe配置和lenet训练方法
- caffe-windows配置python和matlab接口
- EC2上的深度学习:CUDA 7/cuDNN/caffe/DIGITS实战教程
- EC2上的深度学习:CUDA 7/cuDNN/caffe/DIGITS实战教程
- NVIDIA DIGITS 学习笔记(NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0)
- NVIDIA DIGITS 学习笔记(NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0)
- NVIDIA DIGITS 学习笔记(NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0)
- Ubuntu15.04+caffe+cuda+cudnn+matlab
- 在UBUNTU 16.04上配置TensorFlow + cuDNN + CUDA深度学习系统(30分钟傻瓜版)
- Ubuntu 15.04: Compile Caffe with CUDA/cuDNN
- Ubuntu+cuda+CuDnn+Caffe完美安装教程
- Ubuntu离线安装cuda,cudnn,caffe,opencv
- k20+caffe+cuda 7.5+cudnn v5+python
- CSS体系总结
- Android中糟糕的AsyncTask
- 排序算法性能分析
- C#动态对象
- ArcGIS图层介绍
- 在ubuntu上配置cuda+cudnn+caffe(包括python和matlab接口)+digits
- C++ 作用域符号:: 常用三种方式
- static关键字使用场景
- 【Android开发总结】最全的Android权限参考
- 跨进程通讯的四种方式
- 判断购物车是否过期
- Hadoop系列五:Hadoop之Zookeeper篇
- TortoiseSVN客户端 拉分支
- 如何使用iClap创建普通批注