在 DDP Pytorch Lightning 中跨 GPU 拆分训练数据

Posted

技术标签:

【中文标题】在 DDP Pytorch Lightning 中跨 GPU 拆分训练数据【英文标题】:Training Data Split across GPUs in DDP Pytorch Lightning 【发布时间】:2021-03-03 08:37:16 【问题描述】:

目标:使用 Pytorch Lightning 框架在分布式数据并行 (DDP) 设置中训练模型

问题:

    训练数据分区:如何使用 Pytorch Lightning 处理跨不同 GPU 的数据分区?我应该手动对数据进行分区还是 Pytorch 闪电会解决这个问题?

    平均损失:我是否必须自己汇总损失,否则 Pytorch Lightning 会自动执行此操作?

我一直花时间研究 pytorch 闪电的代码库,寻找如何处理 DDP 同步,但找不到确切的代码。希望对此作出澄清。

【问题讨论】:

【参考方案1】:

Lightning 可以为您处理这两种情况,但它可以被覆盖。这个代码可以在官方githubhere找到。

【讨论】:

以上是关于在 DDP Pytorch Lightning 中跨 GPU 拆分训练数据的主要内容,如果未能解决你的问题,请参考以下文章

将 ddp 后端与 PyTorch Lightning 一起使用时验证整个验证集

GCP 上的 PyTorch Lightning 多节点训练错误

简单介绍pytorch中分布式训练DDP使用 (结合实例,快速入门)

简单介绍pytorch中分布式训练DDP使用 (结合实例,快速入门)

简单介绍pytorch中分布式训练DDP使用 (结合实例,快速入门)

Pytorch DDP 分布式训练实例