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

2024-02-16 16:58

本文主要是介绍DC/OS深度学习教程(一):TensorFlow、Nvidia与Apache Mesos(DC/OS),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者: 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。

这篇关于DC/OS深度学习教程(一):TensorFlow、Nvidia与Apache Mesos(DC/OS)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/715144

相关文章

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

Python虚拟环境终极(含PyCharm的使用教程)

《Python虚拟环境终极(含PyCharm的使用教程)》:本文主要介绍Python虚拟环境终极(含PyCharm的使用教程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录一、为什么需要虚拟环境?二、虚拟环境创建方式对比三、命令行创建虚拟环境(venv)3.1 基础命令3

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.