KeyError: "param 'initial_lr' is not specified in param_groups[0] when resuming an optimizer"
在使用下面命令训练mobilenetV1模型时,为了加快速度,我从网上下载了一个预训练模型mobilenet_sgd_68.848.pth.tar,结果如下设置时,报错如上。
python3 compress_classifier.py --arch=mobilenet ../../../data.imagenet --resume-from=../checkpoint/imagenet/mobilenet_sgd_68.848.pth.tar --lr=0.045 --batch=256 -j=32 --vs=0 --name=mobilenet_v1_training -p=50 --wd=1e-4 --epochs=200 --compress=../baseline_networks/mobilenet_imagenet_baseline_training.yaml
#
根据https://github.com/WenmuZhou/PSENet.pytorch/issues/28
提示,我将distiller/config.py 中的
lr_schedulers = __factory('lr_schedulers', model, sched_dict, optimizer=optimizer,
last_epoch=(resumed_epoch if resumed_epoch is not None else -1))
修改为:
lr_schedulers = __factory('lr_schedulers', model, sched_dict, optimizer=optimizer,
last_epoch=(-1 if resumed_epoch is not None else -1))
成功训练不报错,但是不知道缘由!!!