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

相关文章

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

Linux下MySQL8.0.26安装教程

《Linux下MySQL8.0.26安装教程》文章详细介绍了如何在Linux系统上安装和配置MySQL,包括下载、解压、安装依赖、启动服务、获取默认密码、设置密码、支持远程登录以及创建表,感兴趣的朋友... 目录1.找到官网下载位置1.访问mysql存档2.下载社区版3.百度网盘中2.linux安装配置1.

Python使用pysmb库访问Windows共享文件夹的详细教程

《Python使用pysmb库访问Windows共享文件夹的详细教程》本教程旨在帮助您使用pysmb库,通过SMB(ServerMessageBlock)协议,轻松连接到Windows共享文件夹,并列... 目录前置条件步骤一:导入必要的模块步骤二:配置连接参数步骤三:实例化SMB连接对象并尝试连接步骤四: