mmdection训练出现变量定义错误

在使用mmdetection进行模型训练时遇到UnboundLocalError,原因是torch1.8.xx的bug。解决方案是手动修改adamw.py文件,将报错行前的空格删除。此问题在后续的torch版本已修复。
出现问题

使用mmdetection训练模型,出现下面错误
错误截图
错误提示是这样的

UnboundLocalError: local variable 'beta1' referenced before assignment
问题原因

使用了torch1.8.xx构建环境,这似乎是torch1.8.xx下面的一个bug。在后续的torch版本已经修复。

解决方法

找到报错的路径下的adamw.py文件,在上面报错的图上倒数第三行会有,我这里是

.conda/envs/liudong-mmlab/lib/python3.7/site-packages/torch/optim/adamw.py

打开该路径下的adamw.py文件,找到第110行

 F.adamw(params_with_grad,

将改行前面空格删掉一个,到下面的程度

            beta1
### 如何使用 MMDetection 框架训练定义数据集 #### 准备工作 为了能够顺利地使用 MMDetection 训练定义的数据集,需要先准备好标注好的原始数据集。对于 VOC 格式的数据集准备过程有详细的说明可供参考[^2]。创建 COCO 格式的数据集也可以遵循类似的步骤。 #### 修改配置文件 在开始训练之前,需根据实际需求修改 `mmdet/datasets/coco.py` 文件中的数据集种类设置,使其匹配所使用的自定义数据集类型[^1]。这一步骤确保了框架能正确读取并处理输入的数据。 #### 配置环境与参数调整 当一切就绪之后,在启动训练前还需要考虑一些重要的超参数设定。特别是关于学习率的选择上应依据线性缩放的原则来进行适当调节,以适应不同规模的数据集和硬件条件下的最优性能表现[^3]。 #### 开始训练 完成上述准备工作后就可以着手于具体的训练流程: ```bash python tools/train.py configs/my_custom_config.py --gpu-id 0 ``` 此命令会调用指定配置文件来执行整个训练过程,并指定了用于加速计算的 GPU ID 号码。 #### 测试模型效果 训练完成后可以通过如下方式评估新得到检测器的效果: ```bash python tools/test.py configs/my_custom_config.py work_dirs/my_custom_config/latest.pth --eval bbox segm ``` 该指令将会基于最新保存下来的权重文件对验证集上的图片进行推理预测,并输出相应的评价指标结果。
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值