这个错误是由于缺少环境变量导致的。在分布式训练中,torch.distributed.init_process_group 方法需要使用环境变量来确定进程的排名(rank)和总进程数(world_size)。在您的代码中,它尝试从环境变量中获取 RANK 变量的值,但是该变量没有被设置。

要解决这个问题,您可以确保在运行代码之前设置 RANK 环境变量。这可以通过在运行代码之前执行以下命令来完成:

$ export RANK=0

其中 0 是进程的排名。您可以根据需要设置不同的排名。

另外,还可以通过修改代码来避免使用分布式训练,如果您不需要在多个进程之间进行通信和同步。只需将以下行:

torch.distributed.init_process_group('nccl')

修改为:

torch.distributed.init_process_group(backend='nccl', init_method='env://')

这将使用默认的环境变量方式初始化分布式训练,而不需要指定 RANK 环境变量。

解决'ValueError: Error initializing torch.distributed using env:// rendezvous' 错误

原文地址: https://www.cveoy.top/t/topic/qr8f 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录