You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10系统运行PyTorch分布式代码报No rendezvous handler for env://如何解决

报错原因
  • 当前指定的分布式后端为nccl,该后端为Linux平台专属,不支持Windows系统,无法在Windows环境下正常调用。
  • 部分低版本PyTorch的Windows编译包默认没有启用env://初始化方式的节点握手处理器,也会触发该报错。
解决方案

1. 替换分布式后端

找到代码中init_process_group调用位置,将backend参数从nccl修改为跨平台兼容的gloo后端:

# 修改前
torch.distributed.init_process_group(backend='nccl', init_method='env://', world_size=world_size, rank=rank)
# 修改后
torch.distributed.init_process_group(backend='gloo', init_method='env://', world_size=world_size, rank=rank)

2. 替换初始化方式(可选,改完后端仍报错时使用)

如果修改后端后仍然触发相同的rendezvous报错,可以将init_method从env://替换为显式TCP初始化:

# 单机器训练直接填127.0.0.1,端口选未被占用的空闲端口即可
torch.distributed.init_process_group(backend='gloo', init_method='tcp://127.0.0.1:23456', world_size=world_size, rank=rank)

3. 升级PyTorch版本(可选,需保留env初始化时使用)

如果需要继续使用env://初始化方式,可以将PyTorch升级到1.10及以上正式版本,新版本Windows编译包已经完整适配了env初始化的处理器。

额外注意

Windows系统下旧版torch.distributed.launch启动脚本存在兼容问题,单机器多卡训练建议使用torchrun命令启动,示例如下:

torchrun --nproc_per_node=你的显卡数量 main.py --cfg=configs/swin_tiny_patch4_window7_224.yaml --data-path=imagenet --batch-size=64

内容的提问来源于stack exchange,提问作者Chiancc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 23:45:03