返回 登录
0

DC/OS深度学习教程(一):TensorFlow、Nvidia与Apache Mesos(DC/OS)

阅读1611
作者: Kevin Klues and Suzanne Scala, Mesosphere
译者:宋子豪,Apache Mesos PMC/Committer,现任Mesosphere分布式系统工程师,自2015年起专注于Mesos容器领域的开发,主要参与贡献了Unified Containerizer、Pods等关键性功能。宋子豪毕业于加州大学圣巴巴拉分校,计算机工程硕士。目前关注云计算及分布式系统。

责任编辑:孙浩峰  关注云计算、大数据、运维、安全  投稿信箱:sunhf@csdn.net

DC/OS 1.9介绍了基于GPU的任务编排新特性。有赖于GPU的支持,数据中心用户可以共享集群资源以运行传统任务及机器学期任务,同时,动态分配或回收集群的GPU资源。通过使用一些现今流行的机器学习软件库(如TensorFlow、Nvidia Docker),数据科学家们可以在自己的笔记本电脑对应用或模型进行本地测试,在不需要对应用或模型进行任何改动的前提下,直接部署至基于DC/OS的生产环境中。想了解关于此项技术的更多细节及如何基于Mesosphere DC/OS使用这项技术,请阅读以下文档。

●DC/OS深度学习教程(一):在本地运行一个TensorFlow的Docker镜像及运行一个机器学习模型(使用或不使用GPU)。

●DC/OS深度学习教程(二):在DC/OS集群中运行一个TensorFlow的Docker镜像(使用或不使用GPU)。

●DC/OS深度学习教程(三):在DC/OS集群通过Universe部署一个动态分布式的TensorFlow服务。请观察TensorFlow如何在DC/OS集群上动态地使用和释放资源。同时,在同一集群上运行多个有不同资源需求的TensorFlow服务。

TensorFlow教程 #1

在此教程的第一部分,我们会以在本地机器上运行卷积神经网络为例,然后使用nvidia-docker和GPU来为这个TensorFlow任务加速。TensorFlow是一款机器智能的软件库,其架构设计独到之处在于与GPU的契合,以提高计算速度和使用效率。

点此链接看本教程视频。

前提条件

请保证Docker已安装在本地机器。

现在开始

首先,我们会不使用GPU运行TensorFlow,并为任务结果计时。
1.在本地机器上不使用GPU运行TensorFlow。

docker run -it tensorflow/tensorflow bash

2.为了测试TensorFlow,我们需要下载一个机器学习模型。您可以从这个github repo中找到一些好的例子。我们会先通过apt-get安装git,然后拷贝示例repo。

apt-get update; apt-get install -y git
git clone https://github.com/aymericdamien/TensorFlow-Examples

3.现在我们有了卷积网络示例,运行它并为结果计时。

cd TensorFlow-Examples/examples/3_NeuralNetworks
time python convolutional_network.py

此过程大约耗时3分钟。

使用GPU运行TensorFlow

现在,我们来看看使用GPU有什么不同。
注:这部分将不适用于Mac OSX,因为nvidia-docker不支持OSX。

1.在terminal开一个新的窗口,以观察接下来使用nvidia-docker的结果有什么不同。

2.请确保已经在您的系统中安装最新的CUDA驱动。您可以从这里下载:https://developer.nvidia.com/cuda-downloads。在我们写这篇博客的时候,版本8.0是最新版。

3.下载并安装nvidia-docker: https://github.com/NVIDIA/nvidia-docker

4.确认您的nvidia-docker安装成功。

nvidia-docker run --rm nvidia/cuda nvidia-smi
nvidia-docker run --rm nvidia/cuda:7.5 nvidia-smi

5.通过nvidia-docker,使用GPU来运行TensorFlow。

nvidia-docker run -it tensorflow/tensorflow:latest-gpu bash

6.安装git并下载TensorFlow-Examples,跟您在之前的步骤里做的一样。
apt-get update; apt-get install -y git
git clone https://github.com/aymericdamien/TensorFlow-Examples

7.运行跟之前一样的卷积网络示例。

cd TensorFlow-Examples/examples/3_NeuralNetworks
time python convolutional_network.py

此过程大概耗时30秒:比单纯使用CPU快将近10倍。使用GPU的好处,一目了然。

使用多个GPU会有什么影响?

1.当我们走到这一步,可以快速地使用多个GPU来运行单一任务,并观察性能上的区别。

cd ../5_MultiGPU
time python multigpu_basics.py

结果必须是更快!

原文链接:https://dcos.io/blog/2017/tutorial-deep-learning-with-tensorflow-nvidia-and-apache-mesos-dc-os-part-1/index.html

MesosCon北京将于6月20日到22日在北京国家会议中心举行。这是Linux基金会主办的一年一度的Mesos盛会。报名详情请见这里,购票记得使用7折优惠码MCA1730。

评论