社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

独家|让你的GPU为深度学习做好准备(附代码)

数据派THU • 4 年前 • 459 次点击  


作者:Saurabh Bodhe

翻译:陈振东

校对:车前子

本文1000字,建议阅读5分钟

本文讲述了使用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)模型、三方支付交易等,并作为主要成员参与银行分布式与云计算平台的搭建。热衷于对金融数据架构与统计分析方法的研究,希望通过更多的交流拓宽工作和学习的思路。

翻译组招募信息

工作内容:将选取好的外文前沿文章准确地翻译成流畅的中文。如果你是数据科学/统计学/计算机专业的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友,数据派翻译组欢迎你们加入!

你能得到:提高对于数据科学前沿的认知,提高对外文新闻来源渠道的认知,海外的朋友可以和国内技术应用发展保持联系,数据派团队产学研的背景为志愿者带来好的发展机遇。

其他福利:和来自于名企的数据科学工作者,北大清华以及海外等名校学生共同合作、交流。


点击文末“阅读原文”加入数据派团队~

点击“阅读原文”拥抱组织

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/37543
 
459 次点击