在动手安装之前,首先要确定硬件,系统,准备安装软件的版本,确定这些软硬件之间是否相互支持或兼容。本文安装的主要环境和软件如下:

Ubuntu16.10+CUDA8.0(cudnn5.1,CNMEM)+Theano0.8.2+Tensorflow0.11.0rc1+Keras1.1.0

显卡型号为Quadro K6000。

深度学习的另外一个比较常用的开发环境是CAFFE,由于之前的很多大牛基于CAFFE做了很多注明的模型,且已经发布到网上,故这套框架更适合于应用。但CAFFE安装起来异常复杂,需要安装非常多的依赖库,以及OpenCv等软件。而且CAFFE框架比较死板,很难修改,个人认为不太适合科研。故本文不涉及CAFFE相关内容。

首先,感谢运维小哥帮我安装ubuntu16.10系统。进入系统后,打开终端,开始安装操作。注意,下面操作命令通常要加sudo,如果切换到超级用户则不需要加。

1.   安装编译环境

主要是make,cmake, gcc,g++,这是linux下最基本的开发环境,有些机器是安装好的,就不用装了。运行每一句终端显示都有反馈,可以根据反馈确定安装是否成功。

sudo apt-get install build-essential

apt install cmake

gcc最新版本是6.2,但CUDA8.0不支持5.0以上版本,需要将版本降低到4.9,下面通过update-alternatives来进行软件版本切换:

sudo apt-get install g++-4.9

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 10

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 10

sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30

sudo update-alternatives --set cc /usr/bin/gcc

sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30

sudo update-alternatives --set c++ /usr/bin/g++

通过 gcc –v可以查询gcc版本,确定是4.9。

2.   安装CUDA

CUDA是Nvidia公司开发的,基于GPU的并行计算环境,几乎是做深度学习不可或缺的工具,加速效果非常明显。以一个基于Theano的深度模型训练程序为例,普通i5 CPU跑一个epoch需要约80分钟;采用GTX705显卡(48个CUDA核心)加速,跑一个epoch需要约12分钟;采用Quadro K6000显卡(2880个CUDA核心)加速,跑一个epoch仅需要约2分钟。

a)     准备工作

如果安装了用户界面,需要停止X server

sudo /etc/init.d/lightdm stop

sudo /etc/init.d/lightdm status

停止系统自带驱动

sudo vim /etc/modprobe.d/blacklist-nouveau.conf

在最后加入一行blacklist nouveau保存,更新一下

sudo update-initramfs -u

重启,通过如下命令确定nouveau被停用,如果返回值为空说明成功。

lsmod | grep nouveau

b)     CUDA包安装

下载cuda_8.0.44_linux.run,我是通过本地下载,通过ftp传到服务器,进入其所在目录,终端中运行:

sh cuda_8.0.44_linux.run

按提示逐步做选择,安装即可。如果之前没有单独安装nvidia的驱动,可以直接在这里选择安装;如果已经安装,则在安装过程中跳过,直接安装cuda和samples。

安装完成后,需要将CUDA的相关路径加入系统路径,用vim打开 ~/.bashrc 文件

vim ~/.bashrc

在文件未尾,加入如下语句来使设置生效:

export PATH=$PATH:/usr/local/cuda/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64

c)      测试CUDA

进入samples所在路径,make

cd /usr/local/cuda/samples

sudo make all -j8

cd bin/x86_64/linux/release/

./deviceQuery

查询出设备信息说明CUDA安装成功

至此,基本的CUDA环境已经完成,但还有两个库可以让计算加速效果更明显,它们是cudnn和cnmem

d)     安装cudnn

cudnn是Nvida专门针对深度神经网络开发的加速包,一定要注意,一些低端的显卡,如GTX580,670,705等不支持cudnn。同时也要注意,cudnn的版本要与CUDA的版本兼容。

下载cudnn-8.0-linux-x64-v5.1.solitairetheme8,解压

cp  cudnn-8.0-linux-x64-v5.1.solitairetheme8 cudnn-8.0-linux-x64-v5.1.tgz

tar -xvf cudnn-8.0-linux-x64-v5.1.tgz

进入解压目录,分别复制h文件和lib文件到cuda的响应目录,进入include目录

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

再进入lib64目录下的动态文件进行复制和链接:

sudo cp lib* /usr/local/cuda/lib64/

目前的Theano版本与cudnn5.0是兼容的,推荐安装5.0版本。

e)     安装CNMEM

进入安装目录

cd $mydir

git clone https://github.com/NVIDIA/cnmem.git cnmem

cd cnmem

mkdir build

cd build

cmake ..

make

cd ../include

cp cnmem.h /usr/local/cuda/include

cd ../build

cp libcnmem /usr/local/cuda/lib64

3.   安装theano

先安装pip,然后安装theano,theano安装过程中会自动安装numpy和scipy

sudo apt install python-pip

pip install theano

创建~/.theanorc,内容如下

[global]

floatX=float32

device=gpu

base_compiledir=~/external/.theano/

allow_gc=False

warn_float64=warn

[mode]=FAST_RUN

[nvcc]

fastmath=True

[cuda]

root=/usr/local/cuda

[lib]

cnmem=1

在终端中输入python

>>> import theano

输出正常说明安装成功。

4.   安装Tensorflow

如果之前没有安装好python,运行:

sudo apt-get install python-pip python-dev

用pip安装tensorflow

sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc1-cp27-none-linux_x86_64.whl

因为墙的原因,可能会失败,需要多试几次

测试tensorflow

在终端中输入python

>>> import tensorflow as tf

>>> hello = tf.constant('Hello, TensorFlow!')

>>> sess = tf.Session()

>>> print sess.run(hello)

Hello, TensorFlow!

>>> a = tf.constant(10)

>>> b = tf.constant(32)

>>> print sess.run(a+b)

42

5.  
安装Keras

Keras之前是以Theano为后台,现在的新版本是以tensorflow为后台的。所以我们要先装好theano和tensorflow之后,最后安装keras。

sudo pip install
keras

对,就这一句话应该就搞定了。安装完成后,在终端输入python

from keras.models
import Sequential

输出正常说明安装成功。

至此,一个比较实用的最新版本深度学习环境就完成了。上述这些软件目前更新非常快,很有可能几个月后就会出现更新版本。安装过程中遇到任何问题,尽量去读官方的安装和说明文档,网络博客,微信上的信息都有一定时效性,包括我这一篇。

在动手安装之前,首先要确定硬件,系统,准备安装软件的版本,确定这些软硬件之间是否相互支持或兼容。本文安装的主要环境和软件如下:

Ubuntu16.10+CUDA8.0(cudnn5.1,CNMEM)+Theano0.8.2+Tensorflow0.11.0rc1+Keras1.1.0

显卡型号为Quadro K6000。

深度学习的另外一个比较常用的开发环境是CAFFE,由于之前的很多大牛基于CAFFE做了很多注明的模型,且已经发布到网上,故这套框架更适合于应用。但CAFFE安装起来异常复杂,需要安装非常多的依赖库,以及OpenCv等软件。而且CAFFE框架比较死板,很难修改,个人认为不太适合科研。故本文不涉及CAFFE相关内容。

首先,感谢运维小哥帮我安装ubuntu16.10系统。进入系统后,打开终端,开始安装操作。注意,下面操作命令通常要加sudo,如果切换到超级用户则不需要加。

1.  
安装编译环境

主要是make,cmake, gcc,g++,这是linux下最基本的开发环境,有些机器是安装好的,就不用装了。运行每一句终端显示都有反馈,可以根据反馈确定安装是否成功。

sudo apt-get
install build-essential

apt install cmake

gcc最新版本是6.2,但CUDA8.0不支持5.0以上版本,需要将版本降低到4.9,下面通过update-alternatives来进行软件版本切换:

sudo apt-get install g++-4.9

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 10

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 10

sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30

sudo update-alternatives --set cc /usr/bin/gcc

sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30

sudo update-alternatives --set c++ /usr/bin/g++

通过 gcc –v可以查询gcc版本,确定是4.9。

2.  
安装CUDA

CUDA是Nvidia公司开发的,基于GPU的并行计算环境,几乎是做深度学习不可或缺的工具,加速效果非常明显。以一个基于Theano的深度模型训练程序为例,普通i5 CPU跑一个epoch需要约80分钟;采用GTX705显卡(48个CUDA核心)加速,跑一个epoch需要约12分钟;采用Quadro K6000显卡(2880个CUDA核心)加速,跑一个epoch仅需要约2分钟。

a)     准备工作

如果安装了用户界面,需要停止X server

sudo
/etc/init.d/lightdm stop

sudo
/etc/init.d/lightdm status

停止系统自带驱动

sudo vim
/etc/modprobe.d/blacklist-nouveau.conf

在最后加入一行blacklist nouveau保存,更新一下

sudo
update-initramfs -u

重启,通过如下命令确定nouveau被停用,如果返回值为空说明成功。

lsmod | grep
nouveau

b)     CUDA包安装

下载cuda_8.0.44_linux.run,我是通过本地下载,通过ftp传到服务器,进入其所在目录,终端中运行:

sh
cuda_8.0.44_linux.run

按提示逐步做选择,安装即可。如果之前没有单独安装nvidia的驱动,可以直接在这里选择安装;如果已经安装,则在安装过程中跳过,直接安装cuda和samples。

安装完成后,需要将CUDA的相关路径加入系统路径,用vim打开 ~/.bashrc 文件

vim ~/.bashrc

在文件未尾,加入如下语句来使设置生效:

export
PATH=$PATH:/usr/local/cuda/bin

export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64

c)      测试CUDA

进入samples所在路径,make

cd /usr/local/cuda/samples

sudo make all -j8

cd bin/x86_64/linux/release/

./deviceQuery

查询出设备信息说明CUDA安装成功

至此,基本的CUDA环境已经完成,但还有两个库可以让计算加速效果更明显,它们是cudnn和cnmem

d)     安装cudnn

cudnn是Nvida专门针对深度神经网络开发的加速包,一定要注意,一些低端的显卡,如GTX580,670,705等不支持cudnn。同时也要注意,cudnn的版本要与CUDA的版本兼容。

下载cudnn-8.0-linux-x64-v5.1.solitairetheme8,解压

cp  cudnn-8.0-linux-x64-v5.1.solitairetheme8
cudnn-8.0-linux-x64-v5.1.tgz

tar -xvf
cudnn-8.0-linux-x64-v5.1.tgz

进入解压目录,分别复制h文件和lib文件到cuda的响应目录,进入include目录

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

再进入lib64目录下的动态文件进行复制和链接:

sudo cp lib*
/usr/local/cuda/lib64/

目前的Theano版本与cudnn5.0是兼容的,推荐安装5.0版本。

e)     安装CNMEM

进入安装目录

cd $mydir

git clone
https://github.com/NVIDIA/cnmem.git cnmem

cd cnmem

mkdir build

cd build

cmake ..

make

cd ../include

cp cnmem.h
/usr/local/cuda/include

cd ../build

cp libcnmem /usr/local/cuda/lib64

3.  
安装theano

先安装pip,然后安装theano,theano安装过程中会自动安装numpy和scipy

sudo apt install
python-pip

pip install theano

创建~/.theanorc,内容如下

[global]

floatX=float32

device=gpu

base_compiledir=~/external/.theano/

allow_gc=False

warn_float64=warn

[mode]=FAST_RUN

[nvcc]

fastmath=True

[cuda]

root=/usr/local/cuda

[lib]

cnmem=1

在终端中输入python

>>>
import theano

输出正常说明安装成功。

4.  
安装Tensorflow

如果之前没有安装好python,运行:

sudo apt-get
install python-pip python-dev

用pip安装tensorflow

sudo pip install
--upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc1-cp27-none-linux_x86_64.whl

因为墙的原因,可能会失败,需要多试几次

测试tensorflow

在终端中输入python

>>>
import tensorflow as tf

>>> hello = tf.constant('Hello, TensorFlow!')

>>> sess = tf.Session()

>>> print sess.run(hello)

Hello, TensorFlow!

>>> a = tf.constant(10)

>>> b = tf.constant(32)

>>> print sess.run(a+b)

42

5.  
安装Keras

Keras之前是以Theano为后台,现在的新版本是以tensorflow为后台的。所以我们要先装好theano和tensorflow之后,最后安装keras。

sudo pip install
keras

对,就这一句话应该就搞定了。安装完成后,在终端输入python

from keras.models
import Sequential

输出正常说明安装成功。

至此,一个比较实用的最新版本深度学习环境就完成了。上述这些软件目前更新非常快,很有可能几个月后就会出现更新版本。安装过程中遇到任何问题,尽量去读官方的安装和说明文档,网络博客,微信上的信息都有一定时效性,包括我这一篇。

最新文章

  1. 在VMware上安装CentOS -7
  2. PHP文件相关的操作函数——目录操作
  3. python基础第四天(1)
  4. restore和recover的区别(转)
  5. MongoDB C API
  6. LoadRunner AJAX TruClient协议Tips and Tricks
  7. 【转】Git常用命令备忘
  8. javascript笔记——jqGrid再次封装
  9. KVM 基本硬件容量扩容
  10. 为什么做Web开发要选择PHP
  11. http://codeforces.com/contest/838/problem/A
  12. OC在终端编写和运行
  13. js文本框字符数输入限制
  14. 阿里云免费SSL证书申请与安装使用(IIS7)
  15. Linux系统诊断必备技能之一:lsof 用法详解!
  16. The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 解决办法
  17. Intel P4 CPU
  18. echart 3 数据密集时,断点不显示问题
  19. MVC bundle的使用总结
  20. 什么时候用var关键字

热门文章

  1. 01.arduino uno开发板入门
  2. android 捕获未try的异常、抓取崩溃日志
  3. Java实现IO通信(服务器篇)
  4. Unity坑之 加了Rigidbody后主角反而朝天上飞?
  5. 开发者的福音,LR.NET模块化代码生成器
  6. 网址中的静态资源 public
  7. 01vue.config.js
  8. 【Gin-API系列】部署和监控(九)
  9. 20190923-06Linux文件权限类 000 014
  10. go http请求流程分析