概述
本篇文章介绍了Ubuntu16.04系统中,使用Python2的 CUDA8.0、cuDNN5.1、MXNet、TensorFlow、Keras框架的环境搭建。
深度学习框架介绍
安装之前先来介绍一下使用的深度学习框架。需要明确的是,各个框架的地位是不同的,有的更底层,有的则是在其他框架的基础上建立起来的。
1、CUDA、cuDNN
这两个框架是NVIDIA公司提供的GPU加速计算框架。cuDNN(CUDA Deep Neural Network library)则是更加专门的针对深度加速的框架。要使用GPU加速必须安装这两个框架。
2、TensorFlow
TensorFlow非常火热,是Google开源的深度学习框架。未来前景我认为应该很不错。
3、MXNet、Keras
z这两个库是在深度学习框架中处于高层的库,Keras是以TensorFlow以及Theano为底层计算框架的。因此理论上说,使用这两个框架,开发神经网络会非常简单。类似的框架还有Caffe等。
安装CUDA
嗯,安装之前,首先确定自己的显卡是否支持CUDA,要查看自己显卡的版本,输入命令:$ lspci | grep -i nvidia
,然后在NVIDIA网站查看所支持的型号。界面如下:
接下来开始下载。来到CUDA官方下载地址,选择对应系统版本(我的是ubuntu16.04),选择安装类型为 deb(local),开始下载。文件稍大,接近2G。注意下载界面下方的安装指导,文件下载好后根据该指导进行安装。输入以下命令:
$ sudo dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda
我的安装一帆风顺,没有什么问题,如果出现问题,建议参考官方的安装指南进行排查。
接着修改环境变量。在终端输入这两句:
$ export PATH=/usr/local/cuda-8.0/bin:$PATH
$ export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
然后修改文件中环境变量设置$ sudo vi /etc/profile
,输入上面export的两句,保存,退出。终端输入$ sudo ldconfig
使环境变量立刻生效。
接下来测试CUDA是否安装成功,终端输入$ nvidia-smi
得到当前GPU的使用情况,看起来应该像这样:
再编译一个例子来检验,控制台输入:
$ cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
$ make
$ sudo ./deviceQuery
控制台会显示很多GPU的信息,如果最后一行显示Result = PASS,那就说明安装成功了。
安装cuDNN
来到cuDNN官方下载地址,首先点击注册,并通过邮箱激活,然后登录选择下载。
下载好后,解压缩,发现两个文件夹,中有一些文件。只要将文件复制到CUDA的目录下即可。控制台中输入:
$ tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz #解压缩
$ cd cuda # 进入解压缩的得到的目录
$ sudo cp include/cudnn.h /usr/local/cuda/include/ #复制头文件
$ sudo cp lib64/* /usr/local/cuda/lib64/ #复制动态链接库
$ cd /usr/local/cuda/lib64/
$ sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
$ sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5 #生成软衔接
$ sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
这样cuDNN就安装好了。
安装MXNet
我的安装是跟据官方的安装说明来的。ubuntu平台有快速安装和标准安装两种方法。我选择了快速安装。
首先确保安装了git,如果没有,控制台输入$ sudo apt-get -y install git
安装。然后:
# Clone mxnet repository. In terminal, run the commands WITHOUT "sudo"
$ git clone https://github.com/dmlc/mxnet.git ~/mxnet --recursive
# Install MXNet for Python with all required dependencies
$ cd ~/mxnet/setup-utils
$ bash install-mxnet-ubuntu-python.sh
# We have added MXNet Python package path in your ~/.bashrc.
# Run the following command to refresh environment variables.
$ source ~/.bashrc
c注意,这样的方式安装的MXNet是不支持CUDA的。如果要使用CUDA,在运行install-mxnet-ubuntu-python.sh
这个脚本之前,需要先对安装进行配置。方法如下:
$ cd ~/mxnet
$ cp ./make/config.mk . #将安装配置文件拷贝到主目录
$ sudo gedit config.mk #修改配置文件
z在配置文件中修改以下几项:
USE_CUDA = 1 #使用CUDA
USE_CUDA_PATH = /usr/local/cuda #指定CUDA路径
USE_CUDNN = 1 #使用cuDNN
如果已经安装了没有CUDA版本的MXNet,没有关系,修改配置文件,重新运行一遍install-mxnet-ubuntu-python.sh
就可以了。
在~/mxnet/example
目录下有许多实例,MXNet官网也有。尝试一个实例来检验是否安装成功。我根据官网的教程,实现了一个卷积神经网络来分类MNIST手写数字。5万张的训练集,最后验证集的准确率达到了98.8%,耗时2分钟。
安装TensorFlow和Keras
f当安装好了CUDA,这两个库就非常容易了,使用pip即可。不过要注意,TensorFlow有CPU和GPU两个版本,GPU版本名称是tensorflow-gpu。命令如下:
$ pip install tensorflow-gpu
$ pip install keras
使用Keras的Github项目中的example进行测试,同样用CNN在MNIST数据集上测试。最后结果和MXNet一样,也是98.8%。
总结
网上很多环境搭建的教学和介绍,不同的作者使用的系统环境和库的版本可能都不一样。有些方法在我看来也走了一些弯路。我认为最好的资料还应该是官方给出的说明。其次才是其他网络资料。另外自己应该对所安装的框架、使用的系统、常用的安装方法有所了解,这样才有能力对出现的问题做出正确的判断。
最后
以上就是威武钢笔为你收集整理的深度学习入门——环境搭建的全部内容,希望文章能够帮你解决深度学习入门——环境搭建所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复