espnet2.enh.layers.ncsnpp_utils.layers.ddpm_conv1x1
Less than 1 minute
espnet2.enh.layers.ncsnpp_utils.layers.ddpm_conv1x1
espnet2.enh.layers.ncsnpp_utils.layers.ddpm_conv1x1(in_planes, out_planes, stride=1, bias=True, init_scale=1.0, padding=0)
1x1 convolution with DDPM initialization.
This function creates a 1x1 convolutional layer and initializes its weights using the DDPM (Denoising Diffusion Probabilistic Models) method. The initialization is done by scaling the weights according to a specified scale parameter.
- Parameters:
- in_planes (int) – Number of input channels.
- out_planes (int) – Number of output channels.
- stride (int , optional) – Stride of the convolution. Default is 1.
- bias (bool , optional) – If True, adds a learnable bias to the output. Default is True.
- init_scale (float , optional) – Scale for weight initialization. Default is 1.0.
- padding (int , optional) – Zero-padding added to both sides of the input. Default is 0.
- Returns: A 1x1 convolutional layer with DDPM initialization.
- Return type: nn.Conv2d
Examples
>>> conv_layer = ddpm_conv1x1(3, 16)
>>> print(conv_layer)
Conv2d(3, 16, kernel_size=(1, 1), stride=(1, 1), bias=True)
NOTE
The weights are initialized by calling the default_init function with the specified init_scale. The bias is initialized to zero.