关闭

深度学习系列文章之三:caffe+ubantu14.04+cuda7.5+cudnn7.0v3+openvc3.0安装

标签: ubantucaffe配置
1436人阅读 评论(0) 收藏 举报

一、Ubuntu14.04系统的安装。

二、CUDA7.5的安装

CUDA7.0的官网下载地址:https://developer.nvidia.com/cuda-downloads


选择下载上图标示的deb安装包,下载完成后会看到一个命名为:cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb的安装包文件,接下来开始安装:

1、  切换到deb目录下进行安装

  $sudo dpkg -i cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb

  $sudo apt-get update

  $sudo apt-get install cuda

 

2. 设置环境变量:

 打开文件.profile(只对当前用户生效):

  $sudo gedit ~/.profile

 在文件的末尾添加如下几行:

  export CUDA_HOME=/usr/local/cuda-7.5

  export LD_LIBRARY_PATH=${CUDA_HOME}/lib64

  PATH=${CUDA_HOME}/bin:${PATH}

  export PATH

 保存文件之后在命令行执行一下,让配置内容生效

$sudo source ~/.profile

到这个地方,cuda已经配置好了。为了验证一下cuda能不能使用,可以编译一下官方自带的samples

$cd /usr/local/cuda/samples/

$sudo make

   例子编译好之后,在samples下面的子文件bin/x86_64/linux/release中,运行编译好的可执行程序。

$cd  bin/x86_64/linux/release

$./deviceQuery

如果一切正常,那么该程序会打印出本机cuda device的一些信息,如下:


至此CUDA7.0安装结束。

 

三、安装BLAS(或者MKL)

1、blas安装:$sudoapt-get install libatlas-base-dev

2、MKL安装:下载MKL和安装序列号(需要用到教育网邮箱接收序列号)

文件下载完之后,要把文件解压到home文件夹。

tar zxvf parallel_studio_xe_2016.tar.gz

chmod a+x parallel_studio_xe_2016 -R

sudo ./install_GUI.sh

安装完成之后,需要设置mkl的配置文件

1. 新建intel_mkl.conf, 并编辑之:

$ sudo gedit/etc/ld.so.conf.d/intel_mkl.conf

/opt/intel/lib/intel64

/opt/intel/mkl/lib/intel64

2. 新建cuda.conf,并编辑之:

$ sudo gedit /etc/ld.so.conf.d/cuda.conf

/usr/local/cuda/lib64

/lib

3. 完成lib文件的链接操作,执行:

$ sudo ldconfig –v

 

四、安装cudnn

我这里下载的安装包是cudnn-7.0-linux-x64-v3.0-prod.tgz

$ sudo cp cudnn.h /usr/local/include

$ sudo cp libcudnn.so /usr/local/lib

$ sudo cp libcudnn.so.7.0 /usr/local/lib

$ sudo cp libcudnn.so.7.0.64 /usr/local/lib

b. 链接cuDNN的库文件

$ sudo ln -sf/usr/local/lib/libcudnn.so.7.0.64 /usr/local/lib/libcudnn.so.6.5

$ sudo ln -sf/usr/local/lib/libcudnn.so.7.0/usr/local/lib/libcudnn.so

$ sudo ldconfig –v

 

五、安装opencv3.0

1 首先,去OpenCV下载相应版本的OpenCV安装包(http://sourceforge.net/projects/opencvlibrary/或者github)。

2 安装一些必要的依赖,包括libgtk2.0-dev和pkg-config.

 sudoapt-get install libgtk2.0-dev pkg-config。

3 由于后面需要编译,还要安装make等工具。

sudo apt-get install build-essential.

4 由于OpenCV使用cmake来组织整个项目,所以还必须在你的Linux上安装cmake.安装方法也很简单,在终端中输入sudo apt-get install cmake.

5 进入到刚刚解压出来的目录,可以看到有CMakeLists.txt等一堆文件。将终端cd到这个目录,并执行cmake.(注意,cmake命令后面隔着一个空格,然后带了一个.)

6 在终端中编译sudo make。出现运行窗口如下:

 

六、安装其他依赖项

1. Google Logging Library(glog),下载地址:https://code.google.com/p/google-glog/然后解压安装。

$ tar zxvf glog-0.3.3.tar.gz

$ ./configure

$ make

$ sudo make install

如果没有权限就chmod a+x glog-0.3.3 -R , 或者索性 chmod 777glog-0.3.3 -R

2. 其他依赖项,确保都成功

$ sudo apt-get install -y libprotobuf-devlibleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev

$ sudo apt-get install -y libgflags-devlibgoogle-glog-dev liblmdb-dev protobuf-compiler

 

七、安装caffe需要的Python环境

安装IDE运行环境,我用的是Spyder,因为它内置了iPython 环境,Caffe有不少的程序是基于 iPython 环境完成的。安装方法很简单,直接在Ubuntu软件中心搜索“spyder”即可安装。

 

八、编译caffe

1. 安装pycaffe必须的一些依赖项:

$ sudo apt-get install -y python-numpypython-scipy python-matplotlib python-sklearn python-skimage python-h5pypython-protobuf python-leveldb python-networkx python-nose python-pandaspython-gflags Cython ipython

$ sudo apt-get install -yprotobuf-c-compiler protobuf-compiler

2. 下载Caffe-master,生成Makefile.config。Caffe官网:http://caffe.berkeleyvision.org/找到 View OnGitHub下载:

$ cp Makefile.config.exampleMakefile.config

 

3.  配置Makefile.config文件:

a. 启用CUDNN,去掉"#"(目前caffe-master仍然只支持R1版本)

USE_CUDNN := 1

b. 启用GPU,添加注释"#"

# CPU_ONLY := 1

c. 配置一些引用文件(增加部分主要是解决新版本下,HDF5的路径问题)

INCLUDE_DIRS:=$(PYTHON_INCLUDE)/usr/local/include/usr/lib/x86_64-linux-gnu/hdf5/serial/include

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib/usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

d.启用Intel Parallel Studio XE 2015 Professional Edition for C++ Linux

BLAS:= mkl

或者启用BLAS := atlas(取决于你安装的具体类型)

e. 配置路径,实现caffe对Python和Matlab接口的支持

PYTHON_LIB := /usr/local/lib

MATLAB_DIR := /usr/local/MATLAB/R2014a

f. 配置Makefile文件(实现对OpenCV3.x的支持)

查找“Derive include and lib directories”一节,修改“LIBRARIES +=”的最后一行,增加opencv_imgcodecsopencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

 

4. 编译caffe-master,"-j8"是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用:

$ make all -j8

$ make test -j8

$ make runtest -j8

 

5. 编译Python用到的caffe文件:

$ make pycaffe -j8

0
0
查看评论

《零基础入门深度学习》系列文章(教程+代码)

转载:原地址:http://blog.csdn.net/TS1130/article/details/53244576 无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个...
  • tansuo17
  • tansuo17
  • 2017-09-03 13:16
  • 1061

Raft系列文章之三:Raft RPC详解

上一篇文章提到, Raft核心部分只需要用到2个RPC: RequestVote和AppendEntries, 本文将介绍这两个RPC的格式和作用。 RequestVote RPC是由candidate发送给其他节点,请求其他节点为自己投票,如果一个candidate获得了多数节点的投票,则该can...
  • chicm
  • chicm
  • 2014-12-13 13:10
  • 1529

深度学习之三:深度学习基本思想

目录: 一、概述 二、背景 三、人脑视觉机理 四、关于特征        4.1、特征表示的粒度        4.2、初级(浅层)特征表示    ...
  • starzhou
  • starzhou
  • 2015-07-12 15:10
  • 699

Mesos&PaaS系列文章之三——Slave节点安装

Slave节点负责接收并执行来自mesos-master的命令、管理节点上的mesos-task,并为各个task分配资源。mesos-slave将自己的资源量发送给mesos-master,由mesos-master中的Allocator模块决定将资源分配给哪个framework,当前考虑的资源有...
  • tiger435
  • tiger435
  • 2015-10-26 11:13
  • 1597

深度学习之三:RNN

RNN,也就是Recurrent Neural Network,循环神经网络,是非线性动态系统,将序列映射到序列,主要参数有五个:[Whv, Whh, Woh, bh, bo, h0] ,典型的结构图如下: 解释一下上图: 和普通神经网络一样,RNN有输入层输出层和隐含层,不一样...
  • u010223750
  • u010223750
  • 2016-05-06 20:45
  • 5156

kafka系列文章索引

 kafka系列文章索引 http://my.oschina.net/ielts0909/blog/117489 apache kafka在数据处理中特别是日志和消息的处理上会有很多出色的表现,这里写个索引,关于kafka的文章暂时就更新到这里,最近利用空闲时间在对kafka做一些...
  • strawbingo
  • strawbingo
  • 2015-04-29 14:16
  • 800

RabbitMQ 系列——1.初始

目录 目录 AMQP RabbitMQ RabbitMQ 消息持久化 kombu 介绍 消息的使用场景设想 消息可靠性AMQPadvanced message queue protocol virtual host(虚拟机)一个虚拟机持有一组交换机,队列,绑定; 用户只能在虚拟机的粒度进行权限控制;...
  • jeffor_tc
  • jeffor_tc
  • 2015-07-26 16:29
  • 293

JVM调优总结系列文章及汇总

1、一篇总结: JVM调优总结(这个总结得比较全面)补充调优原则(未经验证,请勿轻信!!!):响应时间优先:GC发生(年轻代eden区空间不足时)的时间比较短,频率比较低,也就是减少因GC引起的停顿时间和次数tomcat运行参数配置:堆内存设置为固定的较大内存,即Xms与Xmx的值相等,防止运行过程...
  • javaloveiphone
  • javaloveiphone
  • 2017-06-29 18:01
  • 277

本系列文章主要介绍如何使用UNIX

本文向您描述了如何从一个软件的源码包(tar ball)开始,一步一步地构建成为一个可以使用的应用程序,同时向您提供在这个构建过程中需要注意的一些情况。如果想了解更多对话 UNIX 的内容,请访问本系列文章。http://ibm.csdn.net/series/unix.html 
  • wz125
  • wz125
  • 2007-10-02 09:18
  • 397

UML基础与应用系列文章汇总

统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。            统一建模语言...
  • shan9liang
  • shan9liang
  • 2011-09-05 20:50
  • 3393
    个人资料
    • 访问:18553次
    • 积分:269
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:0篇
    • 译文:0篇
    • 评论:3条
    文章存档