报错: environment variable RANK expected, but not set

编程入门 行业动态 更新时间:2024-10-19 12:32:56

<a href=https://www.elefans.com/category/jswz/34/1771188.html style=报错: environment variable RANK expected, but not set"/>

报错: environment variable RANK expected, but not set

报错

在运行单机多卡训练与测试的时候,直接执行训练/测试脚本遇到如下报错:

Traceback (most recent call last):...torch.distributed.init_process_group(backend="nccl")File "/usr/local/lib/python3.6/dist-packages/torch/distributed/distributed_c10d.py", line 500, in init_process_groupstore, rank, world_size = next(rendezvous_iterator)File "/usr/local/lib/python3.6/dist-packages/torch/distributed/rendezvous.py", line 166, in _env_rendezvous_handlerraise _env_error("RANK")
ValueError: Error initializing torch.distributed using env:// rendezvous: environment variable RANK expected, but not set

解决办法

通过python -m torch.distributed.launch执行脚本,报错解决:

python -m torch.distributed.launch xxx.py  # xxx.py为要执行的脚本文件名

说明

  • python -m将其后的模块作为脚本来运行,其后的xxx.py是作为位置参数传递给该脚本,以此来启动分布式训练/测试。
  • python -m torch.distributed.launch除了接受待执行脚本作为位置参数,同时支持一些可选参数以配置分布式训练/测试,部分参数及其含义解释如下:
    参数说明
    --nnodes节点数量,或以<minimum_nodes>:<maximum_nodes>形式给出的节点范围
    --nproc_per_node每个节点的进程(worker)的数量,允许的值:[auto, cpu, gpu, int],单机多卡时可将其理解为使用GPU的数量
    --node_rank多节点分布式训练的节点序号(rank
    --master_addr主节点(rank0)的r地址。对于单节点多进程训练,可以简单地为127.0.0.1;IPv6应具有模式[0:0:0:0:0:0:0:1]
    --master_port主节点(rank0)上的端口,用于分布式训练期间的通信
    --use_env使用环境变量传递local rank。其值默认为False,如果设置为True,脚本将不会传递--local_rank作为参数,而是设置LOCAL_RANK

更多推荐

报错: environment variable RANK expected, but not set

本文发布于:2024-02-05 08:21:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1673757.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:报错   environment   variable   set   expected

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!