Diffusers documentation
StableAudioDiTModel
StableAudioDiTModel
Un modèle Transformer pour les formes d'onde audio issu de Stable Audio Open.
StableAudioDiTModel
classe diffusers.StableAudioDiTModel
< source >( sample_size: int = 1024in_channels: int = 64num_layers: int = 24attention_head_dim: int = 64num_attention_heads: int = 24num_key_value_attention_heads: int = 12out_channels: int = 64cross_attention_dim: int = 768time_proj_dim: int = 256global_states_input_dim: int = 1536cross_attention_input_dim: int = 768 )
Paramètres
- sample_size (
int, facultatif, par défaut 1024) — La taille de l'échantillon d'entrée. - in_channels (
int, facultatif, par défaut 64) — Le nombre de canaux de l'entrée. - num_layers (
int, facultatif, valeur par défaut 24) — Le nombre de blocs Transformer à 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 24) — Le nombre de têtes à utiliser pour les états de requête. - num_key_value_attention_heads (
int, facultatif, valeur par défaut 12) — Le nombre de têtes à utiliser pour les états clé et valeur. - out_channels (
int, par défaut 64) — Nombre de canaux de sortie. - cross_attention_dim (
int, facultatif, valeur par défaut 768) — Dimension de la projection d'attention croisée. - time_proj_dim (
int, facultatif, par défaut 256) — Dimension de la projection interne du pas de temps. - global_states_input_dim (
int, facultatif, valeur par défaut 1536) — Dimension d'entrée de la projection des états cachés globaux. - cross_attention_input_dim (
int, facultatif, par défaut 768) — Dimension d'entrée de la projection d'attention croisée
Le modèle Diffusion Transformer introduit dans Stable Audio.
Référence : https://github.com/Stability-AI/stable-audio-tools
forward
< source >( hidden_states: FloatTensortimestep: LongTensor = Noneencoder_hidden_states: FloatTensor = Noneglobal_hidden_states: FloatTensor = Nonerotary_embedding: FloatTensor = Nonereturn_dict: bool = Trueattention_mask: typing.Optional[torch.LongTensor] = Noneencoder_attention_mask: typing.Optional[torch.LongTensor] = None )
Paramètres
- hidden_states (
torch.FloatTensorde forme(batch size, in_channels, sequence_len)) —hidden_statesd'entrée. - timestep (
torch.LongTensor) — Utilisé pour indiquer l'étape de débruitage. - encoder_hidden_states (
torch.FloatTensorde forme(batch size, encoder_sequence_len, cross_attention_input_dim)) — Embeddings conditionnels (embeddings calculés à partir des conditions d’entrée telles que les prompts) à utiliser. - global_hidden_states (
torch.FloatTensorde forme(batch size, global_sequence_len, global_states_input_dim)) — Embeddings globaux qui seront préfixés aux états cachés. - rotary_embedding (
torch.Tensor) — Les embeddings rotatifs à appliquer aux tenseurs de requête et de clé lors du calcul de l’attention. - return_dict (
bool, facultatif, par défautTrue) — Indique s'il faut retourner un~models.transformer_2d.Transformer2DModelOutputplutôt qu'un simple tuple. - attention_mask (
torch.Tensorde forme(batch_size, sequence_len), facultatif) — Masque pour éviter d'appliquer l'attention aux indices des jetons de bourrage, formé en concaténant les masques d'attention des deux encodeurs de texte. Les valeurs du masque sont sélectionnées dans[0, 1]:- 1 pour les jetons qui ne sont pas masqués,
- 0 pour les jetons masqués.
- encoder_attention_mask (
torch.Tensorde forme(batch_size, sequence_len), facultatif) — Masque pour éviter d'effectuer l'attention sur les indices d'attention croisée des jetons de bourrage, formé en concaténant les masques d'attention des deux encodeurs de texte. Les valeurs du masque sont sélectionnées dans[0, 1]:- 1 pour les jetons qui ne sont pas masqués,
- 0 pour les jetons masqués.
La méthode forward du StableAudioDiTModel.
Désactive les processeurs d'attention personnalisés et définit l'implémentation d'attention par défaut.