MCPcopy Index your code
hub / github.com/TorchSSL/TorchSSL / get_optimizer

Function get_optimizer

train_utils.py:198–221  ·  view source on GitHub ↗

return optimizer (name) in torch.optim. If bn_wd_skip, the optimizer does not apply weight decay regularization on parameters in batch normalization.

(net, optim_name='SGD', lr=0.1, momentum=0.9, weight_decay=0, nesterov=True, bn_wd_skip=True)

Source from the content-addressed store, hash-verified

196
197
198def get_optimizer(net, optim_name='SGD', lr=0.1, momentum=0.9, weight_decay=0, nesterov=True, bn_wd_skip=True):
199 '''
200 return optimizer (name) in torch.optim.
201 If bn_wd_skip, the optimizer does not apply
202 weight decay regularization on parameters in batch normalization.
203 '''
204
205 decay = []
206 no_decay = []
207 for name, param in net.named_parameters():
208 if ('bn' in name or 'bias' in name) and bn_wd_skip:
209 no_decay.append(param)
210 else:
211 decay.append(param)
212
213 per_param_args = [{'params': decay},
214 {'params': no_decay, 'weight_decay': 0.0}]
215
216 if optim_name == 'SGD':
217 optimizer = torch.optim.SGD(per_param_args, lr=lr, momentum=momentum, weight_decay=weight_decay,
218 nesterov=nesterov)
219 elif optim_name == 'AdamW':
220 optimizer = torch.optim.AdamW(per_param_args, lr=lr, weight_decay=weight_decay)
221 return optimizer
222
223
224def get_cosine_schedule_with_warmup(optimizer,

Callers 13

main_workerFunction · 0.90
main_workerFunction · 0.90
main_workerFunction · 0.90
main_workerFunction · 0.90
main_workerFunction · 0.90
main_workerFunction · 0.90
main_workerFunction · 0.90
main_workerFunction · 0.90
main_workerFunction · 0.90
main_workerFunction · 0.90
main_workerFunction · 0.90
main_workerFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected