Diffusers documentation
Normalization layers
Normalization layers
Customized normalization layers for supporting various models in 🤗 Diffusers.
AdaLayerNorm
class diffusers.models.normalization.AdaLayerNorm
< source >( embedding_dim: int num_embeddings: typing.Optional[int] = None output_dim: typing.Optional[int] = None norm_elementwise_affine: bool = False norm_eps: float = 1e-05 chunk_dim: int = 0 )
Norm layer modified to incorporate timestep embeddings.
AdaLayerNormZero
class diffusers.models.normalization.AdaLayerNormZero
< source >( embedding_dim: int num_embeddings: typing.Optional[int] = None norm_type = 'layer_norm' bias = True )
Norm layer adaptive layer norm zero (adaLN-Zero).
AdaLayerNormSingle
class diffusers.models.normalization.AdaLayerNormSingle
< source >( embedding_dim: int use_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: int out_dim: int num_groups: int act_fn: typing.Optional[str] = None eps: 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: int conditioning_embedding_dim: int elementwise_affine = True eps = 1e-05 bias = True norm_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 >( dim eps: float elementwise_affine: bool = True bias: 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: int conditioning_embedding_dim: int elementwise_affine = True eps = 1e-05 bias = True norm_type = 'layer_norm' out_dim: typing.Optional[int] = None )
SD35AdaLayerNormZeroX
class diffusers.models.normalization.SD35AdaLayerNormZeroX
< source >( embedding_dim: int norm_type: str = 'layer_norm' bias: bool = True )
Norm layer adaptive layer norm zero (AdaLN-Zero).
AdaLayerNormZeroSingle
class diffusers.models.normalization.AdaLayerNormZeroSingle
< source >( embedding_dim: int norm_type = 'layer_norm' bias = True )
Norm layer adaptive layer norm zero (adaLN-Zero).
LuminaRMSNormZero
class diffusers.models.normalization.LuminaRMSNormZero
< source >( embedding_dim: int norm_eps: float norm_elementwise_affine: bool )
Norm layer adaptive RMS normalization zero.
LpNorm
class diffusers.models.normalization.LpNorm
< source >( p: int = 2 dim: int = -1 eps: float = 1e-12 )
CogView3PlusAdaLayerNormZeroTextImage
class diffusers.models.normalization.CogView3PlusAdaLayerNormZeroTextImage
< source >( embedding_dim: int dim: int )
Norm layer adaptive layer norm zero (adaLN-Zero).
CogVideoXLayerNormZero
class diffusers.models.normalization.CogVideoXLayerNormZero
< source >( conditioning_dim: int embedding_dim: int elementwise_affine: bool = True eps: float = 1e-05 bias: bool = True )
MochiRMSNormZero
class diffusers.models.transformers.transformer_mochi.MochiRMSNormZero
< source >( embedding_dim: int hidden_dim: int eps: float = 1e-05 elementwise_affine: bool = False )
Adaptive RMS Norm used in Mochi.
MochiRMSNorm
class diffusers.models.normalization.MochiRMSNorm
< source >( dim eps: float elementwise_affine: bool = True )