Diffusers documentation
FluxTransformer2DModel
FluxTransformer2DModel
Un modèle Transformer pour des données de type image de Flux.
FluxTransformer2DModel
classe diffusers.FluxTransformer2DModel
< 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 = 4096pooled_projection_dim: int = 768guidance_embeds: bool = Falseaxes_dims_rope: tuple = (16, 56, 56) )
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). - pooled_projection_dim (
int, par défaut768) — Le nombre de dimensions à utiliser pour la projection agrégée. - guidance_embeds (
bool, par défautFalse) — Indique s'il faut utiliser des embeddings de guidance pour la variante du modèle distillée par guidance. - 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.
Référence : https://blackforestlabs.ai/announcing-black-forest-labs/
forward
< source >( hidden_states: Tensorencoder_hidden_states: Tensor = Nonepooled_projections: Tensor = Nonetimestep: LongTensor = Noneimg_ids: Tensor = Nonetxt_ids: Tensor = Noneguidance: 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. - pooled_projections (
torch.Tensorde forme(batch_size, projection_dim)) — Projections des embeddings issus des embeddings des conditions d'entrée. - 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. - guidance (
torch.Tensor, optional) — Guidance scale embedding used for guidance-distilled variants of the model. - 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.