Diffusers documentation

DiTTransformer2DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

DiTTransformer2DModel

Un modèle Transformer pour des données de type image issu de DiT.

DiTTransformer2DModel

classe diffusers.DiTTransformer2DModel

< >

( num_attention_heads: int = 16attention_head_dim: int = 72in_channels: int = 4out_channels: int | None = Nonenum_layers: int = 28dropout: float = 0.0norm_num_groups: int = 32attention_bias: bool = Truesample_size: int = 32patch_size: int = 2activation_fn: str = 'gelu-approximate'num_embeds_ada_norm: int | None = 1000upcast_attention: bool = Falsenorm_type: str = 'ada_norm_zero'norm_elementwise_affine: bool = Falsenorm_eps: float = 1e-05 )

Paramètres

  • num_attention_heads (int, facultatif, par défaut 16) — Le nombre de têtes à utiliser pour l'attention multi-têtes.
  • attention_head_dim (int, facultatif, par défaut 72) — Le nombre de canaux dans chaque tête.
  • in_channels (int, par défaut 4) — Le nombre de canaux de l'entrée.
  • out_channels (int, optionnel) — Le nombre de canaux dans la sortie. Spécifiez ce paramètre si le nombre de canaux de sortie diffère de celui de l'entrée.
  • num_layers (int, facultatif, par défaut 28) — Le nombre de blocs Transformer à utiliser.
  • dropout (float, facultatif, valeur par défaut 0.0) — La probabilité de dropout à utiliser dans les blocs Transformer.
  • norm_num_groups (int, facultatif, valeur par défaut 32) — Nombre de groupes pour la normalisation par groupe au sein des blocs Transformer.
  • attention_bias (bool, facultatif, par défaut True) — Configure si l'attention des blocs Transformer doit contenir un paramètre de biais.
  • sample_size (int, par défaut 32) — La largeur des images latentes. Ce paramètre est fixe pendant l'entraînement.
  • patch_size (int, par défaut 2) — Taille des patches traités par le modèle, pertinente pour les architectures fonctionnant sur des données non séquentielles.
  • activation_fn (str, facultatif, par défaut “gelu-approximate”) — Fonction d'activation à utiliser dans les réseaux feed-forward au sein des blocs Transformer.
  • num_embeds_ada_norm (int, optionnel, par défaut 1000) — Nombre d'embeddings pour AdaLayerNorm, fixé pendant l'entraînement et qui affecte le nombre maximal d'étapes de débruitage pendant l'inférence.
  • upcast_attention (bool, facultatif, par défaut False) — Si true, augmente la précision des dimensions du mécanisme d'attention pour une performance potentiellement améliorée.
  • norm_type (str, optionnel, par défaut “ada_norm_zero”) — Spécifie le type de normalisation utilisé, peut être ‘ada_norm_zero’.
  • norm_elementwise_affine (bool, facultatif, par défaut False) — Si true, active les paramètres affines élément par élément dans les couches de normalisation.
  • norm_eps (float, facultatif, par défaut 1e-5) — Une petite constante ajoutée au dénominateur des couches de normalisation pour éviter la division par zéro.

Un modèle Transformer 2D tel qu'introduit dans DiT (https://huggingface.co/papers/2212.09748).

forward

< >

( hidden_states: Tensortimestep: typing.Optional[torch.LongTensor] = Noneclass_labels: typing.Optional[torch.LongTensor] = Nonecross_attention_kwargs: dict = Nonereturn_dict: bool = True )

Paramètres

  • hidden_states (torch.LongTensor de forme (batch size, num latent pixels) si discret, torch.FloatTensor de forme (batch size, channel, height, width) si continu) — Entrée hidden_states.
  • timestep ( torch.LongTensor, facultatif) — Utilisé pour indiquer l'étape de débruitage. Timestep facultatif à appliquer en tant qu'embedding dans AdaLayerNorm.
  • class_labels ( torch.LongTensor de forme (batch size, num classes), facultatif) — Utilisé pour indiquer les étiquettes de classe de conditionnement. Étiquettes de classe facultatives à appliquer sous forme d’embedding dans AdaLayerZeroNorm.
  • cross_attention_kwargs ( dict[str, Any], facultatif) — Un dictionnaire de kwargs qui, s'il est spécifié, est transmis à l'AttentionProcessor défini sous self.processor dans diffusers.models.attention_processor.
  • return_dict (bool, facultatif, par défaut True) — Indique s'il faut retourner un UNet2DConditionOutput plutôt qu'un simple tuplet.

La méthode forward du DiTTransformer2DModel.

Update on GitHub