layers.py π§ΒΆ
Source: LION/models/diffusion/NCSNpp_helpers/layers.py
Warning
This file has not yet received a complete narrative and docstring audit. Its public source-level API is listed automatically below.
Common layers for defining score networks.
- get_act(params)
Get activation functions from the config file.
- ncsn_conv1x1(in_planes, out_planes, stride=1, bias=True, dilation=1, init_scale=1.0, padding=0)
1x1 convolution. Same as NCSNv1/v2.
- variance_scaling(scale, mode, distribution, in_axis=1, out_axis=0, dtype=torch.float32, device='cpu')
Ported from JAX.
- default_init(scale=1.0)
The same initialization used in DDPM.
- class Dense
Linear layer with default_init.
- ddpm_conv1x1(in_planes, out_planes, stride=1, bias=True, init_scale=1.0, padding=0)
1x1 convolution with DDPM initialization.
- ncsn_conv3x3(in_planes, out_planes, stride=1, bias=True, dilation=1, init_scale=1.0, padding=1)
3x3 convolution with PyTorch initialization. Same as NCSNv1/NCSNv2.
- ddpm_conv3x3(in_planes, out_planes, stride=1, bias=True, dilation=1, init_scale=1.0, padding=1)
3x3 convolution with DDPM initialization.
- class CRPBlock(features, n_stages, act=nn.ReLU(), maxpool=True)
No docstring is available.
- CRPBlock.forward(self, x)
No docstring is available.
- class CondCRPBlock(features, n_stages, num_classes, normalizer, act=nn.ReLU())
No docstring is available.
- CondCRPBlock.forward(self, x, y)
No docstring is available.
- class RCUBlock(features, n_blocks, n_stages, act=nn.ReLU())
No docstring is available.
- RCUBlock.forward(self, x)
No docstring is available.
- class CondRCUBlock(features, n_blocks, n_stages, num_classes, normalizer, act=nn.ReLU())
No docstring is available.
- CondRCUBlock.forward(self, x, y)
No docstring is available.
- class MSFBlock(in_planes, features)
No docstring is available.
- MSFBlock.forward(self, xs, shape)
No docstring is available.
- class CondMSFBlock(in_planes, features, num_classes, normalizer)
No docstring is available.
- CondMSFBlock.forward(self, xs, y, shape)
No docstring is available.
- class RefineBlock(in_planes, features, act=nn.ReLU(), start=False, end=False, maxpool=True)
No docstring is available.
- RefineBlock.forward(self, xs, output_shape)
No docstring is available.
- class CondRefineBlock(in_planes, features, num_classes, normalizer, act=nn.ReLU(), start=False, end=False)
No docstring is available.
- CondRefineBlock.forward(self, xs, y, output_shape)
No docstring is available.
- class ConvMeanPool(input_dim, output_dim, kernel_size=3, biases=True, adjust_padding=False)
No docstring is available.
- ConvMeanPool.forward(self, inputs)
No docstring is available.
- class MeanPoolConv(input_dim, output_dim, kernel_size=3, biases=True)
No docstring is available.
- MeanPoolConv.forward(self, inputs)
No docstring is available.
- class UpsampleConv(input_dim, output_dim, kernel_size=3, biases=True)
No docstring is available.
- UpsampleConv.forward(self, inputs)
No docstring is available.
- class ConditionalResidualBlock(input_dim, output_dim, num_classes, resample=1, act=nn.ELU(), normalization=ConditionalInstanceNorm2dPlus, adjust_padding=False, dilation=None)
No docstring is available.
- ConditionalResidualBlock.forward(self, x, y)
No docstring is available.
- class ResidualBlock(input_dim, output_dim, resample=None, act=nn.ELU(), normalization=nn.InstanceNorm2d, adjust_padding=False, dilation=1)
No docstring is available.
- ResidualBlock.forward(self, x)
No docstring is available.
- get_timestep_embedding(timesteps, embedding_dim, max_positions=10000)
No docstring is available.
- contract_inner(x, y)
tensordot(x, y, 1).
- class NIN(in_dim, num_units, init_scale=0.1)
No docstring is available.
- NIN.forward(self, x)
No docstring is available.
- class AttnBlock(channels)
Channel-wise self-attention block.
- AttnBlock.forward(self, x)
No docstring is available.
- class Upsample(channels, with_conv=False)
No docstring is available.
- Upsample.forward(self, x)
No docstring is available.
- class Downsample(channels, with_conv=False)
No docstring is available.
- Downsample.forward(self, x)
No docstring is available.
- class ResnetBlockDDPM(act, in_ch, out_ch=None, temb_dim=None, conv_shortcut=False, dropout=0.1)
The ResNet Blocks used in DDPM.
- ResnetBlockDDPM.forward(self, x, temb=None)
No docstring is available.