From 05f756390cecdd7a64a1f57168e3185dd974cbe3 Mon Sep 17 00:00:00 2001 From: Fangjun Kuang Date: Mon, 28 Oct 2024 00:59:04 +0800 Subject: [PATCH] Avoid using lr from checkpoint. (#1781) --- egs/librispeech/ASR/zipformer/optim.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/egs/librispeech/ASR/zipformer/optim.py b/egs/librispeech/ASR/zipformer/optim.py index 6f5180e29..8434fab13 100644 --- a/egs/librispeech/ASR/zipformer/optim.py +++ b/egs/librispeech/ASR/zipformer/optim.py @@ -787,7 +787,9 @@ class LRScheduler(object): is not the optimizer. """ return { - "base_lrs": self.base_lrs, + # the user might try to override the base_lr, so don't include this in the state. + # previously they were included. + # "base_lrs": self.base_lrs, "epoch": self.epoch, "batch": self.batch, } @@ -799,7 +801,12 @@ class LRScheduler(object): state_dict (dict): scheduler state. Should be an object returned from a call to :meth:`state_dict`. """ + # the things with base_lrs are a work-around for a previous problem + # where base_lrs were written with the state dict. + base_lrs = self.base_lrs self.__dict__.update(state_dict) + self.base_lrs = base_lrs + def get_last_lr(self) -> List[float]: """Return last computed learning rate by current scheduler. Will be a list of float."""