关于ZAKER 融媒体解决方案 合作 加入

手把手教你在谷歌云平台搭建基于 GPU 的深度学习

大数据文摘授权转载自 数据派 THU

作者:Saurabh Bodhe

编译:陈振东、车前子

我知道,基于 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 驱动(相信我,这次是真的安装)

根据之前的操作,选择你需要的版本:

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 没有正确安装,那就重新安装配置一遍,看看有没有什么遗漏的地方。

欢迎大家提问,建议或者批评。

祝好。

原文链接:

https://hackernoon.com/setting-up-your-gpu-machine-to-be-deep-learning-ready-96b61a7df278

实习 / 全职编辑记者招聘 ing

加入我们,亲身体验一家专业科技媒体采写的每个细节,在最有前景的行业,和一群遍布全球最优秀的人一起成长。坐标北京 · 清华东门,在大数据文摘主页对话页回复" 招聘 "了解详情。简历请直接发送至 zz@bigdatadigest.cn

点「在看」的人都变好看了

以上内容由"大数据文摘"上传发布 查看原文
相关标签 pythongpunvidia深度

最新评论

没有更多评论了

觉得文章不错,微信扫描分享好友

扫码分享