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

相关文章

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

SpringBoot整合Apache Flink的详细指南

《SpringBoot整合ApacheFlink的详细指南》这篇文章主要为大家详细介绍了SpringBoot整合ApacheFlink的详细过程,涵盖环境准备,依赖配置,代码实现及运行步骤,感兴趣的... 目录1. 背景与目标2. 环境准备2.1 开发工具2.2 技术版本3. 创建 Spring Boot

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Spring Boot 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Python使用Code2flow将代码转化为流程图的操作教程

《Python使用Code2flow将代码转化为流程图的操作教程》Code2flow是一款开源工具,能够将代码自动转换为流程图,该工具对于代码审查、调试和理解大型代码库非常有用,在这篇博客中,我们将深... 目录引言1nVflRA、为什么选择 Code2flow?2、安装 Code2flow3、基本功能演示