【已解决】KeyError: ‘RANK‘

在运行mmSegmentation语义分割框架时遇到KeyError:RANK的问题,原因是os.environ中缺少RANK键。解决方法是手动添加RANK环境变量,如os.environ[RANK]=str(0)。此外,文章还介绍了Rank、LOCAL_RANK和WORLD_SIZE等在分布式训练中的概念,并列出了神经网络模型系列教程的目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

在运行mmSegmentation语义分割框架出现如下问题!

warnings.warn(
Traceback (most recent call last):
  File "/home/wh/projects/SeaFormer-main/seaformer-seg/tools/train.py", line 181, in <module>
    main()
  File "/home/wh/projects/SeaFormer-main/seaformer-seg/tools/train.py", line 99, in main
    init_dist(args.launcher, **cfg.dist_params)
  File "/home/wh/anaconda3/envs/pytorch39/lib/python3.9/site-packages/mmcv/runner/dist_utils.py", line 41, in init_dist
    _init_dist_pytorch(backend, **kwargs)
  File "/home/wh/anaconda3/envs/pytorch39/lib/python3.9/site-packages/mmcv/runner/dist_utils.py", line 52, in _init_dist_pytorch
    rank = int(os.environ['RANK'])
  File "/home/wh/anaconda3/envs/pytorch39/lib/python3.9/os.py", line 679, in __getitem__
    raise KeyError(key) from None
KeyError: 'RANK'

分析原因

使用os.environ.keys() 命令查看主目录下所有的 key,经过排查,是因为os.environ当中没有RANK这个key。
在这里插入图片描述

解决方法

在原程序中添加一个RANK键值。

os.environ['RANK'] = str(0)

添加语句的方法:
新增环境变量语句:
os.environ[‘环境变量名称’]=‘环境变量值’ #其中key和value均为string类型
os.putenv(‘环境变量名称’, ‘环境变量值’)
os.environ.setdefault(‘环境变量名称’, ‘环境变量值’)

扩展

Rank:进程号rank理解:在多进程上下文中,我们通常假定rank 0是第一个进程或者主进程,其它进程分别具有0,1,2不同rank号,这样总共具有4个进程。
LOCAL_RANK:进程内,GPU 编号,非显式参数,由 torch.distributed.launch 内部指定。比方说, rank = 3,local_rank = 0 表示第 3 个进程内的第 1 块 GPU。
WORLD_SIZE:表示全局进程个数。
SLURM_PROCID:可用作全局rank。

专栏目录:神经网络精讲与实战

这篇文章,是对专栏的总目录,方便大家查看文章。这个专栏我计划整理一些经典常用的主干网络模型,对其进行讲解和实战。由浅入深,逐步增加深度,让大家更容易接受。

PDF版的文章和实战代码以及数据集,我会放到网盘上,大家在文章的末尾可以看到。

AlexNet

第一篇 AlexNet——论文翻译

第二篇 AlexNet——模型精讲

第三篇 制作数据集

第四篇 AlexNet——网络实战
在这里插入图片描述

VGGNet

第五篇 VGGNet——论文翻译

第六篇 VGGNet——模型精讲

第七篇 图像分类的评价指标

第八篇 VGGNet——网络实战
在这里插入图片描述

GoogLeNet

第九篇 GoogLeNet——论文翻译

第十篇 GoogLeNet——模型精讲

第十一篇 绘图matplotlib.pyplot的使用

第十二篇 GoogLeNet——网络实战
在这里插入图片描述

Inception V2——V4

第十三篇 Inception V2——论文翻译

第十四篇 Inception V3——论文翻译

第十五篇 Inception V4——论文翻译

第十六篇 Inception V2、Inception V3、Inception V4模型详解

第十七篇 PyTorch学习率调整策略

第十八篇 InceptionV3实战

ResNet

第十九篇 ResNet——论文翻译

第二十篇 ResNet——模型讲解

第二十一篇 数据增强

第二十二篇 ResNet实战
在这里插入图片描述

DenseNet

第二十三篇 DenseNet——论文翻译

第二十四篇 DenseNet——模型讲解

第二十五篇 argparse模块

第二十六篇 DenseNet实战

在这里插入图片描述

SE-ResNet

第二十七篇 SeNet——论文翻译

第二十八篇 SeNet模型解析

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI浩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值