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

简介: 本文讲述了使用NVIDIA官方工具搭建基于GPU的TensorFlow平台的教程。

作者:Saurabh Bodhe

文章来源:微信公众号 数据派THU

翻译:陈振东

校对:车前子

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

本文讲述了使用NVIDIA官方工具搭建基于GPU的TensorFlow平台的教程。

image.png

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

翻译组招募信息

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

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

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

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
目录
相关文章
|
20天前
|
机器学习/深度学习 并行计算 算法框架/工具
为什么深度学习模型在GPU上运行更快?
为什么深度学习模型在GPU上运行更快?
43 2
|
1月前
|
机器学习/深度学习 并行计算 PyTorch
【从零开始学习深度学习】20. Pytorch中如何让参数与模型在GPU上进行计算
【从零开始学习深度学习】20. Pytorch中如何让参数与模型在GPU上进行计算
|
2月前
|
机器学习/深度学习 弹性计算 自然语言处理
【阿里云弹性计算】深度学习训练平台搭建:阿里云 ECS 与 GPU 实例的高效利用
【5月更文挑战第28天】阿里云ECS结合GPU实例为深度学习提供高效解决方案。通过弹性计算服务满足大量计算需求,GPU加速训练。用户可按需选择实例规格,配置深度学习框架,实现快速搭建训练平台。示例代码展示了在GPU实例上使用TensorFlow进行训练。优化包括合理分配GPU资源和使用混合精度技术,应用涵盖图像识别和自然语言处理。注意成本控制及数据安全,借助阿里云推动深度学习发展。
164 2
|
2月前
|
机器学习/深度学习 并行计算 TensorFlow
TensorFlow与GPU加速:提升深度学习性能
【4月更文挑战第17天】本文介绍了TensorFlow如何利用GPU加速深度学习, GPU的并行处理能力适合处理深度学习中的矩阵运算,显著提升性能。TensorFlow通过CUDA和cuDNN库支持GPU,启用GPU只需简单代码。GPU加速能减少训练时间,使训练更大、更复杂的模型成为可能,但也需注意成本、内存限制和编程复杂性。随着技术发展,GPU将继续在深度学习中发挥关键作用,而更高效的硬件解决方案也将备受期待。
|
2月前
|
机器学习/深度学习 并行计算 算法框架/工具
Anaconda+Cuda+Cudnn+Pytorch(GPU版)+Pycharm+Win11深度学习环境配置
Anaconda+Cuda+Cudnn+Pytorch(GPU版)+Pycharm+Win11深度学习环境配置
394 3
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习与GPU集群的神奇结合
深度学习与GPU集群的神奇结合 随着人工智能的飞速发展,深度学习和神经网络已经成为了AI领域的热点。然而,你是否知道,为了让这些复杂模型运行得更加高效,有一种强大的工具不可或缺,那就是GPU。今天,我们就来揭开GPU与深度学习之间的神秘面纱。
65 1
|
7月前
|
机器学习/深度学习 自然语言处理 并行计算
GPU在深度学习中的应用
GPU在深度学习中的应用
|
16天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU云服务器介绍_GPU租用费用_GPU优势和使用场景说明
阿里云GPU云服务器提供NVIDIA A10、V100、T4、P4、P100等GPU卡,结合高性能CPU,单实例计算性能高达5PFLOPS。支持多种实例规格,如A10卡GN7i、V100-16G卡GN6v等,应用于深度学习、科学计算等场景。GPU服务器租用费用因实例规格而异,如A10卡GN7i每月3213.99元起。阿里云还提供GPU加速软件如AIACC-Training、AIACC-Inference等。网络性能强大,VPC支持2400万PPS和160Gbps内网带宽。购买方式灵活,包括包年包月、按量付费等。客户案例包括深势科技、流利说和小牛翻译等。
|
16天前
|
Kubernetes Cloud Native 调度
《阿里云产品四月刊》—GPU Device-Plugin 相关操作(1)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
16天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器租用费用_GPU服务器详解_A10、V100、T4、P4、P100
阿里云GPU云服务器提供NVIDIA A10、V100、T4、P4、P100等多种GPU卡,适合深度学习、科学计算等场景。实例性能强劲,单实例可达5PFLOPS混合精度计算,VPC网络支持2400万PPS和160Gbps内网带宽。GPU实例包括A10卡GN7i(3213.99元/月起)、V100-16G卡GN6v(3830.00元/月起)等,价格因配置而异。阿里云还提供GPU加速软件如AIACC-Training和AIACC-Inference,以及弹性计算实例EAIS。客户案例包括深势科技、流利说和小牛翻译等。