Skip to content

Commit b5e03ef

Browse files
authored
Merge pull request #1024 from mlcommons/scap3yvt-patch-2
Added new scheduler
2 parents 14365f4 + 841eefb commit b5e03ef

4 files changed

Lines changed: 23 additions & 5 deletions

File tree

.spelling/.spelling/expect.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -747,3 +747,4 @@ srun
747747
tpu
748748
snfh
749749
netc
750+
cosineannealingwarmrestarts

GANDLF/configuration/scheduler_config.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,9 @@ class SchedulerConfig(BaseModel):
8484
"reduce-on-plateau": ReduceOnPlateauConfig,
8585
"plateau": ReduceOnPlateauConfig,
8686
"reduceonplateau": ReduceOnPlateauConfig,
87+
"cosineannealingwarmrestarts": CosineannealingConfig,
8788
"cosineannealing": CosineannealingConfig,
89+
"cosineannealinglr": CosineannealingConfig,
8890
"warmupcosineschedule": WarmupcosinescheduleConfig,
8991
"wcs": WarmupcosinescheduleConfig,
9092
}

GANDLF/schedulers/__init__.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
exp,
77
step,
88
reduce_on_plateau,
9-
cosineannealing,
9+
cosineannealingwarmrestarts,
10+
cosineannealingLR,
1011
)
1112

1213
from .wrap_monai import warmupcosineschedule
@@ -24,7 +25,9 @@
2425
"reduce-on-plateau": reduce_on_plateau,
2526
"plateau": reduce_on_plateau,
2627
"reduceonplateau": reduce_on_plateau,
27-
"cosineannealing": cosineannealing,
28+
"cosineannealing": cosineannealingwarmrestarts,
29+
"cosineannealingwarmrestarts": cosineannealingwarmrestarts,
30+
"cosineannealinglr": cosineannealingLR,
2831
"warmupcosineschedule": warmupcosineschedule,
2932
"wcs": warmupcosineschedule,
3033
}

GANDLF/schedulers/wrap_torch.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
StepLR,
66
ReduceLROnPlateau,
77
CosineAnnealingWarmRestarts,
8+
CosineAnnealingLR,
89
)
910
import math
1011

@@ -169,14 +170,25 @@ def reduce_on_plateau(parameters):
169170
)
170171

171172

172-
def cosineannealing(parameters):
173+
def cosineannealingwarmrestarts(parameters):
173174
parameters["scheduler"]["T_0"] = parameters["scheduler"].get("T_0", 5)
174175
parameters["scheduler"]["T_mult"] = parameters["scheduler"].get("T_mult", 1)
175-
parameters["scheduler"]["min_lr"] = parameters["scheduler"].get("min_lr", 0.001)
176+
parameters["scheduler"]["eta_min"] = parameters["scheduler"].get("eta_min", 0.001)
176177

177178
return CosineAnnealingWarmRestarts(
178179
parameters["optimizer_object"],
179180
T_0=parameters["scheduler"]["T_0"],
180181
T_mult=parameters["scheduler"]["T_mult"],
181-
eta_min=parameters["scheduler"]["min_lr"],
182+
eta_min=parameters["scheduler"]["eta_min"],
183+
)
184+
185+
186+
def cosineannealingLR(parameters):
187+
parameters["scheduler"]["T_max"] = parameters["scheduler"].get("T_max", 50)
188+
parameters["scheduler"]["eta_min"] = parameters["scheduler"].get("eta_min", 0.001)
189+
190+
return CosineAnnealingLR(
191+
parameters["optimizer_object"],
192+
T_max=parameters["scheduler"]["T_max"],
193+
eta_min=parameters["scheduler"]["eta_min"],
182194
)

0 commit comments

Comments
 (0)