MCPcopy Create free account
hub / github.com/drinkingcoder/FlowFormer-Official / build_scheduler

Function build_scheduler

core/optimizer/__init__.py:40–74  ·  view source on GitHub ↗

Returns: scheduler (dict):{ 'scheduler': lr_scheduler, 'interval': 'step', # or 'epoch' }

(config, optimizer)

Source from the content-addressed store, hash-verified

38
39
40def build_scheduler(config, optimizer):
41 """
42 Returns:
43 scheduler (dict):{
44 'scheduler': lr_scheduler,
45 'interval': 'step', # or 'epoch'
46 }
47 """
48 # scheduler = {'interval': config.TRAINER.SCHEDULER_INTERVAL}
49 name = config.scheduler
50 lr = config.canonical_lr
51
52 if name == 'OneCycleLR':
53 # scheduler = OneCycleLR(optimizer, )
54 if hasattr(config, 'twins_lr_factor'):
55 factor = config.twins_lr_factor
56 scheduler = OneCycleLR(optimizer, [lr, lr*factor], config.num_steps+100,
57 pct_start=0.05, cycle_momentum=False, anneal_strategy=config.anneal_strategy)
58 else:
59 scheduler = OneCycleLR(optimizer, lr, config.num_steps+100,
60 pct_start=0.05, cycle_momentum=False, anneal_strategy=config.anneal_strategy)
61 # elif name == 'MultiStepLR':
62 # scheduler.update(
63 # {'scheduler': MultiStepLR(optimizer, config.TRAINER.MSLR_MILESTONES, gamma=config.TRAINER.MSLR_GAMMA)})
64 #elif name == 'CosineAnnealing':
65 # scheduler = CosineAnnealingLR(optimizer, config.num_steps+100)
66 # scheduler.update(
67 # {'scheduler': CosineAnnealingLR(optimizer, config.TRAINER.COSA_TMAX)})
68 # elif name == 'ExponentialLR':
69 # scheduler.update(
70 # {'scheduler': ExponentialLR(optimizer, config.TRAINER.ELR_GAMMA)})
71 else:
72 raise NotImplementedError()
73
74 return scheduler

Callers 1

fetch_optimizerFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected