MCPcopy Create free account
hub / github.com/ElliotVincent/SitsSCD / configure_optimizers

Method configure_optimizers

models/module.py:69–99  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

67 )
68
69 def configure_optimizers(self):
70 if self.cfg.optimizer.exclude_ln_and_biases_from_weight_decay:
71 parameters_names_wd = get_parameter_names(self.model, [nn.LayerNorm])
72 parameters_names_wd = [
73 name for name in parameters_names_wd if "bias" not in name
74 ]
75 optimizer_grouped_parameters = [
76 {
77 "params": [
78 p
79 for n, p in self.model.named_parameters()
80 if n in parameters_names_wd
81 ],
82 "weight_decay": self.cfg.optimizer.optim.weight_decay,
83 },
84 {
85 "params": [
86 p
87 for n, p in self.model.named_parameters()
88 if n not in parameters_names_wd
89 ],
90 "weight_decay": 0.0,
91 },
92 ]
93 optimizer = instantiate(
94 self.cfg.optimizer.optim, optimizer_grouped_parameters
95 )
96 else:
97 optimizer = instantiate(self.cfg.optimizer.optim, self.model.parameters())
98 scheduler = instantiate(self.cfg.lr_scheduler)(optimizer)
99 return [optimizer], [{"scheduler": scheduler, "interval": "step"}]
100
101 def lr_scheduler_step(self, scheduler, metric):
102 scheduler.step(self.global_step)

Callers

nothing calls this directly

Calls 1

get_parameter_namesFunction · 0.85

Tested by

no test coverage detected