Ubuntu14.04 64位配置Caffe 教程(基于CUDA7.5)
深度学习是研究计算机视觉的重要工具,尤其在图像分类与识别等领域有着划时代的意义。现在有很多深度学习框架,Caffe是比较常用的一个。本文讲述了Ubuntu 14.04(64位)系统下配置Caffe的基本步骤,参考了Caffe的官方网站 http://caffe.berkeleyvision.org/。
一、系统环境配置
1.1 首先安装一般会用到的一些依赖项。打开Ubuntu系统的终端,输入以下命令:
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
1.2 下载并安装CUDA
我使用的是CUDA 7.5,下载地址 https://developer.nvidia.com/cuda-downloads
选择合适的版本,下载下来即可。按照图中的设置,下载到的是cuda_7.5.18_linux.run,默认下载路径是~/Downloads,在终端中输入:
cd ~/Downloads
sudo sh cuda_7.5.18_linux.run
运行后会有一大段文字要让你浏览,终端左下角有进度显示,当前应为0%,没必要看,直接按Ctrl+C 跳过,之后要输入“accept”。在下边就是要你选择装各个组件。第一个显卡驱动不要装,剩下的可以都装上。注意,也不要自己另外装NVIDIA显卡的官方驱动,可能会产生系统启动循环登录不进去的情况。我当时就是因为装了最新版官方驱动,导致循环登录不进去,尝试了网络上各路大神给出的方法,均不奏效。最后放弃了,还是使用自带的开源显卡驱动好了。
--------------------------------------------------------------------
但是即使这样可能会出现一些特殊情况。比如使用了自带的开源驱动,在编译完成caffe后,运行使用GPU的测试,会提示Error: CUDA driver version is insufficient for CUDA runtime version 。这表示显卡驱动没装对。这时只能不使用GPU,仅仅使用CPU了。当然如果非要使用GPU,只能安装合适的显卡驱动。正如前文所说,安装了最新的NVIDIA显卡驱动反而造成Ubuntu登录出现问题,那么应该装哪个驱动呢?
打开System Settings ——> Software & Updates——> Additional Drivers
我的显卡是GTX 760,列表中显示驱动中较新的是352.63版本。于是,我们可以从NVIDIA官网下载这个版本的显卡驱动。根据自己的显卡和系统来下载对应的驱动,我的下载后是NVIDIA-Linux-x86_64-352.63.run。 (一种更简单的方法是直接选中列表中的驱动版本,点击右下角的“Apply Changes”)
安装方法:
(1)先关闭桌面系统,终端输入:
sudo service lightdm stop
(2)然后按Ctrl + Alt +F1进入控制台,输入帐号和密码。cd到显卡驱动所在目录,然后执行:
sudo sh NVIDIA-Linux-x86_64-352.63.run
按照指令一步步安装完即可。
(3)中间可能会要求禁用自带开源驱动并重启计算机。重启后需要重复之前的步骤,然后一路确认就可以了。安装完成后,输入命令:
sudo service lightdm start
即可返回桌面系统。
--------------------------------------------------------------------
安装完CUDA后,需要在用户环境变量中加入两个路径。在终端中输入
gedit ~/.bashrc
在打开的文件末尾添加下面两行:
export PATH=/usr/local/cuda-7.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
然后保存并退出。
1.3 安装BLAS
终端中输入以下命令:
sudo apt-get install libatlas-base-dev
1.4 安装Python(可选的)
如果需要使用内置的Python,就需要运行下面的命令,这样在生成pycaffe接口时候才能有Python头文件:
sudo apt-get install the python-dev
1.5 剩下的一些依赖
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
二、Caffe的安装和编译
2.1安装Caffe
我们使用git来获取Caffe,如果之前没有安装git,需要手动安装
sudo apt-get install git
git clone https://github.com/BVLC/caffe/
2.2 配置Caffe
进入caffe的根目录。我的caffe下载后在主目录下,所以在终端输入:
cd ~/caffe
然后创建一个配置文件。由于下载后的caffe目录中自带一个Makefile.config.example文件,所以只需要将该文件复制一份,并且命名为Makefile.config即可。所以可以使用下面的命令:
cp Makefile.config.example Makefile.config
关于Makefile.config的一些说明如下:
(1)使用CPU&GPU加速的Caffe,不需要修改现有配置;
(2)使用NVIDIA的cuDNN软件加速的Caffe,则需要取消 “USE_CUDNN := 1”之前的注释符号。需要指出的是,cuDNN并不是一定会比Caffe的GPU加速快。
(3)仅使用CPU的Caffe,取消 “CPU_ONLY := 1”前面的注释。
2.3 编译Caffe
我们使用CMake来编译Caffe,如果之前没有安装CMake,需要手动安装
sudo apt-get install cmake
然后一次执行以下命令(如果遇到执行权限问题,在命令前加上 sudo)
mkdir build
cd build
cmake ..
make all
make install
sudo make runtest
至此,已经成功安装了Caffe。可以在一些数据集上进行一些测试了。
三、使用Caffe
3.1 准备MNIST 数据集
首先准备数据集。我们需要从MNIST网站上下载数据并转换格式。为了简单,可以直接执行下面的命令:
cd ~/caffe
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
运行后,在caffe/examples/mnist下会生成mnist_train_lmdb和 mnist_test_lmdb两个文件夹。
3.2 执行结果
终端输入以下命令(当前工作目录仍然是~/caffe):
./examples/mnist/train_lenet.sh
运行这句命令,最后训练成功结果如图。