build optimizer from optimizer config dict Args: model: A torch.nn.Module or an iterable of parameters. cfg (:obj:`ConfigDict`): config dict for optimizer object. default_args (dict, optional): Default initialization arguments.
(model: Union[torch.nn.Module,
Iterable[torch.nn.parameter.Parameter]],
cfg: ConfigDict,
default_args: dict = None)
| 11 | |
| 12 | |
| 13 | def build_optimizer(model: Union[torch.nn.Module, |
| 14 | Iterable[torch.nn.parameter.Parameter]], |
| 15 | cfg: ConfigDict, |
| 16 | default_args: dict = None): |
| 17 | """ build optimizer from optimizer config dict |
| 18 | |
| 19 | Args: |
| 20 | model: A torch.nn.Module or an iterable of parameters. |
| 21 | cfg (:obj:`ConfigDict`): config dict for optimizer object. |
| 22 | default_args (dict, optional): Default initialization arguments. |
| 23 | """ |
| 24 | if default_args is None: |
| 25 | default_args = {} |
| 26 | |
| 27 | if isinstance(model, torch.nn.Module) or (hasattr( |
| 28 | model, 'module') and isinstance(model.module, torch.nn.Module)): |
| 29 | if hasattr(model, 'module'): |
| 30 | model = model.module |
| 31 | |
| 32 | default_args['params'] = model.parameters() |
| 33 | else: |
| 34 | # Input is a iterable of parameters, this case fits for the scenario of user-defined parameter groups. |
| 35 | default_args['params'] = model |
| 36 | |
| 37 | return build_from_cfg( |
| 38 | cfg, OPTIMIZERS, group_key=default_group, default_args=default_args) |
| 39 | |
| 40 | |
| 41 | def register_torch_optimizers(): |
no test coverage detected
searching dependent graphs…