linux配置matconvnet(GPU support)

转载 2015年11月19日 19:39:37

from http://blog.csdn.net/xiangych/article/details/49046169

ps:个人实验,仅供参考


硬件:

1、Intel(R) Xeon(R) E5-2620v2 2.10GHz 12core

2、NVIDIA Quadro K2000 显卡compute capability 2.0及以上可使用matconvnet GPU加速

3、RAM 16GB

环境:

1、fedora17 x86_64

2、cuda 7.5

3、matlab2015a

4、matconvnet 1.0 beta16

5、cudnn 6.5 v2


一、安装fedora17

试过很多linux版本,Fedora17配置起来比较简单。主要原因是matconvnet在编译时需要使用gcc4.7,其他版本可能导致编译失败。

Fedora17 x86_64下载地址:http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/17/Fedora/x86_64/iso/

安装过程中注意选择software development

二、安装cuda和Nvidia显卡驱动

1、安装所需依赖项(如果在安装Fedora17时选择的是software development这些依赖是安装好的)

sudo rpm -q gcc kernel-headers kernel-devel  查看是否安装gcc、kernel-headers、kernel-devel

sudo yum install gcc kernel-headers kernel-devel联网情况下可以使用yum命令安装依赖

sudo rpm -ivh xxx.rpm 使用下载好的rpm安装包安装依赖

2、禁用nvidia第三方驱动nouveau,启用nvidia驱动

sudo vi /etc/modprobe.d/blacklist.conf 修改blacklist

添加blacklist nouveau 禁用nouveau

找到blacklist nvidia这一行删除或注释掉(在前面添加#)

vi编辑器的一些操作:底行模式下按i进行输入,esc返回底行模式,:wq写入文件并退出。不懂的找度娘。

3、重建initramfs

sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak备份initramfs文件

sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)创建initramfs文件

操作错误可能会导致系统无法启动,可以放入系统盘进入终端模式通过备份还原initramfs文件,再重复步骤3

4、文本模式开机

ln -sf /lib/systemd/system/multi_user.target /etc/systemd/system/default.target

不同发布版的linux设置文本模式开机的方法不同,这个命令在Fedora17下可用。

5、重启电脑

lsmod|grep nouveau 确保nouveau没有加载(没有任何输出信息)

6、安装nvidia驱动和cuda

安装cuda时会提示你是否安装兼容驱动,不过cuda自带的兼容驱动可能会导致电脑重启无法进入图形界面,建议下载最新的nvidia驱动。

可以先安装cuda在安装nvidia驱动,这样可以避免安装cuda自带的兼容驱动。

具体安装执行nvidia官网下载的.run 文件即可,例如:sudo XXX.run

cuda7.5下载地址:https://developer.nvidia.com/cuda-downloads

nvidia驱动下载地址:http://www.nvidia.cn/Download/index.aspx?lang=cn

7、添加系统变量

sudo vi ~/.bashrc 修改bashrc文件

添加export PATH=$PATH:/usr/local/cuda-7.5/bin

添加export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-7.5/lib64

source ~/.bashrc 使修改立即生效

具体添加内容在cuda安装完成后会有提示,修改bashrc文件要谨慎,操作错误会导致系统命令不能使用。

8、图形模式开机

ln -sf /lib/systemd/system/graphic.target /etc/systemd/system/default.target

9、重启电脑

nvcc -V 查看nvcc编译器信息

如果操作成功则cuda安装成功,如果不成功可查看/usr/local路径下是否安装上cuda,确认cuda已经安装后检查系统变量是否添加正确。

10、测试cuda sample

如果在安装过程中选择安装了cuda sample,默认会在安装cuda的用户的用户文件夹(~/ 目录)下生成NVIDIA_CUDA-7.5_Sample。

进入目录执行make命令进行编译。编译过程中可能会提示缺少lib,需要安装相应lib。大部分缺少的lib可在安装盘的package目录下找到,比如:缺少lglut可以找到free-glut的rpm安装包。

编译成功后会生成bin目录。

三、安装matlab

下载matlab的安装包进行安装就可以,不多做介绍了。

安装matlab后创建启动器的方法:

sudo gedit /usr/share/applications/matlab.desktop

[Desktop Entry]

Name=Matlab2015a

Comment=Matlab2015a

Exec=/usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin/matlab -desktop添加matlab的执行路径,-desktop不能缺少。

Icon=

Terminal=false

Type=Application

Categories=Application

四、安装matconvnet

下载matconvnet:http://www.vlfeat.org/matconvnet/

安装过程参考:http://www.vlfeat.org/matconvnet/install/

1)添加路径

解压matconvnet,打开matlab进入matconvnet目录下执行:run matlab/vl_setupnn

2)编译matconvnet

vl_compilenn('verbose',1)

3)编译GPU支持

matlab与建议使用的cuda toolkit


如果使用的是上表中对应matlab版本的cuda可直接执行:vl_compilenn('enableGpu',true)

否则在编译GPU支持时需要在参数中写入cuda路径。

比如我使用过的是matlab2015a+cuda7.5,编译命令为:

vl_compilenn('enableGpu',true,...

'cudaRoot','/usr/local/cuda-7.5',...

'cudaMethod','nvcc')

五、安装cudnn

下载cudnn:https://developer.nvidia.com/cudnn

需要先申请注册,通常会在4小时内收到邮件回复,最多不超过两天。

安装时解压cudnn并在系统环境中添加LD_LIBRARY_PATH即可。

比如:

把cudnn拷贝到cuda同一目录下命名为cudnn-6.5,即/usr/local/cudnn-6.5

编辑bashrc:sudo vi ~/.bashrc

修改LD_LIBRARY_PATH:LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cudnn-6.5

使修改生效:source ~/.bashrc

重新编译matconvnet

以我的实验环境为例,在matlab下执行命令:

vl_compilenn('enableGpu',true,...

'cudaRoot','/usr/local/cuda-7.5',...

'cudaMethod','nvcc',...

'enableCudnn','true',...

'cudnnRoot','/usr/local/cudnn-6.5')

编译过程中若报错提示找不到libcudnn,可能原因是cudnn的librarypath没有添加生效。

六、测试

执行vl_testnn('gpu',true)进行测试。

如果是64位系统可能会报错,参考https://github.com/vlfeat/matconvnet/issues/246和https://github.com/vlfeat/matconvnet/commit/dc9b5755a0d9335f8814e9a878bc3ab0f8fe09ee

修改vl_test_nnlayers.m文件。


相关文章推荐

Linux下编译Matconvnet

Matconvnet是一个安装包,在matlab下面用caffe需要安装用到里面的函数,就像python调用caffe需要用到pycaffe一样。安装与编译后才能使用。 安装: cd到指定的目录下...

linux 服务器配置 matconvnet

所用matconvnet版本 为 version 1.0-beta12,实验室服务器为centos 6.5,所用matlab版本为2014b,cuda为cuda6.5,按照官网http://www...

深度学习入门级框架MatConvNet环境配置(Ubuntu14.04+Cuda7.5+Cudnn5+Matlab2014a)

深度学习入门级框架MatConvNet环境配置(Ubuntu14.04+Cuda7.5+Cudnn5+Matlab2014a)最近深度学习开始入门,用到了深度学习框架MatConvNet。MatCon...

MatConvNet学习笔记

基础概述MatConvNet是VLFeat的一部分,是卷积神经网络(CNN)的一个实现。既可以使用matlab编程,又能使用GPU加速,是一个不错的CNN库。 MatConvNet 主页安装下载Ma...

matconvnet 安装与使用

Note:本文主要步骤是Linux下安装matconvnet的过程。如果是windows,请先到文末看【注意】。 step1下载:matconvnet-1.0-beta23.tar 安装包。step2...

MatConvNet在Ubuntu14.04上的配置笔记

MatConvNet - VLFeat,MatConvNet: CNNs for MATLAB. MatConvNet is a MATLAB toolbox implementing Convolu...

linux配置matconvnet(GPU support)

ps:个人实验用仅供参考 硬件: 1、Intel(R) Xeon(R) E5-2620v2 2.10GHz 12core 2、NVIDIA Quadro K2000 3、RAM 16GB 环境: ...

MatConvNet教程----- Win7下编译和配置详解

Windows7 下安装 MatConvNet 和 CUDA7.5  安装环境: Win7 X64 ,  VS 2013,Matlab 2014Ra, CUDA 7.5.18,MatConvNet 1...

ubuntu环境下VLFeat在MATLAB上的运行

下载: http://www.vlfeat.org/download.html 配置: (1)MATLAB最低版本要求:2009B (2)配置方法: a 临时配置:  下载最新版本的VLFeat b...

深度学习(十四):详解Matconvnet使用imagenet模型训练自己的数据集

上节讨论过如何使一个简单的cnn网络训练mnist数据集,该节介绍复杂并且使用广泛的使用imagenet网络的预训练模型训练自己的数据集。Ok首先是自己的数据集了。Matconvnet中训练image...
  • on2way
  • on2way
  • 2016-10-28 19:50
  • 12855
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)