这个错误通常是由于环境变量没有正确设置导致的。在使用PyTorch进行分布式训练时,每个进程都需要知道自己的rank,以便进行通信和同步。而RANK
环境变量就是用来指定当前进程的rank的。还需要设置其他一些环境变量和参数,例如WORLD_SIZE
、通信后端等,具体如下:
os.environ['RANK'] = '0' # 当前进程的rank设置为0
os.environ['WORLD_SIZE'] = '4' # 总共有4个进程参与训练
os.environ['MASTER_ADDR'] = '127.0.0.1' # master节点的地址,设置为本地IP地址或其它
os.environ['MASTER_PORT'] = '1234' # 端口号设置,自己定