首页 > 其他 > 详细

pytorch 分布式训练 local_rank 问题

时间:2021-04-03 23:18:38      阅读:906      评论:0      收藏:0      [点我收藏+]

使用pytorch进行分布式训练,需要指定 local_rank,主机 local_rank = 0

1 """
2         pytorch 分布式训练初始化
3         1) backend (str): 指定通信所用后端,可以是‘ncll‘、‘gloo‘ 或者是一个torch.ditributed.Backend类
4         2) init_method (str): 这个URL指定了如何初始化互相通信的进程
5         3) world_size (int): 执行训练的所有的进程数   等于 cuda.device 数量
6         4) rank (int): 进程的编号,即优先级
7 """
8         torch.distributed.init_process_group(backend="nccl", init_method="env://", world_size=torch.cuda.device_count(),
9                                              rank=args.local_rank)

若是报错:

raise _env_error("MASTER_ADDR")
ValueError: Error initializing torch.distributed using env:// rendezvous: environment variable MASTER_ADDR expected, but not set

可使用如下两条指令解决上述问题:

1 export MASTER_ADDR=localhost
2 
3 export MASTER_PORT=5678

 

pytorch 分布式训练 local_rank 问题

原文:https://www.cnblogs.com/tnak-liu/p/14615047.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!