深度学习环境搭建手册——安装Nvidia、Cuda、CuDNN、TensorFlow以及Keras
朝阳
朝阳一起TP,一起哈啤!
9月前发表至数据科学,4550次访问
原文标题:Installing Nvidia, Cuda, CuDNN, TensorFlow and Keras
原文链接:https://medium.com/@acrosson/installing-nvidia-cuda-cudnn-tensorflow-and-keras-69bbf33dce8a
原文作者:Alexander Crosson
这是我们搭建深度学习环境系列文章的第三篇,你可以在这里找到其他两篇:
Building a Deep Learning Box
GPU Virtualization with KVM / QEMU
Installing Nvidia, Cuda, CuDNN, TensorFlow and Keras
在这篇文章中我会给出如何安装显卡驱动和相关软件包,从而能让我们安装和运行TensorFlow的深度学习框架。
(译者注:原文写自2016年9月18日,部分方法和命令可能有变化,请参照时注意。)
首先,我们需要安装Ubuntu 14.04服务器系统,下载地址可以点这里。如果你在使用AWS或是其他类似的云服务主机,请直接创建一个安装有Ubuntu 14.04的实例并通过ssh登入。使用Ubuntu 14.04而不是使用最新的16.04版本的理由是,Cuda现在只支持这个版本。
然后请启动服务器然后保持运行状态,我们需要安装一些驱动和文件包,这里是需要安装的软件列表。
Nvidia驱动
Cuda
CudNN
TensorFlow
Keras
确认GPU可用
我们假设你现在运行的设备上安装有GPU,确切地说,是英伟达的驱动。你可以通过以下的命令来查询你的GPU是否已正常安装并已处在运行状态。
lspci -nnk | grep -i nvidia
lspci -nnk | grep -i nvidia
4b:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1b80] (rev a1)
4b:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:10f0] (rev a1)
先期准备
在我们安装软件之前,首先确认apt-get已经升级到最新版本。
apt-get update
sudo apt-get update
同样我们还要确认gcc是否升级至最新,以及安装python和pip和其他的与科学计算相关的python库。
sudo apt-get install libglu1-mesa libxi-dev libxmu-dev -y
sudo apt-get — yes install build-essential
sudo apt-get install python-pip python-dev -y
sudo apt-get install python-numpy python-scipy -y
安装Nvidia驱动
使用wget来下载Nvidia驱动然后在静音模式(silent mode)下运行以下脚本。
请注意:如果你使用的GPU型号并不是GTX 1080,你需要为你的GPU下载特定的版本驱动。
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/367.44/NVIDIA-Linux-x86_64-367.44.run
sudo chmod +x NVIDIA-Linux-x86_64-367.35.run
./NVIDIA-Linux-x86_64-367.35.run –silent
为了确认驱动已得到正确安装同时GPU也被成功识别,我们可以运行nivida-smi。如果你希望查看GPU的性能参数,这个命令也同样管用。
安装Cuda
如果要在GPU上运行TensorFlow,我们需要安装Cuda,没有Cuda我们将只能使用CPU来进行计算。我们同样可以使用wget来下载Cuda 7.5运行包,然后安装相关驱动、工具以及示例。
wget http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run
sudo chmod +x cuda_7.5.18_linux.run
./cuda_7.5.18_linux.run –driver –silent
./cuda_7.5.18_linux.run –toolkit –silent
./cuda_7.5.18_linux.run –samples –silent
我们还需要把Cuda库添加到系统目录之中。这需要我们修改.bashrc文件或是直接运行以下命令。
echo ‘export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64”’ >> ~/.bashrc
echo ‘export CUDA_HOME=/usr/local/cuda’ >> ~/.bashrc
安装CuDNN
CuDNN是一个能够用来加速深度学习框架(比如TensorFlow或Theano)的库。这里有一段来自于Nvidia官网的简要介绍。
英伟达CUDA深度学习库(NVIDIA CUDA® Deep Neural Network library,简称cuDNN)是一个能够为深度神经网络提供原生GPU加速的库件。cuDNN为诸如前向卷积、后向卷积、池化、正规化以及激活层等标准例程提供了高度优化的实现方案。cuDNN是NVIDIA深度学习SDK的一部分。
在安装之前你需要注册英伟达的加速计算开发者项目。注册完成之后,请登录并下载cuDNN 4.0到你的计算机中,然后将下载得到的zip包使用scp传入你的深度学习服务器中。
更新:我已经注意到最新的TensorFLow 0.10版本只能在CudNN v5.1上运行,这可能是因为TensorFlow还在开发中。
sudo scp cudnn-7.0-linux-x64-v4.0-prod.tgz root@192.168.0.1:/home/root/
解压文件包然后将必要文件拷贝至我们已经安装好的Cuda库之中。
tar -xzvf cudnn-7.0-linux-x64-v4.0-prod.tgz
cp cuda/lib64/* /usr/local/cuda/lib64/
cp cuda/include/cudnn.h /usr/local/cuda/include/
安装TensorFlow
我们假设你已经开始使用TensorFlow来建立你的深度神经网络模型。我们现在可以使用pip来简单地安装最新的TensorFlow 0.10,别忘了加上upgrade标志。
pip install — upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.10.0rc0-cp27-none-linux_x86_64.whl
现在你已经可以使用你的GPU来运行模型并完成计算任务。如果你要确认TensorFlow是否正常运行,你不用自己编写确认脚本,简单运行TensorFlow的官方示例即可。
python -m tensorflow.models.image.mnist.convolutional
运行以上命令的前几行输出应该是如下的样子。
控制台输出的错误应当随着运算步数的增加而减少。如果不是这样,则说明你的安装过程中有疏漏。
安装Keras
Keras的运行需要一些额外的依赖库,而这些依赖库并不存于他们的网站上。运行以下命令可以完成所有的工作。
sudo apt-get install python-numpy python-scipy -y
sudo apt-get install python-yaml -y
sudo apt-get install libhdf5-serial-dev -y
sudo pip install keras==1.0.8
总结
这篇指导文章可以作为搭建深度学习环境并使用TensorFlow来安装和运行深度学习项目的一个很好的开始。