mmagic.models.editors.stylegan1.stylegan1_generator
¶
Module Contents¶
Classes¶
StyleGAN1 Generator. |
- class mmagic.models.editors.stylegan1.stylegan1_generator.StyleGAN1Generator(out_size, style_channels, num_mlps=8, blur_kernel=[1, 2, 1], lr_mlp=0.01, default_style_mode='mix', eval_style_mode='single', mix_prob=0.9)[source]¶
Bases:
mmengine.model.BaseModule
StyleGAN1 Generator.
In StyleGAN1, we use a progressive growing architecture composing of a style mapping module and number of convolutional style blocks. More details can be found in: A Style-Based Generator Architecture for Generative Adversarial Networks CVPR2019.
- Parameters
out_size (int) – The output size of the StyleGAN1 generator.
style_channels (int) – The number of channels for style code.
num_mlps (int, optional) – The number of MLP layers. Defaults to 8.
blur_kernel (list, optional) – The blurry kernel. Defaults to [1, 2, 1].
lr_mlp (float, optional) – The learning rate for the style mapping layer. Defaults to 0.01.
default_style_mode (str, optional) – The default mode of style mixing. In training, we adopt mixing style mode in default. However, in the evaluation, we use ‘single’ style mode. [‘mix’, ‘single’] are currently supported. Defaults to ‘mix’.
eval_style_mode (str, optional) – The evaluation mode of style mixing. Defaults to ‘single’.
mix_prob (float, optional) – Mixing probability. The value should be in range of [0, 1]. Defaults to 0.9.
- train(mode=True)[source]¶
Sets the module in training mode.
This has any effect only on certain modules. See documentations of particular modules for details of their behaviors in training/evaluation mode, if they are affected, e.g.
Dropout
,BatchNorm
, etc.- Parameters
mode (bool) – whether to set training mode (
True
) or evaluation mode (False
). Default:True
.- Returns
self
- Return type
Module
- make_injected_noise()[source]¶
make noises that will be injected into feature maps.
- Returns
List of layer-wise noise tensor.
- Return type
list[Tensor]
- get_mean_latent(num_samples=4096, **kwargs)[source]¶
Get mean latent of W space in this generator.
- Parameters
num_samples (int, optional) – Number of sample times. Defaults to 4096.
- Returns
Mean latent of this generator.
- Return type
Tensor
- style_mixing(n_source, n_target, inject_index=1, truncation_latent=None, truncation=0.7, curr_scale=- 1, transition_weight=1)[source]¶
- forward(styles, num_batches=- 1, return_noise=False, return_latents=False, inject_index=None, truncation=1, truncation_latent=None, input_is_latent=False, injected_noise=None, randomize_noise=True, transition_weight=1.0, curr_scale=- 1)[source]¶
Forward function.
This function has been integrated with the truncation trick. Please refer to the usage of truncation and truncation_latent.
- Parameters
styles (torch.Tensor | list[torch.Tensor] | callable | None) – In StyleGAN1, you can provide noise tensor or latent tensor. Given a list containing more than one noise or latent tensors, style mixing trick will be used in training. Of course, You can directly give a batch of noise through a
torch.Tensor
or offer a callable function to sample a batch of noise data. Otherwise, theNone
indicates to use the default noise sampler.num_batches (int, optional) – The number of batch size. Defaults to 0.
return_noise (bool, optional) – If True,
noise_batch
will be returned in a dict withfake_img
. Defaults to False.return_latents (bool, optional) – If True,
latent
will be returned in a dict withfake_img
. Defaults to False.inject_index (int | None, optional) – The index number for mixing style codes. Defaults to None.
truncation (float, optional) – Truncation factor. Give value less than 1., the truncation trick will be adopted. Defaults to 1.
truncation_latent (torch.Tensor, optional) – Mean truncation latent. Defaults to None.
input_is_latent (bool, optional) – If True, the input tensor is the latent tensor. Defaults to False.
injected_noise (torch.Tensor | None, optional) – Given a tensor, the random noise will be fixed as this input injected noise. Defaults to None.
randomize_noise (bool, optional) – If False, images are sampled with the buffered noise tensor injected to the style conv block. Defaults to True.
transition_weight (float, optional) – The weight used in resolution transition. Defaults to 1..
curr_scale (int, optional) – The resolution scale of generated image tensor. -1 means the max resolution scale of the StyleGAN1. Defaults to -1.
- Returns
Generated image tensor or dictionary containing more data.
- Return type
torch.Tensor | dict