From ca068f10e69881789d62cb471bde5b87cc5196c3 Mon Sep 17 00:00:00 2001 From: Kiersten Stokes Date: Thu, 23 Feb 2023 16:38:57 -0600 Subject: [PATCH 1/2] Add logic to resume ImageNet example with new learning rate --- imagenet/main.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/imagenet/main.py b/imagenet/main.py index e828ea0fa7..a21b99c0e1 100644 --- a/imagenet/main.py +++ b/imagenet/main.py @@ -215,6 +215,9 @@ def main_worker(gpu, ngpus_per_node, args): best_acc1 = best_acc1.to(args.gpu) model.load_state_dict(checkpoint['state_dict']) optimizer.load_state_dict(checkpoint['optimizer']) + if args.lr: + # resume with newly specified learning rate + optimizer.param_groups[0]['lr'] = args.lr scheduler.load_state_dict(checkpoint['scheduler']) print("=> loaded checkpoint '{}' (epoch {})" .format(args.resume, checkpoint['epoch'])) @@ -293,8 +296,8 @@ def main_worker(gpu, ngpus_per_node, args): 'arch': args.arch, 'state_dict': model.state_dict(), 'best_acc1': best_acc1, - 'optimizer' : optimizer.state_dict(), - 'scheduler' : scheduler.state_dict() + 'optimizer': optimizer.state_dict(), + 'scheduler': scheduler.state_dict() }, is_best) From adb083431d97f61e9c001386a20b134423ca2cbb Mon Sep 17 00:00:00 2001 From: Kiersten Stokes Date: Fri, 24 Feb 2023 09:36:47 -0600 Subject: [PATCH 2/2] Check for more than just falsy lr --- imagenet/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imagenet/main.py b/imagenet/main.py index a21b99c0e1..2b1c7f9a49 100644 --- a/imagenet/main.py +++ b/imagenet/main.py @@ -215,7 +215,7 @@ def main_worker(gpu, ngpus_per_node, args): best_acc1 = best_acc1.to(args.gpu) model.load_state_dict(checkpoint['state_dict']) optimizer.load_state_dict(checkpoint['optimizer']) - if args.lr: + if args.lr != parser.get_default('lr'): # resume with newly specified learning rate optimizer.param_groups[0]['lr'] = args.lr scheduler.load_state_dict(checkpoint['scheduler'])