Buckets:
PixArtTransformer2DModel
Un modèle Transformer pour des données de type image issu de PixArt-Alpha et PixArt-Sigma.
PixArtTransformer2DModel[[diffusers.PixArtTransformer2DModel]]
diffusers.PixArtTransformer2DModel[[diffusers.PixArtTransformer2DModel]]
diffusers.PixArtTransformer2DModel(num_attention_heads: int = 16, attention_head_dim: int = 72, in_channels: int = 4, out_channels: int | None = 8, num_layers: int = 28, dropout: float = 0.0, norm_num_groups: int = 32, cross_attention_dim: int | None = 1152, attention_bias: bool = True, sample_size: int = 128, patch_size: int = 2, activation_fn: str = 'gelu-approximate', num_embeds_ada_norm: int | None = 1000, upcast_attention: bool = False, norm_type: str = 'ada_norm_single', norm_elementwise_affine: bool = False, norm_eps: float = 1e-06, interpolation_scale: int | None = None, use_additional_conditions: bool | None = None, caption_channels: int | None = None, attention_type: str | None = 'default')
Paramètres :
num_attention_heads (int, optionnel, par défaut 16) : Le nombre de têtes à utiliser pour l'attention multi-têtes.
attention_head_dim (int, optionnel, par défaut 72) : Le nombre de canaux dans chaque tête.
in_channels (int, par défaut 4) : Le nombre de canaux dans 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, optionnel, 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, optionnel, valeur par défaut 32) : Nombre de groupes pour la normalisation par groupe au sein des blocs Transformer.
cross_attention_dim (int, optionnel) : La dimensionnalité des couches d'attention croisée, correspondant généralement à la dimension cachée de l'encodeur.
attention_bias (bool, optionnel, par défaut True) : Configure si l'attention des blocs Transformer doit contenir un paramètre de biais.
sample_size (int, par défaut 128) : La largeur des images latentes. Ce paramètre est fixé pendant l'entraînement.
patch_size (int, par défaut 2) : Taille des patches que le modèle traite, pertinent pour les architectures fonctionnant sur des données non séquentielles.
activation_fn (str, optionnel, 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 affectant le nombre maximal d'étapes de débruitage lors de l'inférence.
upcast_attention (bool, optionnel, valeur par défaut False) : Si true, augmente les 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, optionnel, valeur 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, valeur par défaut 1e-6) : Une petite constante ajoutée au dénominateur des couches de normalisation pour éviter la division par zéro.
interpolation_scale (int, optionnel) : Facteur d'échelle à utiliser lors de l'interpolation des embeddings de position.
use_additional_conditions (bool, optionnel) : Si nous utilisons des conditions supplémentaires en tant qu'entrées.
attention_type (str, optionnel, valeur par défaut "default") : Type de mécanisme d'attention à utiliser.
caption_channels (int, optionnel, par défaut None) : Nombre de canaux à utiliser pour projeter les embeddings de légende.
use_linear_projection (bool, optionnel, valeur par défaut : False) : Argument obsolète. Sera supprimé dans une version future.
num_vector_embeds (bool, optionnel, valeur par défaut : False) : Argument obsolète. Sera supprimé dans une version future.
Un modèle Transformer 2D tel qu’introduit dans la famille de modèles PixArt (https://huggingface.co/papers/2310.00426, https://huggingface.co/papers/2403.04692).
forward[[diffusers.PixArtTransformer2DModel.forward]]
forward(hidden_states: Tensor, encoder_hidden_states: typing.Optional[torch.Tensor] = None, timestep: typing.Optional[torch.LongTensor] = None, added_cond_kwargs: dict[str, torch.Tensor] = None, cross_attention_kwargs: dict[str, typing.Any] = None, attention_mask: typing.Optional[torch.Tensor] = None, encoder_attention_mask: typing.Optional[torch.Tensor] = None, return_dict: bool = True)
Paramètres :
hidden_states (torch.FloatTensor de forme (batch size, channel, height, width)) : hidden_states en entrée.
encoder_hidden_states (torch.FloatTensor de forme (batch size, sequence len, embed dims), facultatif) : Incrustations conditionnelles pour la couche d'attention croisée. Si non fournies, l'attention croisée se comporte par défaut comme une auto-attention.
timestep (torch.LongTensor, facultatif) : Utilisé pour indiquer l'étape de débruitage. Pas de temps facultatif à appliquer en tant qu'embedding dans AdaLayerNorm.
added_cond_kwargs : (dict[str, Any], facultatif) : Conditions supplémentaires à utiliser en tant qu'entrées.
cross_attention_kwargs ( dict[str, Any], facultatif) : Un dictionnaire de kwargs qui, s'il est spécifié, est transmis à l'AttentionProcessor tel que défini sous self.processor dans diffusers.models.attention_processor.
attention_mask ( torch.Tensor, facultatif) : Un masque d'attention de forme (batch, key_tokens) est appliqué à encoder_hidden_states. Si 1, le masque est conservé, sinon, si 0, il est supprimé. Le masque est converti en biais, qui ajoute de grandes valeurs négatives aux scores d'attention correspondant aux jetons « supprimés ».
encoder_attention_mask ( torch.Tensor, facultatif) : Masque d'attention croisée appliqué à encoder_hidden_states. Deux formats pris en charge : * Masque (batch, sequence_length) True = conserver, False = supprimer. * Biais (batch, 1, sequence_length) 0 = conserver, -10000 = supprimer. Si ndim == 2 : sera interprété comme un masque, puis converti en biais cohérent avec le format ci-dessus. Ce biais sera ajouté aux scores d'attention croisée.
return_dict (bool, facultatif, par défaut True) : Indique s'il faut retourner un UNet2DConditionOutput plutôt qu'un simple tuple.
Retourne :
Si return_dict est True, un ~models.transformer_2d.Transformer2DModelOutput est renvoyé, sinon un tuple dont le premier élément est le tenseur d'échantillon.
La méthode forward du PixArtTransformer2DModel.
fuse_qkv_projections[[diffusers.PixArtTransformer2DModel.fuse_qkv_projections]]
fuse_qkv_projections()
Active les projections QKV fusionnées. Pour les modules d'auto-attention, toutes les matrices de projection (c'est-à-dire requête, clé, valeur) sont fusionnées. Pour les modules d'attention croisée, les matrices de projection des clés et des valeurs sont fusionnées.
> Cette API est 🧪 expérimentale.
set_default_attn_processor[[diffusers.PixArtTransformer2DModel.set_default_attn_processor]]
set_default_attn_processor()
Désactive les processeurs d'attention personnalisés et définit l'implémentation d'attention par défaut.
Il est sans risque d'utiliser simplement AttnProcessor(), car PixArt ne possède aucun processeur d'attention exotique dans le modèle par défaut.
unfuse_qkv_projections[[diffusers.PixArtTransformer2DModel.unfuse_qkv_projections]]
unfuse_qkv_projections()
Désactive la projection QKV fusionnée si elle est activée.
> Cette API est 🧪 expérimentale.
Xet Storage Details
- Size:
- 9 kB
- Xet hash:
- a224f5629250fa7b5a40f56f1d83b42377ea2c6b585c50edf6b69ddef90312dd
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.