Skip to content

Commit 169bf0a

Browse files
committed
fix lr_scheduler for BertAdam optimizer
1 parent bf17be3 commit 169bf0a

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

easynlp/core/optimizers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ def get_optimizer(
495495
optimizer_grouped_parameters.append({
496496
'params': [p],
497497
'weight_decay':
498-
0.0 if any(nd in n for nd in no_decay) else weight_decay
498+
0.0 if len(p.shape) == 1 or any(nd in n for nd in no_decay) else weight_decay
499499
})
500500
if optimizer_type == 'BertAdam':
501501
optimizer = BertAdam(

easynlp/core/trainer.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ def set_model_and_optimizer(self, model, args):
107107
# Build Optimizer
108108
self._optimizer, self._lr_scheduler = get_optimizer(
109109
optimizer_type=self.optimizer_type,
110+
schedule=args.lr_scheduler,
110111
learning_rate=args.learning_rate,
111112
warmup_proportion=args.warmup_proportion,
112113
max_grad_norm=self.max_grad_norm,

easynlp/utils/arguments.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,16 @@ def _add_easynlp_args(parser: argparse.ArgumentParser):
296296
],
297297
help='name of the optimizer')
298298

299+
group.add_argument('--lr_scheduler',
300+
'--schedule',
301+
default='warmup_linear',
302+
type=str,
303+
choices=[
304+
'warmup_linear', 'warmup_cosine',
305+
'warmup_constant', 'none',
306+
],
307+
help='name of the learning rate scheduler')
308+
299309
group.add_argument(
300310
'--warmup_proportion',
301311
default=0.1,

0 commit comments

Comments
 (0)