MCPcopy Index your code
hub / github.com/SwinTransformer/Transformer-SSL / build_optimizer

Function build_optimizer

optimizer.py:11–32  ·  view source on GitHub ↗

Build optimizer, set weight decay of normalization to 0 by default.

(config, model)

Source from the content-addressed store, hash-verified

9
10
11def build_optimizer(config, model):
12 """
13 Build optimizer, set weight decay of normalization to 0 by default.
14 """
15 skip = {}
16 skip_keywords = {}
17 if hasattr(model, 'no_weight_decay'):
18 skip = model.no_weight_decay()
19 if hasattr(model, 'no_weight_decay_keywords'):
20 skip_keywords = model.no_weight_decay_keywords()
21 parameters = set_weight_decay(model, skip, skip_keywords)
22
23 opt_lower = config.TRAIN.OPTIMIZER.NAME.lower()
24 optimizer = None
25 if opt_lower == 'sgd':
26 optimizer = optim.SGD(parameters, momentum=config.TRAIN.OPTIMIZER.MOMENTUM, nesterov=True,
27 lr=config.TRAIN.BASE_LR, weight_decay=config.TRAIN.WEIGHT_DECAY)
28 elif opt_lower == 'adamw':
29 optimizer = optim.AdamW(parameters, eps=config.TRAIN.OPTIMIZER.EPS, betas=config.TRAIN.OPTIMIZER.BETAS,
30 lr=config.TRAIN.BASE_LR, weight_decay=config.TRAIN.WEIGHT_DECAY)
31
32 return optimizer
33
34
35def set_weight_decay(model, skip_list=(), skip_keywords=()):

Callers 3

mainFunction · 0.90
mainFunction · 0.90
mainFunction · 0.90

Calls 3

set_weight_decayFunction · 0.85
no_weight_decayMethod · 0.80

Tested by

no test coverage detected