深度学习大多用来处理图片、语言、视频和文本等大量非结构化数据,因而计算资源是进行深度学习开发的必要条件,想依靠windows单机玩深度学习恐怕不现实,基于linux和 gpu服务器的深度学习开发环境配置就显得尤为重要了。本节笔记就先学习下如何在 ubuntu16.04 系统下配置深度学习开发环境。
使用 xshell linux虚拟机工具
使用 xshell 工具创建与linux服务器的连接,设置好主机地址和端口号,输入登录名和密码连上服务器。
下载和更新显卡驱动
先查看本机当前显卡信息:
ubuntu-drivers devices
依次执行下述命令:
sudo apt-get purge nvidia*
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-384 nvidia-settings
之后重启服务器使更新生效
sudo shutdown -r now
重新连接服务器后查看当前的生效的显卡驱动
nvidia-smi
安装CUDA8
以CUDA8为例进行安装,CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用。安装CUDA的话首先必须去 Nvidia 官网下载对应的CUDA安装包:https://developer.nvidia.com/cuda-80-ga2-download-archive
选择 cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb 进行下载:
然后运行下列命令进行安装:
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-cublas-performance-update_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get upgrade cuda
安装完成之后在 ~/.bashrc 中设置CUDA的环境变量:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
完了之后运行 source ~/.bashrc 生效。再次运行 nvidia-smi 查看驱动信息如若报驱动不匹配的错误:
Failed to initialize NVML: Driver/library version mismatch
这个问题出现的原因是kernel mod 的 Nvidia driver 的版本没有更新,一般情况下,重启机器就能够解决,如果因为某些原因不能够重启的话,也有办法reload kernel mod。依次执行下述命令即可解决:
lsmod | grep nvidia
sudo rmmod nvidia_drm
sudo rmmod nvidia_modeset
sudo rmmod nvidia_uvm
sudo rmmod nvidia
sudo lsof /dev/nvidia*
lsmod | grep nvidia
最后再次输入 nvidia-smi即可查看到当前的驱动信息。
安装cuDNN6.0
cuDNN(CUDA Deep Neural Network library)是NVIDIA打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。如果你要用GPU训练模型,cuDNN不是必须的,但是一般会采用这个加速库。CUDA8.0的最佳匹配的cuDNN版本为6.0,所以我们到nvidia官网下载cuDNN6.0即可。但目前下载cuDNN需要注册nvidia账号才可下载,可能需要多费些周折。
下载完成后按照下列命令进行解压缩和安装:
tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
安装 anaconda 并创建虚拟环境
下载anaconda 的 linux版本:
wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh
执行bash命令进行安装:
bash Anaconda3-5.1.0-Linux-x86_64.sh
安装完成后创建 anaconda 虚拟环境:
conda install -n 虚拟环境名称
启动虚拟环境:
source activate 虚拟环境名称
退出虚拟环境:
source deactivate 虚拟环境名称
安装深度学习主要计算框架
安装 tensorflow:
pip install tensorflow-gpu==版本号
安装keras:
pip install keras==版本号
安装pytorch:
conda install pytorch==版本号
再安装一些其他的常用库即可搭建好深度学习开发环境。
注:本深度学习笔记系作者学习 Andrew NG 的 deeplearningai 五门课程所记笔记,其中代码为每门课的课后assignments作业整理而成。
参考资料:
http://www.52nlp.cn/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E4%B8%BB%E6%9C%BA%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE-ubuntu-16-04-nvidia-gtx-1080-cuda-8
推荐阅读
从零开始深度学习第14讲:CNN经典论文研读之Le-Net5及其TensorFlow实现
从零开始深度学习第13讲:Tensorflow实战之mnist手写数字识别
从零开始深度学习第12讲:卷积神经网络的Tensorflow实现
从零开始深度学习第11讲:利用numpy搭建一个卷积神经网络
从零开始深度学习第10讲:三维卷积、池化与全连接
从零开始深度学习第9讲:卷积神经网络(CNN)入门
从零开始深度学习第8讲:利用Tensorflow搭建神经网络