mmagic.engine.optimizers.singan_optimizer_constructor
¶
Module Contents¶
Classes¶
OptimizerConstructor for SinGAN models. Set optimizers for each |
- class mmagic.engine.optimizers.singan_optimizer_constructor.SinGANOptimWrapperConstructor(optim_wrapper_cfg: dict, paramwise_cfg: Optional[dict] = None)[source]¶
OptimizerConstructor for SinGAN models. Set optimizers for each submodule of SinGAN. All submodule must be contained in a
torch.nn.ModuleList
named ‘blocks’. And we access each submodule by MODEL.blocks[SCALE], where MODEL is generator or discriminator, and the scale is the index of the resolution scale.More detail about the resolution scale and naming rule please refers to
SinGANMultiScaleGenerator
andSinGANMultiScaleDiscriminator
.Example
>>> # build SinGAN model >>> model = dict( >>> type='SinGAN', >>> data_preprocessor=dict( >>> type='GANDataPreprocessor', >>> non_image_keys=['input_sample']), >>> generator=dict( >>> type='SinGANMultiScaleGenerator', >>> in_channels=3, >>> out_channels=3, >>> num_scales=2), >>> discriminator=dict( >>> type='SinGANMultiScaleDiscriminator', >>> in_channels=3, >>> num_scales=3)) >>> singan = MODELS.build(model) >>> # build constructor >>> optim_wrapper = dict( >>> generator=dict(optimizer=dict(type='Adam', lr=0.0005, >>> betas=(0.5, 0.999))), >>> discriminator=dict( >>> optimizer=dict(type='Adam', lr=0.0005, >>> betas=(0.5, 0.999)))) >>> optim_wrapper_dict_builder = SinGANOptimWrapperConstructor( >>> optim_wrapper) >>> # build optim wrapper dict >>> optim_wrapper_dict = optim_wrapper_dict_builder(singan)
- Parameters
optim_wrapper_cfg (dict) – Config of the optimizer wrapper.
paramwise_cfg (Optional[dict]) – Parameter-wise options.