首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >赛义德-分布式训练

赛义德-分布式训练
EN

Stack Overflow用户
提问于 2021-12-15 19:42:26
回答 2查看 154关注 0票数 0

当未显式指定分布式培训时,我找不到关于Sag怪人行为的文档。

具体来说,

  1. 当通过distribution=‘数据并行’使用SageMaker分布式数据并行时,文档声明每个实例处理不同批数据。
代码语言:javascript
复制
from sagemaker.tensorflow import TensorFlow

estimator = TensorFlow(
    role=role,
    py_version="py37",
    framework_version="2.4.1",
    # For training with multinode distributed training, set this count. Example: 2
    instance_count=4,
    instance_type="ml.p3.16xlarge",
    sagemaker_session=sagemaker_session,
    # Training using SMDataParallel Distributed Training Framework
    distribution={"smdistributed": {"dataparallel": {"enabled": True}}},
)
  1. 我不确定当未指定分发参数但instance_count >1时会发生什么,如下所示
代码语言:javascript
复制
estimator = TensorFlow(
    py_version="py3",
    entry_point="mnist.py",
    role=role,
    framework_version="1.12.0",
    instance_count=4,
    instance_type="ml.m4.xlarge",
)

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2022-02-23 01:58:34

训练码中,当您初始化模拟数据并行时,会得到一个运行时错误-- RuntimeError: smdistributed.dataparallel不能在smddprun之外用于分布式培训启动。

在估计器中传递的分布参数选择适当的跑步者

票数 0
EN

Stack Overflow用户

发布于 2022-02-25 13:31:45

“我不知道当未指定分发参数时会发生什么,但是instance_count >1,如下所示”-> SageMaker将在4台机器上运行您的代码。除非您有用于分布式计算的代码,否则这是无用的(简单的复制)。

当以下情况变得非常有趣:

  • 您解析资源配置(resourceconfig.json或通过env变量),以便每台机器都知道其在集群中的级别,并且可以编写自定义的任意分布的东西。
  • 如果您在输入上运行相同的代码,即ShardedByS3Key,您的代码将运行在您的S3数据的不同部分上,这些部分均匀地分布在机器上。这使得SageMaker培训/估计器成为运行任意共享的很好的地方--没有任何分布式任务,如文件转换和批处理推理。

将机器聚集在一起还允许您启动开放源代码的分布式培训软件,如PyTorch DDP。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70369434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档