1、KeyError:'RANK'
使用os.environ.keys() 命令查看主目录下所有的 key,经过排查,是因为os.environ当中没有RANK这个key
解决办法:在原程序中添加一个RANK键值。
新增环境变量语句:
os.environ['环境变量名称']='环境变量值' #其中key和value均为string类型
os.putenv('环境变量名称', '环境变量值')
os.environ.setdefault('环境变量名称', '环境变量值')
2、解决pytorch多进程ValueError: Error initializing torch.distributed using env:// rendezvou...报错
ValueError: Error initializing torch.distributed using env:// rendezvous: environment variable MASTER_ADDR expected, but not set
import os
os.environ['MASTER_ADDR'] = 'localhost'
os.environ['MASTER_PORT'] = '5678'
方法二
export MASTER_ADDR=localhost
export MASTER_PORT=5678
3、subprocess.CalledProcessError: Command ‘[’/home/labpos/anaconda3/envs/idr/bin/python’, ‘-u’, ‘main_distribute.py’, ‘–local_rank=1’]’ returned non-zero exit status 1.
model = torch.nn.parallel.DistributedDataParallel(model,device_ids=[args.local_rank],output_device=args.local_rank, find_unused_parameters=True)
方法二、 在config中加入 find_unused_parameters=True