Skip to content

Commit fb53d5d

Browse files
authored
Add cosine annealing to LR scheduler options (#182)
1 parent 05190c1 commit fb53d5d

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

sparse_autoencoder/train/sweep.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -138,15 +138,15 @@ def setup_optimizer(
138138
)
139139

140140
lr_scheduler: LRScheduler | None = None
141-
142-
if hyperparameters["optimizer"]["lr_scheduler"] == "reduce_on_plateau":
143-
lr_scheduler = ReduceLROnPlateau(optimizer=optim, patience=10) # type: ignore
144-
145-
elif hyperparameters["optimizer"]["lr_scheduler"] == "cosine_annealing":
146-
lr_scheduler = CosineAnnealingLR(
147-
optimizer=optim,
148-
T_max=10,
149-
)
141+
if "lr_scheduler" in hyperparameters["optimizer"]:
142+
if hyperparameters["optimizer"]["lr_scheduler"] == "reduce_on_plateau":
143+
lr_scheduler = ReduceLROnPlateau(optimizer=optim, patience=10) # type: ignore
144+
145+
elif hyperparameters["optimizer"]["lr_scheduler"] == "cosine_annealing":
146+
lr_scheduler = CosineAnnealingLR(
147+
optimizer=optim,
148+
T_max=10,
149+
)
150150

151151
return optim, lr_scheduler
152152

sparse_autoencoder/train/sweep_config.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,9 @@ class OptimizerHyperparameters(NestedParameter):
152152
Whether to use a fused implementation of the optimizer (may be faster on CUDA).
153153
"""
154154

155-
lr_scheduler: Parameter[Literal["reduce_on_plateau"]] | None = None
155+
lr_scheduler: Parameter[Literal["reduce_on_plateau", "cosine_annealing"]] | None = field(
156+
default=None
157+
)
156158
"""Learning rate scheduler."""
157159

158160

0 commit comments

Comments
 (0)