Diffusers documentation
ChromaTransformer2DModel
ChromaTransformer2DModel
Un modèle Transformer de flux modifié de Chroma
ChromaTransformer2DModel
classe diffusers.ChromaTransformer2DModel
< source >( 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éfaut1) — Taille des patches pour découper les données d'entrée en petits patches. - in_channels (
int, par défaut64) — Le nombre de canaux dans l'entrée. - out_channels (
int, facultatif, par défautNone) — 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éfaut19) — Le nombre de blocs DiT à double flux à utiliser. - num_single_layers (
int, par défaut38) — Le nombre de blocs DiT à flux unique à utiliser. - attention_head_dim (
int, par défaut128) — Le nombre de dimensions à utiliser pour chaque tête d'attention. - num_attention_heads (
int, par défaut24) — Le nombre de têtes d'attention à utiliser. - joint_attention_dim (
int, par défaut4096) — Le nombre de dimensions à utiliser pour l'attention conjointe (dimension d'embedding/canal deencoder_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
< source >( 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.Tensorde forme(batch_size, image_sequence_length, in_channels)) —hidden_statesd'entrée. - encoder_hidden_states (
torch.Tensorde 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_stateslors de l'attention. - controlnet_block_samples (
listdetorch.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 (
listdetorch.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éfautFalse) — 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'AttentionProcessordéfini sousself.processordans diffusers.models.attention_processor. - return_dict (
bool, facultatif, par défautTrue) — Indique s'il faut retourner un~models.transformer_2d.Transformer2DModelOutputplutôt qu'un simple tuple.
La méthode forward du FluxTransformer2DModel.