分布式深度学习中局部排名意味着什么?

use*_*500 5 distributed-computing deep-learning pytorch

https://github.com/huggingface/transformers/blob/master/examples/run_glue.py

我想调整这个脚本来对我的数据进行文本分类。用于此任务的计算机是一台带有两个显卡的单机。local_rank因此,这涉及到对上面脚本中的术语进行某种“分布式”训练,尤其是当local_rank等于 0 或 -1 时,如第 83 行所示。

在阅读了一些分布式计算的材料后,我想这local_rank就像机器的 ID。0 可能意味着该机器是计算中的“主要”或“头”。但-1是什么?

Ber*_*iel 5

问:但是-1 是什么?

通常,这用于禁用分布式设置。事实上,正如您在这里看到的:

train_sampler = RandomSampler(train_dataset) if args.local_rank == -1 else DistributedSampler(train_dataset)
Run Code Online (Sandbox Code Playgroud)

这里

if args.local_rank != -1:
    model = torch.nn.parallel.DistributedDataParallel(model, device_ids=[args.local_rank],
                                                      output_device=args.local_rank,
                                                      find_unused_parameters=True)
Run Code Online (Sandbox Code Playgroud)

设置local_rank-1具有此效果。


归档时间:

查看次数:

12746 次

最近记录:

4 年,7 月 前