mmdection训练出现变量定义错误

出现问题

使用mmdetection训练模型,出现下面错误
mmdection训练出现变量定义错误_第1张图片
错误提示是这样的

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, beta2 = group['betas']
                # update the steps for each param group update
                state['step'] += 1
                # record the step after step update
                state_steps.append(state['step'])

        F.adamw(params_with_grad,
                    grads,
                    exp_avgs,
                    exp_avg_sqs,
                    max_exp_avg_sqs,
                    state_steps,

你可能感兴趣的:(笔记,深度学习,pytorch,深度学习,python)