目录
1、尝试将 backend=‘nccl’ 修改为 backend=‘gloo’,原因是win10暂时不支持nccl模式。
结果:未解决。
2、尝试更新pytorch至1.8。(为了提高 NCCL 稳定性,PyTorch 1.8 将支持稳定的异步错误/超时处理;支持 RPC 分析。此外,还增加了对管道并行的支持,并可以通过 DDP 中的通讯钩子进行梯度压缩。)
参考文章:
参考1:
RunTimeError:No rendezvous handler for env:// - 知乎
参考2:
torch.distributed 的优势如下:
1. 每个进程对应一个独立的训练过程,且只对梯度等少量数据进行信息交换。
2. 每个进程包含独立的解释器和 GIL。
二 分布式训练介绍
分布式训练可以分为:
单机多卡,DataParallel(最常用,最简单)
单机多卡,DistributedDataParallel(较高级)
多机多卡,DistributedDataParallel(最高级)