Diffusers documentation
BriaTransformer2DModel
BriaTransformer2DModel
Un modèle Transformer de flux modifié de Bria
BriaTransformer2DModel
classe diffusers.BriaTransformer2DModel
< source >( patch_size: int = 1in_channels: int = 64num_layers: int = 19num_single_layers: int = 38attention_head_dim: int = 128num_attention_heads: int = 24joint_attention_dim: int = 4096pooled_projection_dim: int = Noneguidance_embeds: bool = Falseaxes_dims_rope: list = [16, 56, 56]rope_theta = 10000time_theta = 10000 )
Paramètres
- patch_size (
int) — Taille des patches pour découper les données d'entrée en petits patches. - in_channels (
int, facultatif, valeur par défaut 16) — Le nombre de canaux de l'entrée. - num_layers (
int, facultatif, valeur par défaut 18) — Le nombre de blocs MMDiT à utiliser. - num_single_layers (
int, facultatif, valeur par défaut 18) — Le nombre de blocs DiT simples à utiliser. - attention_head_dim (
int, facultatif, valeur par défaut : 64) — Le nombre de canaux dans chaque tête. - num_attention_heads (
int, facultatif, valeur par défaut 18) — Le nombre de têtes à utiliser pour l'attention multi-têtes. - joint_attention_dim (
int, facultatif) — Le nombre de dimensions deencoder_hidden_statesà utiliser. - pooled_projection_dim (
int) — Nombre de dimensions à utiliser lors de la projection despooled_projections. - guidance_embeds (
bool, par défaut False) — Indique s'il faut utiliser des embeddings de guidance.
Le modèle Transformer introduit dans Flux. Basé sur FluxPipeline avec plusieurs modifications :
- aucun embeddings agrégés
- Nous utilisons un remplissage par zéros pour les invites
- Aucun embedding de guidage, car il ne s'agit pas d'une version distillée 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 = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = Truecontrolnet_block_samples = Nonecontrolnet_single_block_samples = None )
Paramètres
- hidden_states (
torch.FloatTensorde forme(batch size, channel, height, width)) —hidden_statesd'entrée. - encoder_hidden_states (
torch.FloatTensorde forme(batch size, sequence_len, embed_dims)) — Embeddings conditionnels (embeddings calculés à partir des conditions d’entrée telles que les prompts) à utiliser. - pooled_projections (
torch.FloatTensorde 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. - 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 BriaTransformer2DModel.