Diffusers documentation
Normalization layers
Normalization layers
Customized normalization layers for supporting various models in π€ Diffusers.
AdaLayerNorm
class diffusers.models.normalization.AdaLayerNorm
< source >( embedding_dim: intnum_embeddings: typing.Optional[int] = Noneoutput_dim: typing.Optional[int] = Nonenorm_elementwise_affine: bool = Falsenorm_eps: float = 1e-05chunk_dim: int = 0 )
Parameters
Norm layer modified to incorporate timestep embeddings.
AdaLayerNormZero
class diffusers.models.normalization.AdaLayerNormZero
< source >( embedding_dim: intnum_embeddings: typing.Optional[int] = Nonenorm_type = 'layer_norm'bias = True )
Norm layer adaptive layer norm zero (adaLN-Zero).
AdaLayerNormSingle
class diffusers.models.normalization.AdaLayerNormSingle
< source >( embedding_dim: intuse_additional_conditions: bool = False )
Norm layer adaptive layer norm single (adaLN-single).
As proposed in PixArt-Alpha (see: https://arxiv.org/abs/2310.00426; Section 2.3).
AdaGroupNorm
class diffusers.models.normalization.AdaGroupNorm
< source >( embedding_dim: intout_dim: intnum_groups: intact_fn: typing.Optional[str] = Noneeps: float = 1e-05 )
Parameters
- embedding_dim (
int
) β The size of each embedding vector. - num_embeddings (
int
) β The size of the embeddings dictionary. - num_groups (
int
) β The number of groups to separate the channels into. - act_fn (
str
, optional, defaults toNone
) β The activation function to use. - eps (
float
, optional, defaults to1e-5
) β The epsilon value to use for numerical stability.
GroupNorm layer modified to incorporate timestep embeddings.
AdaLayerNormContinuous
class diffusers.models.normalization.AdaLayerNormContinuous
< source >( embedding_dim: intconditioning_embedding_dim: intelementwise_affine = Trueeps = 1e-05bias = Truenorm_type = 'layer_norm' )
Parameters
- embedding_dim (
int
) β Embedding dimension to use during projection. - conditioning_embedding_dim (
int
) β Dimension of the input condition. - elementwise_affine (
bool
, defaults toTrue
) β Boolean flag to denote if affine transformation should be applied. - eps (
float
, defaults to 1e-5) β Epsilon factor. - bias (
bias
, defaults toTrue
) β Boolean flag to denote if bias should be use. - norm_type (
str
, defaults to"layer_norm"
) β Normalization layer to use. Values supported: βlayer_normβ, βrms_normβ.
Adaptive normalization layer with a norm layer (layer_norm or rms_norm).
RMSNorm
class diffusers.models.normalization.RMSNorm
< source >( dimeps: floatelementwise_affine: bool = Truebias: bool = False )
Parameters
- dim (
int
) β Number of dimensions to use forweights
. Only effective whenelementwise_affine
is True. - eps (
float
) β Small value to use when calculating the reciprocal of the square-root. - elementwise_affine (
bool
, defaults toTrue
) β Boolean flag to denote if affine transformation should be applied. - bias (
bool
, defaults to False) β If also training thebias
param.
RMS Norm as introduced in https://arxiv.org/abs/1910.07467 by Zhang et al.
GlobalResponseNorm
class diffusers.models.normalization.GlobalResponseNorm
< source >( dim )
Global response normalization as introduced in ConvNeXt-v2 (https://arxiv.org/abs/2301.00808).
LuminaLayerNormContinuous
class diffusers.models.normalization.LuminaLayerNormContinuous
< source >( embedding_dim: intconditioning_embedding_dim: intelementwise_affine = Trueeps = 1e-05bias = Truenorm_type = 'layer_norm'out_dim: typing.Optional[int] = None )
SD35AdaLayerNormZeroX
class diffusers.models.normalization.SD35AdaLayerNormZeroX
< source >( embedding_dim: intnorm_type: str = 'layer_norm'bias: bool = True )
Norm layer adaptive layer norm zero (AdaLN-Zero).
AdaLayerNormZeroSingle
class diffusers.models.normalization.AdaLayerNormZeroSingle
< source >( embedding_dim: intnorm_type = 'layer_norm'bias = True )
Norm layer adaptive layer norm zero (adaLN-Zero).
LuminaRMSNormZero
class diffusers.models.normalization.LuminaRMSNormZero
< source >( embedding_dim: intnorm_eps: floatnorm_elementwise_affine: bool )
Norm layer adaptive RMS normalization zero.
LpNorm
class diffusers.models.normalization.LpNorm
< source >( p: int = 2dim: int = -1eps: float = 1e-12 )
CogView3PlusAdaLayerNormZeroTextImage
class diffusers.models.normalization.CogView3PlusAdaLayerNormZeroTextImage
< source >( embedding_dim: intdim: int )
Norm layer adaptive layer norm zero (adaLN-Zero).
CogVideoXLayerNormZero
class diffusers.models.normalization.CogVideoXLayerNormZero
< source >( conditioning_dim: intembedding_dim: intelementwise_affine: bool = Trueeps: float = 1e-05bias: bool = True )
MochiRMSNormZero
class diffusers.models.transformers.transformer_mochi.MochiRMSNormZero
< source >( embedding_dim: inthidden_dim: inteps: float = 1e-05elementwise_affine: bool = False )
Adaptive RMS Norm used in Mochi.
MochiRMSNorm
class diffusers.models.normalization.MochiRMSNorm
< source >( dimeps: floatelementwise_affine: bool = True )