Set up schedulers.
(self)
| 121 | return optimizer |
| 122 | |
| 123 | def setup_schedulers(self): |
| 124 | """Set up schedulers.""" |
| 125 | train_opt = self.opt['train'] |
| 126 | scheduler_type = train_opt['scheduler'].pop('type') |
| 127 | if scheduler_type in ['MultiStepLR', 'MultiStepRestartLR']: |
| 128 | for optimizer in self.optimizers: |
| 129 | self.schedulers.append(lr_scheduler.MultiStepRestartLR(optimizer, **train_opt['scheduler'])) |
| 130 | elif scheduler_type == 'CosineAnnealingRestartLR': |
| 131 | for optimizer in self.optimizers: |
| 132 | self.schedulers.append(lr_scheduler.CosineAnnealingRestartLR(optimizer, **train_opt['scheduler'])) |
| 133 | elif scheduler_type == 'LinearWarmupCosineAnnealingLR': |
| 134 | for optimizer in self.optimizers: |
| 135 | self.schedulers.append(lr_scheduler.LinearWarmupCosineAnnealingLR(optimizer, **train_opt['scheduler'])) |
| 136 | else: |
| 137 | raise NotImplementedError(f'Scheduler {scheduler_type} is not implemented yet.') |
| 138 | |
| 139 | def get_bare_model(self, net): |
| 140 | """Get bare model, especially under wrapping with |
no outgoing calls
no test coverage detected