让你的GPU为深度学习做好准备(附代码)
|
本文讲述了使用NVIDIA官方工具搭建基于GPU的TensorFlow平台的教程。
《在谷歌云平台搭建基于GPU的深度学习》 我知道,基于GPU的高端的深度学习系统构建起来非常昂贵,并且不容易获得,除非你…… https://hackernoon.com/deep-learning-with-google-cloud-platform-66ada9d7d029 假设你有一台带有GPU的裸机, 当然如果有些配置是预先设置好的,可以跳过下面部分教程。此外,我还假设你有一个NVIDIA的显卡,我们在本教程中只讨论如何配置TensorFlow,也就是目前最受欢迎的深度学习框架(向谷歌致敬!) 安装CUDA驱动程序 CUDA是NVIDIA开发的一个并行计算平台,是搭建TensorFlow的基本前提。但是我们后面会提到,实际上最好使用逆向工作的方法,所以我们稍后再回到这部分。 安装TensorFlow 启动终端(如果是远程访问的话,就使用SSH)。总之,找到特定应用程序(如果有的话)所需的TensorFlow版本,或者如果没有这样的限制,可以使用我目前使用的TensorFlow 1.8.0。 pip install tensorflow-gpu==1.8.0 在TensorFlow安装的时候,我们运行下Python shell, python 在Python shell中输入下面的代码: import tensorflow as tf 但这时我们还没有安装CUDA,你会看到类似下面的报错: ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory 9.0版本、文件名或者是其他的报错,这取决于您选择的TensorFlow版本。但是这样做的目的是知道我们需要哪个版本的CUDA,在这个例子中是9.0。官方文档中TF版本和CUDA版本的对应关系不是很清楚,所以我一直觉得这种逆向工程方法更好。 然后,我们再回到CUDA的安装。使用 exit() 退出Python shell。 安装CUDA驱动(相信我,这次是真的安装) 转到https://developer.nvidia.com/cuda-toolkit-archive。根据之前的操作,选择你需要的版本: Linux->x86_64->Ubuntu->16.04 (or 17.04)->deb (network) 下载相应的.deb文件,并按照NVIDIA的官方说明安装CUDA。完成之后,让我们检查下是否一切正常。 再次打开Python shell并运行下面的代码, import tensorflow as tf 当然,我们还没有完成,这次你会看到稍微不同的报错(如果在此之前就出现了类似的报错,参考下面的“Troubleshooting”中的修复方法) ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory 我们还需要NVIDIA提供的一个叫做cuDNN的库,它可以使用GPU加速深度神经网络的计算。注意,本教程中的cuDNN版本是7.0。 打开https://developer.nvidia.com/cudnn并注册一个帐户(免费的)。 注册好帐号后,登录 https://developer.nvidia.com/rdp/cudnn-archive。 选择你需要的cuDNN版本,并确保你选择该版本所对应的CUDA版本。在本教程中,我们需要下载以下版本, Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0 在下拉选项中选择, cuDNN v7.0.5 Library for Linux 这样,.tgz文件就开始下载了,将文件存储到你的机器上,并使用以下命令进行提取, tar -xzvf 最终提取出一个名为“CUDA”的文件夹,切换到该目录,并执行下面两条命令, sudo cp lib64/* /usr/local/cuda/lib64/ sudo cp include/cudnn.h /usr/local/cuda/include/ 这样就完成了(但愿如此)。再次启动Python shell,这次你知道该做什么。 如果这次运行没有报错,那就没问题了。 为确保TensorFlow能够检测到GPU,在Python shell中使用以下代码, tf.test.gpu_device_name() 它将会把所有可用的GPU显示出来。如果这个命令在旧版本的TF可能运行不了,可以试试下面的命令。 nvidia-smi 问题修复 如果所有配置都正确, nvidia-smi也可以执行,但TensorFlow仍然报出相同的错误,那么很有可能环境变量出了问题。执行下面的命令进行修复: export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH} export PATH=/usr/local/cuda/lib64:${PATH} 如果 nvidia-smi命令都无法执行,CUDA没有正确安装,那就重新安装配置一遍,看看有没有什么遗漏的地方。 欢迎大家提问,建议或者批评。 祝好。 原文标题: Setting up your GPU machine to be Deep Learning ready 原文链接: https://hackernoon.com/setting-up-your-gpu-machine-to-be-deep-learning-ready-96b61a7df278 译者简介 陈振东,工资不高、想法不少,目前工作于北京银行软件开发部,负责核心系统的建设,主要方向包括客户信息(CIF)模型、三方支付交易等,并作为主要成员参与银行分布式与云计算平台的搭建。热衷于对金融数据架构与统计分析方法的研究,希望通过更多的交流拓宽工作和学习的思路。 |
时间:2019-08-15 18:49 来源: 转发量:次
声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。