Create the optimizer and learning rate scheduler
(model, cfg)
| 2 | from torch.optim.lr_scheduler import MultiStepLR, CosineAnnealingLR, ExponentialLR, OneCycleLR |
| 3 | |
| 4 | def fetch_optimizer(model, cfg): |
| 5 | """ Create the optimizer and learning rate scheduler """ |
| 6 | # optimizer = optim.AdamW(model.parameters(), lr=args.lr, weight_decay=args.wdecay, eps=args.epsilon) |
| 7 | |
| 8 | # scheduler = optim.lr_scheduler.OneCycleLR(optimizer, args.lr, args.num_steps+100, |
| 9 | # pct_start=0.05, cycle_momentum=False, anneal_strategy='linear') |
| 10 | optimizer = build_optimizer(model, cfg) |
| 11 | scheduler = build_scheduler(cfg, optimizer) |
| 12 | |
| 13 | return optimizer, scheduler |
| 14 | |
| 15 | def build_optimizer(model, config): |
| 16 | name = config.optimizer |
no test coverage detected