PyTorch 1.0 中文官方教程:使用 Amazon AWS 进行分布式训练

译者:yportne13

作者: Nathan Inkawhich

编辑: Teng Li

在这篇教程中我们会展示如何使用 Amazon AWS 的两个多路GPU节点来设置,编写和运行 PyTorch 1.0 分布式训练程序。首先我们会介绍 AWS 设置, 然后是 PyTorch 环境配置, 最后是分布式训练的代码。你会发现想改成分布式应用你只需要对你目前写的训练程序做很少的代码改动, 绝大多数工作都只是一次性的环境配置。

Amazon AWS 设置

在这篇教程中我们会在两个多路 GPU 节点上运行分布式训练。在这一节中我们首先会展示如何创建节点,然后是设置安全组(security group)来让节点之间能够通信。

创建节点

在 Amazon AWS 上创建一个实例需要七个步骤。首先,登录并选择 Launch Instance.

1: 选择 Amazon Machine Image (AMI) - 我们选择 Deep Learning AMI (Ubuntu) Version 14.0。 正如介绍中所说的,这个实例安装了许多流行的深度学习框架并已经配置好了 CUDA, cuDNN 和 NCCL。 这是一个很好的开始。

2: 选择一个实例类型 - 选择GPU计算单元 p2.8xlarge。 注意,每个实例的价格不同,这个实例为每个节点提供 8 个 NVIDIA Tesla K80 GPU,并且提供了适合多路 GPU 分布式训练的架构。

3: 设置实例的细节 - 唯一需要设置的就是把 Number of instances 加到 2。其他的都可以保留默认设置。

4: 增加存储空间 - 注意, 默认情况下这些节点并没有很大的存储空间 (只有 75 GB)。对于这个教程, 我们只使用 STL-10 数据集, 存储空间是完全够用的。但如果你想要训练一个大的数据集比如 ImageNet , 你需要根据数据集和训练模型去增加存储空间。

5: 加 Tags - 这一步没有什么需要设置的,直接进入下一步。

6: 设置安全组(Security Group) - 这一步很重要。默认情况下同一安全组的两个节点无法在分布式训练设置下通信。 这里我们想要创建一个新的安全组并将两个节点加入组内。 但是我们没法在这一步完成这一设置。记住你设置的新的安全组名(例如 launch-wizard-12)然后进入下一步步骤7。

7: 确认实例启动 - 接下来,确认例程并启动它。 默认情况下这会自动开始两个实例的初始化。你可以通过控制面板监视初始化的进程。

阅读全文/改进本文

原文地址:https://www.cnblogs.com/wizardforcel/p/10358925.html

时间: 2024-10-06 14:23:23

PyTorch 1.0 中文官方教程:使用 Amazon AWS 进行分布式训练的相关文章

PyTorch 1.0 中文官方教程:使用ONNX将模型从PyTorch传输到Caffe2和移动端

译者:冯宝宝 在本教程中,我们将介绍如何使用ONNX将PyTorch中定义的模型转换为ONNX格式,然后将其加载到Caffe2中.一旦进入Caffe2,我们就可以运行模型来仔细检查它是否正确导出,然后我们展示了如何使用Caffe2功能(如移动导出器)在移动设备上执行模型. 在本教程中,你需要安装onnx和Caffe2.您可以使用pip install onnx获取onnx的二进制版本. 注意: 本教程需要PyTorch master分支,可以按照 这里说明进行安装. # 一些包的导入 impor

PyTorch 1.0 中文官方教程:使用 PyTorch 进行图像风格转换

译者:bdqfork 作者: Alexis Jacq 简介 本教程主要讲解如何实现由Leon A. Gatys,Alexander S. Ecker和Matthias Bethge提出的 Neural-Style 算法.Neural-Style或者叫Neural-Transfer,可以让你使用一种新的风格将指定的图片进行重构.这个算法使用三张图片,一张输入图片,一张内容图片和一张风格图片,并将输入的图片变得与内容图片相似,且拥有风格图片的优美风格. 基本原理 原理很简单:我们定义两个间距,一个用

PyTorch 1.0 中文官方教程:对抗性示例生成

译者:cangyunye 作者: Nathan Inkawhich 如果你正在阅读这篇文章,希望你能理解一些机器学习模型是多么有效.现在的研究正在不断推动ML模型变得更快.更准确和更高效.然而,在设计和训练模型中经常会忽视的是安全性和健壮性方面,特别是在面对欺骗模型的对手时. 本教程将提高您对ML模型安全漏洞的认识,并将深入探讨对抗性机器学习这一热门话题.您可能会惊讶地发现,在图像中添加细微的干扰会导致模型性能的巨大差异.鉴于这是一个教程,我们将通过一个图像分类器上的示例来探索这个主题.具体来说

PyTorch 1.0 中文官方教程:混合前端的 seq2seq 模型部署

译者:cangyunye 作者: Matthew Inkawhich 本教程将介绍如何是seq2seq模型转换为PyTorch可用的前端混合Torch脚本. 我们要转换的模型是来自于聊天机器人教程 Chatbot tutorial. 你可以把这个教程当做Chatbot tutorial的第二篇章,并且部署你的预训练模型,或者你也可以依据本文使用我们采取的预训练模型.就后者而言,你可以从原始的Chatbot tutorial参考更详细的数据预处理,模型理论和定义以及模型训练. 什么是混合前端(Hy

PyTorch 1.0 中文官方教程:空间变换器网络教程

译者:冯宝宝 作者: Ghassen HAMROUNI 在本教程中,您将学习如何使用称为空间变换器网络的视觉注意机制来扩充您的网络.你可以在 DeepMind paper阅读有关空间变换器网络的更多内容. 空间变换器网络是对任何空间变换的差异化关注的概括.空间变换器网络(简称STN)允许神经网络学习如何在输入图像上执行空间变换,以增强模型的几何不变性.例如,它可以裁剪感兴趣的区域,缩放并校正图像的方向.它可能是一种有用的机制,因为CNN对于旋转和缩放以及更一般的仿射变换并不是不变的. 关于STN

PyTorch 1.0 中文官方教程:序列模型和LSTM网络

译者:ETCartman 之前我们已经学过了许多的前馈网络. 所谓前馈网络, 就是网络中不会保存状态. 然而有时 这并不是我们想要的效果. 在自然语言处理 (NLP, Natural Language Processing) 中, 序列模型是一个核心的概念. 所谓序列模型, 即输入依赖于时间信息的模型. 一个典型的序列模型是隐马尔科夫模型 (HMM, Hidden Markov Model). 另一个序列模型的例子是条件随机场 (CRF, Conditional Random Field). 循

Varnish3.0中文官方翻译教程

本教程为官方教程的完整翻译.并做了一定总结.整理.整个Varnish的学习需要分成两个部分,PART1:部署篇,PART2:应用篇  第一部分:部署篇作为一个Server Service,部署是最基本的,同时也没有太多需要说明的.按照官方的教程,一运行便可了.但是需要注意的是,–perfix什么的,具体怎么设置的,可要好好的记住,否则,以后要查起来,可就没有头绪了.另外,装了什么样的插件也要清楚的.下面介绍下,安装方法.针对CentOS系统,有两种方法安装,一种是通过rpm,另一种是通过源码安装

ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布

原文:ActiveReports 报表控件官方中文入门教程 (2)-创建.数据源.浏览以及发布 本篇文章将阐述首次使用 ActiveReports 报表控件 的方法,包括添加报表文件.绑定数据源以及如何发布报表等内容. ActiveReports 报表控件官方中文入门教程 (1)-安装.激活以及产品资源 ActiveReports 报表控件官方中文入门教程 (3)-如何选择页面报表和区域报表 主要内容包括: 新建工程 在工程中添加ActiveReports报表文件 添加报表数据源 浏览报表 发布

ActiveReports 报表控件官方中文新手教程 (1)-安装、激活以及产品资源

?? 本系列文章主要是面向初次接触 ActiveReports 产品的用户,能够帮助您在三天之内轻松的掌握ActiveReports控件的基本用法,包含安装.激活.创建报表.绑定数据源以及公布等内容.本篇文章我们就从安装产品開始带您开启轻松的 ActiveReports 体验之旅. 系列文章列表: ActiveReports 报表控件官方中文新手教程 (2)-创建.数据源.浏览以及公布 ActiveReports 报表控件官方中文新手教程 (3)-怎样选择页面报表和区域报表 本文内容包含: 安装