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

翻译组招募信息

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

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

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

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

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

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

  1. 手把手实现一个深度学习框架(附代码实现)

    编辑丨极市平台 转载 | 深度学习初学者 来源丨https://zhuanlan.zhihu.com/p/78713744 当前深度学习框架越来越成熟,对于使用者而言封装程度越来越高,好处就是现在可以 ...

  2. 手把手教你如何自己设计实现一个深度学习框架(附代码实现)

    作者丨王桂波@知乎(已授权) 来源丨https://zhuanlan.zhihu.com/p/78713744 编辑丨极市平台 导读 本文首先从深度学习的流程开始分析,对神经网络中的关键组件抽象,确定 ...

  3. GPU 选择 深度学习 图像识别

    GPU 选择 深度学习 图像识别 1.显卡 1.1.Nvidia显卡分类 1.1.1 Geforce系列 1.1.2 Quadro系列 1.1.3 Tesla系列 1.2 GPU几个比较重要的参数 G ...

  4. GPU与深度学习和药物开发

    最新一期的<Nature Machine Intelligence>发表了评论文章讨论GPU计算在深度学习以及药物研发中的变革作用. 深度学习几乎颠覆了每一项研究领域,包括对药物发现有直接 ...

  5. 如何配置一部4块Titan X GPU的深度学习机器

    由于UCSB是季度制,9月下旬才开学,于是不久前我决定亲自上阵给实验室的同学们配一台多显卡的深度学习服务器.​第一次配4块Titan X Pascal的台式机器,也没什么太多经验,结合网友们和朋友们的 ...

  6. mxnet:结合R与GPU加速深度学习

    转载于统计之都,http://cos.name/tag/dmlc/,作者陈天奇 ------------------------------------------------------------ ...

  7. mxnet:结合R与GPU加速深度学习(转)

    mxnet:结合R与GPU加速深度学习(转) 近年来,深度学习可谓是机器学习方向的明星概念,不同的模型分别在图像处理与自然语言处理等任务中取得了前所未有的好成绩.在实际的应用中,大家除了关心模型的准确 ...

  8. 深度学习(12)——利用GPU做深度学习

    前言 前文所谈都是基于CPU搭建深度学习的模型,利用CPU来优化模型,数据处理,实际上CPU在运算速度运算能力上不及GPU,随着现如今游戏的发展,挖矿的需求,GPU变得越来越强,GPU可以实现并行计算 ...

  9. 10 年深度学习顶级论文和代码精选,请务必收藏!

    点击上方"AI有道",选择"星标"公众号 重磅干货,第一时间送达 你是否经常花费时间或苦于寻找深度学习相关的顶会优秀论文极其相对应的代码?今天给大家介绍一个超赞 ...

最新文章

  1. 【Docker】Docker的三大核心组件
  2. pytorch.forward()方法
  3. jQuery插件开发全解析
  4. php 日志处理工具 SeasLog 的使用
  5. python调用winrar解压_批量文件解压缩脚本(Python3.5 + WinRAR)
  6. Java实现Huffman哈夫曼树(数组实现)
  7. 推荐您使用 Markdown 来编辑文章
  8. Eslint 配置 + 规则说明 - 综合引入篇
  9. 计算机科学与技术 net,计算机科学与技术
  10. linux driver开发
  11. c#点击按钮调出另一个窗体_在类库或winform项目中打开另一个winform项目窗体的方法...
  12. Qt 发布 Android 自动驾驶技术预览
  13. python修改文件夹下文件夹的名字
  14. 一度智信:电商平台商品定价策略
  15. 123457123457#0#-----com.cym.YuErBaiKe02--前拼后广--育儿百科
  16. winform pdf转图片.jpg或.png(O2S.Components.PDFRender4NET)
  17. 【无人机】【2014.08】无人机国家的诞生:自1917年以来的美国无人机发展
  18. idea如何查看已安装的插件
  19. 作为一个食品专业的本科生 我对我们专业是彻底失望了[转帖]
  20. SOUI自定义控件(1)

热门文章

  1. 姗姗来迟的Serverless如何助力微服务和DevOps
  2. 使用Orange Pi Zero做小小服务器(VNC篇)
  3. Java 中 Comparable 和 Comparator 比较
  4. C#获取当前日期时间(转)
  5. Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
  6. 经典密码学——行置换加密法
  7. too many levels of symbolic links的错误
  8. QuickPart : 用户控件包装器 for SharePoint 2007
  9. 鼠标跟随flash代码_FLASH如何制作密码锁功能(AS3)
  10. mysql的主从复制功能_Mysql的主从复制功能