caffe在ubuntu16.04配置流程

先说废话:在导师办公室2天+自己在家一天终于完成了caffe的配置,(上一篇随笔说好每天更新blog没有做到但我真的有在忙= =)整个过程掉坑无数,还好lucky enough配置完毕,趁着在跑cifar-10的train_full的时间整理一下整个流程,等导师的titanx到了以后还要再配置一次。

env:Alienware17-R3, Ubuntu16.04 64-bit, NVIDIA Geforce GTX 980m (导师科研经费买的titanx没到,我的外星人只好先充公了,哈哈)

配置了CUDA8.0, cuDNN5.0, opencv2.4.13

参考了一些内网和外网的资料,我会尽量全部自己写,实在遇到需要参考的内容会贴出网址。

首先你得有一些基本的linux基础,哪怕你在macOS上玩过terminal也可以,毕竟都是unix-based。

稍微提一下自行安装ubuntu16.04的流程:去ubuntu官网下一个镜像文件,用u盘自制系统盘,然后照着装就行,具体请看 http://www.linuxidc.com/Linux/2016-04/130520.htm。

首先先打开terminal,输入以下dependencies:

1 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
2 sudo apt-get install --no-install-recommends libboost-all-dev
3 sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
4 sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

I. Nvidia 驱动

ubuntu装好以后需要安装nvidia驱动,ubuntu默认驱动识别了intel的显卡肯定是不行的,这里请上nvidia官网http://www.nvidia.com/Download/index.aspx?lang=en-us查询你需要什么驱动,现在2017年1月30日基本上标配是375,但是还是查一下比较稳妥

安装方法网上有很多说法,有说要blacklist这个那个,要关闭xserver,lightdm之类的。我在这里花了两天时间,以上方法均造成了各种问题。最终我安装成功的方法是

1. Run sudo apt-get purge nvidia-*

2. Run sudo add-apt-repository ppa:graphics-drivers/ppa and then sudo apt-get update

3. Run sudo apt-get install nvidia-375

4. Run sudo reboot

这里是一个非常tricky的点,我时间主要花在这里了,查了非常多资料,之前各种当机原因我只搞清了其中几个,这里稍微整理一下:

1. 用ubuntu里设置自带的additional drivers选择nvidia driver,失败,无法完全安装

2. blacklist了nouveau,使用alt+ctrl+f1,sudo service lightdm stop(关闭xserver),apt-get 手动下载的安装包,一样当机

3. 安装cuda8.0时第一个选项“是否安装nvidia驱动“选择了yes。。。这里一定要选择no。。虽然他default是yes,但是后来发现caffe官网上已经明确说因为cuda绑定的nvidia driver版本usually out-of-date所以要跳过这一步。。

只能说如果有特殊情况问题请留言,我会尽量帮你解决。博客我天天看,回复不会超过24小时

有两个方法check是否安装完成,一是输入sudo nvidia-smi,如果正确显示显卡信息则为安装成功

二是直接右上角查看this computer, 显卡显示的是不是n卡就行

II. cuda8.0

当你的ubuntu能正确识别nvidia显卡以后我们就可以开始安装cuda了(其实有资料说顺序随意,不过反正我是按这个顺序配置成功的,就这样写了)。

首先去cuda官网下载cuda8.0 https://developer.nvidia.com/cuda-downloads

一步步选择linux->x86_64->ubuntu->16.04->runfile(这里选择runfile是为了能跳过cuda自带的n卡驱动安装),然后就可以下载了,1.4个g,你可以趁现在喝杯茶。

下载好以后cd到你下载的地方,run"sudo sh cuda_8.0.44_linux.run",具体文件名自己check,一开始会有很多要读的霸王条款,直接q到最后,输入accept。后面会让你选择各种细节安装项,这里注意问你是否要安装nvidia driver一定要选择no, 我安装的时候是第一个。

安装好以后 sudo gedit ~/.bashrc ,将下面内容写到bashrc最后

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

然后测试一下cuda给的sample:

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery

make

sudo ./deviceQuery

如果显示了你的GPU相关信息,说明安装成功

III. cuDNN

这里我cuDNN使用的是5.0版本for CUDA8.0.,在https://developer.nvidia.com/rdp/cudnn-download下载,需要先注册一个账号。选择cuDNN v5 Library for Linux.

下载好以后解压 sudo tar -zxvf ./文件名

然后

$ cd folder/extracted/contents

$ sudo cp -P include/cudnn.h /usr/include

$ sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/

$ sudo chmod a+r /usr/lib/x86_64-linux-gnu/libcudnn*

IV. opencv

这里选择的版本是2.4.13。3.0,3.1均会出现一些兼容问题,所以选择了2016年release的2.4.13版本

http://opencv.org/downloads.html  这里下载

下载好以后

unzip opencv-2.4.13.zip 具体文件名自己看,会有出入

将其复制到准备安装的目录下,这里assume文件夹名为opencv

cd ~/opencv

mkdir build

cd build

sudo apt install cmake

sudo cmake -D CMAKE_BUILD_TYPE=Release -D

CMAKE_INSTALL_PREFIX=/usr/local ..

sudo make

我的2.4版本直接配置完毕,如果是3.0和3.1可能会出现兼容问题,具体看个人选择自行查阅资料解决,这里我没装3.0

compile完以后

sudo make install

完成安装

V. caffe!

前戏这么多终于进入正题开始配置caffe了。。

从github上下载caffe: git clone https://github.com/BVLC/caffe.git

如果没有安装git,需要先: sudo apt-get install git

然后sudo cp Makefile.config.example Makefile.config

打开Makefile.config文件,这里需要权限不要忘了sudo。用getit或者nano都可以

如果你之前没有跳过cudnn,则需要将

#USE_CUDNN := 1的#去掉

如果你opencv版本是3你需要把opencv_version:=3的#也去掉

其他配置自行查看,根据之前的步骤只需要把cudnn那一行注释去掉即可

然后

将# Whatever else you find you need goes here.下面的

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

修改为:

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

然后

(5)修改makefile文件

打开makefile文件,做如下修改:

将:

NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)

替换为:

NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

(6)编辑/usr/local/cuda/include/host_config.h

将其中的第115行注释掉:

#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!

最后 sudo make all

我遇到的问题:

"libcudart.so.8.0 cannot open shared object file: No such file or directory"

解决办法是将一些文件复制到/usr/local/lib文件夹下:

#注意自己CUDA的版本号!

sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0 && sudo ldconfig

sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0 && sudo ldconfig

sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0 && sudo ldconfig

完成之后测试:

sudo make runtest

运行完之后如果最后左下角显示绿色的passed,则caffe配置成功,大功告成!

VI. 小试牛刀

到这里caffe已经配置完毕,我们来找一组dataset测试一下,这里选用cifar-10.

具体流程caffe官网有http://caffe.berkeleyvision.org/gathered/examples/cifar10.html

我简单写一下

首先下载安装cifar-10,这里我assume你安装caffe的文件夹就叫caffe

cd caffe

./data/cifar10/get_cifar10.sh

./examles/cifar10/create_cifar10.sh

然后就好了,简单吧,来一组快速测试:

cd caffe

./examples/cifar10/train_quick.sh

泡杯茶的功夫他应该已经跑完了,设置的iteration只有5000,最后会显示Optimization done.

VII. 总结

不多说了,坑巨多,具体有问题请留言我尽量帮忙

reference:

http://www.2cto.com/kf/201610/552429.html

http://askubuntu.com/questions/767269/how-can-i-install-cudnn-on-ubuntu-16-04


 


时间: 2024-10-13 00:48:29

caffe在ubuntu16.04配置流程的相关文章

【Caffe】Ubuntu16.04上配置安装caffe(Only CPU)

一.首先看看自己的系统,Ubuntu16.04,cpu,没有Nvidia,没有opencv 二.安装依赖包 安装protobuf,leveldb,snappy,OpenCV,hdf5, protobuf compiler andboost: sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler sudo apt-get

py-faster-rcnn + opencv3.0.0 + ubuntu16.04配置

最近开始做行人检测,因此开始接触faster-rcnn,这里贴上配置教程(亲测可行),不过是基于cpu的,蓝瘦... 参考博客:http://www.tuicool.com/articles/nYJrYra(opencv配置) http://blog.csdn.net/sinat_17196995/article/details/53410292(faster-rcnn配置) 环境:ubuntu16.04 一.首先要配置好opencv 这里我是在opencv官网上下载了opencv-3.0.0-

vm虚拟机下的ubuntu16.04配置静态ip(NAT方式)

最近在vm上写项目的过程中,需要通过windows上的navicat连接虚拟机上的mysql,发现每次重启虚拟机其下的ubuntu16.04系统ip都不一样,导致原先在navicat配置好的连接无法使用.于是就想到需要给vm中的系统配置一个不会变化的ip,经过上网查找相关资料,并根据自己的实践情况,现将整理一下笔记. 给vm虚拟机配置静态ip,可以使用交接的方式,但由于VAT方式配置的话集群会更好一些,所以推荐使用NAT方式. 1. 将主机网卡的网络共享给VMnet8 在桌面上找到[网络]-->

ubuntu16.04配置openproject开发环境步骤

OpenProject开发环境搭建 系统要求:ubuntu-16.04.2-desktop-amd64.iso 系统安装教程参考: https://jingyan.baidu.com/article/359911f5afb04257fe0306c7.html 新系统安装ssh.vim.git 安装ssh sudo apt-get update sudo apt-get install openssh-server   #安装ssh(默认大部分已安装) sudo ps -aux|grep ssh

Ubuntu16.04配置Android5.0编译环境

1.安装jdk7 Ubuntu16.04的安装源已经默认没有openjdk7了,所以要自己手动添加仓库,如下: $ sudo add-apt-repository ppa:openjdk-r/ppa $ sudo apt-get update 安装openjdk-7-jdk $ sudo apt-get install openjdk-7-jdk openjdk-7-jre 如果安装成功之后还是不能用可能有多个版本,执行如下命令选择正确的版本:$ sudo update-alternatives

ubuntu16.04配置sonarqube+MySQL

环境: [email protected]:~# uname -a Linux ubuntu 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux [email protected]:~#  [email protected]:~# cat /etc/issue Ubuntu 16.04 LTS \n \l [email protected]:~# 安装配置mysql

Ubuntu16.04 配置 国内更新源

Ubuntu 配置 国内更新源之所以要换成国内的 就是因为国外的源太慢了视频链接地址:http://v.youku.com/v_show/id_XMjYxMjI5MDk2OA==.html 1.百度搜索 "ubuntu 16.04 更新国内源" 2.编辑 /etc/apt/sources.list #sudo  vim /etc/apt/sources.list    我们来清空内容:  shift + : 1,$ d  再按i 进行编辑  复制我们刚才找的源内容 然后粘贴 ##阿里云

基于ubuntu16.04配置opencv3.1+python3.5

最近跑深度学习程序,在python3.5环境下运行tensorflow与keras.opencv提供了不少计算机视觉算法,想要调用opencv函数,发现当初配置opencv的python解释器版本是2.7.那怎么办呢? 0. 安装带GUI的cmake工具: sudo apt-get install cmake-curses-gui 1. ccmake 进入opencv-3.1.0/build/路径下,执行ccmake ccmake . 如图所示 2. 添加python3路径 向下翻页,找到pyt

ubuntu16.04 配置爬虫环境

MySQL 安装 sudo apt-get install mysql-server(若安装有误,则update再安装,记得设置root密码) 配置 远程访问:1 进入/etc/mysql 找到my.cnf指向的俩个路径,进入其中一个更改bind为0.0.0.0或者注释掉: 2 进入mysql,通过命令grant all privileges on *.* to "user_name"@"user_ip"  identified by "user_pass