MCPcopy Create free account
hub / github.com/PeizeSun/SparseR-CNN / build_lr_scheduler

Function build_lr_scheduler

detectron2/solver/build.py:198–223  ·  view source on GitHub ↗

Build a LR scheduler from config.

(
    cfg: CfgNode, optimizer: torch.optim.Optimizer
)

Source from the content-addressed store, hash-verified

196
197
198def build_lr_scheduler(
199 cfg: CfgNode, optimizer: torch.optim.Optimizer
200) -> torch.optim.lr_scheduler._LRScheduler:
201 """
202 Build a LR scheduler from config.
203 """
204 name = cfg.SOLVER.LR_SCHEDULER_NAME
205 if name == "WarmupMultiStepLR":
206 return WarmupMultiStepLR(
207 optimizer,
208 cfg.SOLVER.STEPS,
209 cfg.SOLVER.GAMMA,
210 warmup_factor=cfg.SOLVER.WARMUP_FACTOR,
211 warmup_iters=cfg.SOLVER.WARMUP_ITERS,
212 warmup_method=cfg.SOLVER.WARMUP_METHOD,
213 )
214 elif name == "WarmupCosineLR":
215 return WarmupCosineLR(
216 optimizer,
217 cfg.SOLVER.MAX_ITER,
218 warmup_factor=cfg.SOLVER.WARMUP_FACTOR,
219 warmup_iters=cfg.SOLVER.WARMUP_ITERS,
220 warmup_method=cfg.SOLVER.WARMUP_METHOD,
221 )
222 else:
223 raise ValueError("Unknown LR scheduler: {}".format(name))

Callers 2

do_trainFunction · 0.90
build_lr_schedulerMethod · 0.90

Calls 2

WarmupMultiStepLRClass · 0.85
WarmupCosineLRClass · 0.85

Tested by

no test coverage detected