Diffusers documentation

ChromaTransformer2DModel

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

ChromaTransformer2DModel

Un modèle Transformer de flux modifié de Chroma

ChromaTransformer2DModel

classe diffusers.ChromaTransformer2DModel

< >

( patch_size: int = 1in_channels: int = 64out_channels: int | None = Nonenum_layers: int = 19num_single_layers: int = 38attention_head_dim: int = 128num_attention_heads: int = 24joint_attention_dim: int = 4096axes_dims_rope: tuple = (16, 56, 56)approximator_num_channels: int = 64approximator_hidden_dim: int = 5120approximator_layers: int = 5 )

Paramètres

  • patch_size (int, par défaut 1) — Taille des patches pour découper les données d'entrée en petits patches.
  • in_channels (int, par défaut 64) — Le nombre de canaux dans l'entrée.
  • out_channels (int, facultatif, par défaut None) — Le nombre de canaux dans la sortie. S'il n'est pas spécifié, il est par défaut égal à in_channels.
  • num_layers (int, par défaut 19) — Le nombre de blocs DiT à double flux à utiliser.
  • num_single_layers (int, par défaut 38) — Le nombre de blocs DiT à flux unique à utiliser.
  • attention_head_dim (int, par défaut 128) — Le nombre de dimensions à utiliser pour chaque tête d'attention.
  • num_attention_heads (int, par défaut 24) — Le nombre de têtes d'attention à utiliser.
  • joint_attention_dim (int, par défaut 4096) — Le nombre de dimensions à utiliser pour l'attention conjointe (dimension d'embedding/canal de encoder_hidden_states).
  • axes_dims_rope (tuple[int], par défaut (16, 56, 56)) — Les dimensions à utiliser pour les embeddings positionnels rotatifs.

Le modèle Transformer introduit dans Flux, modifié pour Chroma.

Référence : https://huggingface.co/lodestones/Chroma1-HD

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensor = Nonetimestep: LongTensor = Noneimg_ids: Tensor = Nonetxt_ids: Tensor = Noneattention_mask: Tensor = Nonejoint_attention_kwargs: dict[str, typing.Any] | None = Nonecontrolnet_block_samples = Nonecontrolnet_single_block_samples = Nonereturn_dict: bool = Truecontrolnet_blocks_repeat: bool = False )

Paramètres

  • hidden_states (torch.Tensor de forme (batch_size, image_sequence_length, in_channels)) — hidden_states d'entrée.
  • encoder_hidden_states (torch.Tensor de forme (batch_size, text_sequence_length, joint_attention_dim)) — Embeddings conditionnels (embeddings calculés à partir des conditions d’entrée telles que les prompts) à utiliser.
  • timestep ( torch.LongTensor) — Utilisé pour indiquer l'étape de débruitage.
  • img_ids (torch.Tensor) — Identifiants de position des images utilisés pour calculer les embeddings positionnels rotatifs.
  • txt_ids (torch.Tensor) — Identifiants de position du texte utilisés pour calculer les embeddings positionnels rotatifs.
  • attention_mask (torch.Tensor, facultatif) — Masque appliqué à encoder_hidden_states lors de l'attention.
  • controlnet_block_samples (list de torch.Tensor, facultatif) — Une liste de tenseurs qui, si elle est spécifiée, est ajoutée aux résidus des blocs du transformeur.
  • controlnet_single_block_samples (list de torch.Tensor, facultatif) — Une liste de tenseurs qui, si elle est spécifiée, est ajoutée aux résidus des blocs de transformeur individuels.
  • controlnet_blocks_repeat (bool, facultatif, valeur par défaut False) — Indique s'il faut répéter les échantillons des blocs controlnet sur tous les blocs du transformer.
  • joint_attention_kwargs (dict, 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 ~models.transformer_2d.Transformer2DModelOutput plutôt qu'un simple tuple.

La méthode forward du FluxTransformer2DModel.

Update on GitHub