Ubuntu16.04 Caffe安装笔记
2017-05-21 22:22
337 查看
前言:
大概半年前吧,由于学习需要,本人需要在Ubuntu上使用caffe,当时对于Linux,caffe一窍不通,配置安装caffe就失败好多次,光系统重装不下十多次。为什么会这样呢,根本原因是我对这个东西不懂,但是还有一个间接原因就是网上的关于安装配置caffe的博文有好多都是胡说八道,东抄西抄,我曾经看到好几篇博客错得一模一样。不给社区做贡献也就算了,还误人子弟!!!所以我就将自己的配置过程详细记录下来,一是为了以后自己再次配置方便查阅。二是希望其他人不要走我的弯路。
一、安装nvidia驱动
如果要用NVIDIA的显卡做GPU加速,必然要安装人家显卡的驱动。安装显卡驱动有两种方法,一种是用apt-get,一种是用官方的驱动安装包。apt-get安装方法:
执行如下语句,安装显卡驱动:sudo apt-get install nvidia-367
执行完上述后,重启(reboot)。重启后在终端输入如下命令,如果出现了你的GPU列表,则说明驱动安装成功了
nvidia-smi
另外也可以通过如下这个命令查看自己机器上详细的GPU信息
nvidia-settings
用apt-get安装唯一的缺点应该就是显卡驱动版本较低,但是几乎不会影响以后的操作,但本人在用apt-get安装显卡驱动时发生一件匪夷所思的事情,就是我打的是安装nvidia-367,但最终安装好的居然是375.39版本,这个版本可是非常新了,这事情碰到两次。但由于说真的驱动版本不会影响后续操作,我也就没这么去深究。
官方安装包安装:
首先当然是去NVIDIA官网(点此跳转)(http://www.nvidia.cn/Download/index.aspx?lang=cn)去下载与自己显卡配套的驱动。如图是本人电脑显卡的信息,注意如果是笔记本电脑,产品系列中要去选有Notebooks后缀的选项。将下载好的安装文件复制到Ubuntu的本地目录。按Ctrl + Alt + F1组合键切换到控制台,输入用户名和密码登录系统。而后输入如下命令来关闭图形会话。
sudo service lightdm stop
而后用cd命令跳转到安装包所在路径,运行驱动安装包(文件名以自己下载的为准):
sudo sh NVIDIA-Linux-*-334.21.run
而后就是傻瓜式安装,一路yes,碰到warning忽略……完成安装后sudo service lightdm start 或者直接sudo reboot重新启动。
最后用nvidia-smi或者nvidia-settings来查看是否安装成功
二、安装CUDA
cuda是nvidia的编程语言平台,先去官网下载cuda的安装文件(点此跳转)注册登录后选择自己要下载的版本,注意这里下载的是cuda8.0的runfile(local)文件。
下载完cuda8.0后cd到runfile文件所在目录,执行如下语句,运行runfile文件:
sudo apt-get install libxi-dev libxmu-dev sudo sh cuda_8.0.61_375.26_linux.run
以后的选择都是接受,yes,回车直接默认等,但有一个例外,就是让你选择是否安装nvidia驱动时,一定要选择否,因为前面我们已经安装了过了,所以这里不要选择安装。
我的安装日志如下所示:(下面有Missing recommended library: libXi.so
Missing recommended library: libXmu.so所以,在安装之前先安装好libXi和libXmu sudo apt-get install libxi-dev libxmu-dev)
Do you accept the previously read EULA? accept/decline/quit: accept Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26? (y)es/(n)o/(q)uit: n Install the CUDA 8.0 Toolkit? (y)es/(n)o/(q)uit: y Enter Toolkit Location [ default is /usr/local/cuda-8.0 ]: Do you want to install a symbolic link at /usr/local/cuda? (y)es/(n)o/(q)uit: y Install the CUDA 8.0 Samples? (y)es/(n)o/(q)uit: y Enter CUDA Samples Location [ default is /home/yangyuan ]: Installing the CUDA Toolkit in /usr/local/cuda-8.0 ... Missing recommended library: libXi.so Missing recommended library: libXmu.so Installing the CUDA Samples in /home/yangyuan ... Copying samples to /home/yangyuan/NVIDIA_CUDA-8.0_Samples now... Finished copying samples. =========== = Summary = =========== Driver: Not Selected Toolkit: Installed in /usr/local/cuda-8.0 Samples: Installed in /home/yangyuan, but missing recommended libraries Please make sure that - PATH includes /usr/local/cuda-8.0/bin - LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA. ***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work. To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file: sudo <CudaInstaller>.run -silent -driver Logfile is /tmp/cuda_install_2421.log
配置cuda8.0之后主要加上的一个环境变量声明,在文件~/.bashrc之后加上
gedit ~/.bashrc export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
然后设置环境变量和动态链接库,在命令行输入
sudo gedit /etc/profile
在打开的文件里面加上(注意等号两边不能有空格)
export PATH=/usr/local/cuda/bin:$PATH
保存之后,创建链接文件
sudo gedit /etc/ld.so.conf.d/cuda.conf
在打开的文件中添加如下语句:
/usr/local/cuda/lib64
保存退出执行如下命令,使链接立即生效。
sudo ldconfig
安装完成后在终端输入nvcc -V(V是大写)来查看cuda是否安装成功,如果输出cuda的版本信息,就没问题了。如果说没有安装好,重启再查看。
-还有一个测试办法,通过运行cuda的samples来测试(对应地址以自己电脑上的为准)返回GPU的信息则表示配置成功。
cd ~/NVIDIA_CUDA-8.0_Samples/samples/1_Utilities/deviceQuery make sudo ./deviceQuery
注意ubuntu的gcc编译器是5.4.0,cuda8.0是支持5.0以上的编译器,所以并不需要降级,如果要用runfile文件安装cuda7.5,就需要将gcc和g++降级到5以下版本,但我是觉得要是不用最新的cuda8.0,那完全可以通过apt-get来安装cuda呀:
sudo apt-get install nvidia-cuda-toolkit
总之Ubuntu的apt-get安装库是非常的方便快捷,但唯一的缺点就是一般都是较老的版本。
三、使用cudnn
首先上官网下载对应的cudnn,https://developer.nvidia.com/cudnn下载完cudnn后,解压,会解压成一个cuda的文件夹,cd进入其中的include目录,在命令行进行如下操作:
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
再cd进入lib64目录下的动态文件进行复制和链接:
sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库 cd /usr/local/cuda/lib64/ sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件 sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 #生成软衔接 sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
(通过ls命令来查看libcudnn.so的具体版本号,如下图libcudnn.so的具体版本号为5.1.10,个人根据自己的情况做对应修改)
四、安装opencv
如果仅仅是为了配置安装caffe来安装opencv,本人建议直接用apt-get来安装,因为caffe里面用到的opencv模块非常有限,仅限于图片的读写,缩放等。sudo apt install libopencv-dev python-opencv
关于opencv最新版的配置安装详见我的另外一篇博文《Ubuntu16.04 OpenCV安装笔记》。
五、安装caffe
安装caffe之前先安装它所依赖的各种库(注意:该段代码最好多运行几遍,因为有的库只运行一遍可能会没安装成功)sudo add-apt-repository universe sudo apt-get update -y sudo apt-get install -y build-essential cmake git pkg-config # General Dependencies sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler -y sudo apt-get install --no-install-recommends libboost-all-dev -y # BLAS sudo apt-get install libatlas-base-dev -y # Remaining Dependencies sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev -y sudo apt-get install -y python-dev sudo apt-get install -y python-numpy python-scipy python-setuptools python-pip cython python-skimage python-protobuf
编译 Caffe,cd到要安装caffe的位置(最好就直接在家目录cd ~),来用命令下载caffe文件包
git clone https://github.com/BVLC/caffe.git cd caffe cp Makefile.config.example Makefile.config
修改Makefile.config:
gedit Makefile.config
对打开的文件编辑
# cuDNN acceleration switch (uncomment to build with cuDNN). USE_CUDNN := 1
(当显卡CUDA Capability低于3.0时,cudnn加速时不支持的,比如我的笔记本电脑显卡为GeForce 610,其CUDA Capability为2.1(该指标可在此网站查看https://developer.nvidia.com/cuda-gpus),当然不支持cudnn加速,刚开始不知道直接导致后面make runtest的后部分出错,mnist报错:caffe make runtest error(core dumped)Check failed: status == CUDNN_STATUS_SUCCESS (6 vs. 0))
# Uncomment if you're using OpenCV 3 如果用的是opencv3版本 OPENCV_VERSION := 3 # Uncomment to support layers written in Python (will link against Python libs) WITH_PYTHON_LAYER := 1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径(如果不改,会直接导致后面make的时候出错,报错:/usr/bin/ld: cannot find -lhd5和/usr/bin/ld: cannot find -lhd5_hl):
打开makefile文件
gedit Makefile
将
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
编辑/usr/local/cuda/include/host_config.h,将其中的第115行注释掉:
sudo gedit /usr/local/cuda/include/host_config.h
将
#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
改为
//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
之后编译即可
make -j8 all sudo make -j8 runtest
(此处要用管理员权限sudo才可以完全成功运行)
如果运行之后出现下图,说明caffe配置成功。
而后开始编译caffe的Python接口pycaffe :
make pycaffe cd python python >>>import caffe #测试安装成功
(添加环境变量
gedit ~/.bashrc
将export PYTHONPATH=/home/用户名/caffe/python:$PYTHONPATH添加到文件中。
source ~/.bashrc 使更改生效。
这样,在其他地方打开python,也可以import caffe了。否则你编写一个Python文件不在/home/用户名/caffe/python里面的话import caffe会报错,说找不到该模块)
六、MNIST数据集训练测试
到这里Caffe开发环境就配置好了!我们可以利用MNIST数据集对caffe进行测试,过程如下:将终端定位到Caffe根目录
cd ~/caffe
下载MNIST数据库并解压缩
./data/mnist/get_mnist.sh
将其转换成Lmdb数据库格式
./examples/mnist/create_mnist.sh
训练网络
sudo ./examples/mnist/train_lenet.sh
训练的时候可以看到损失与精度数值,如下图:
可以看到最终训练精度是0.9914。
相关文章推荐
- 笔记:ubuntu 14.04/16.04(linux)下离线批量安装依赖库,caffe,cuda8.0
- Caffe深度学习入门——Ubuntu16.04 + CUDA9.1+cudnn7.5 + opencv3.3.1+python3.5+caffe安装参考博客和跳坑笔记
- Ubuntu16.04+matlab2014a+anaconda2+OpenCV3.1+caffe安装
- Caffe & Theano安装教程——ubuntu16.04系统
- Caffe + Ubuntu 15.04(16.04) + CUDA 7.5(8) 新手安装配置指南
- Ubuntu16.04+cuda8.0+opencv3.1+caffe+anaconda安装,双显卡
- Caffe学习(1):Ubuntu16.04上Caffe配置安装(Only CPU)
- ubuntu16.04安装caffe以及各种问题汇总
- Ubuntu16.04+cuda8.0+caffe安装教程
- Ubuntu16.04安装CUDA7.5+Caffe+tensorflow
- ubuntu16.04+nvidia gt740m+cuda7.5+caffe安装、测试经历
- Ubuntu 16.04上安装Caffe
- ubuntu14.04+cuda-7.5(deb)+cuDNN+openCV+caffe 安装(安装笔记一)
- ubuntu16.04下安装caffe
- Caffe安装笔记一:VMWare11+Ubuntu14.04搭建Linux安装环境
- ubuntu 16.04 无GPU版caffe安装简记
- ubuntu16.04安装caffe
- windows 10上安装ubuntu 16.04桌面版之笔记: 引导启动器和lvm的DIY,exfat格式识别
- Ubuntu16.04+CUDA8.0+cudnn7.5+Caffe安装过程
- Ubuntu16.04 Caffe安装