# StableAudioDiTModel

Un modelo Transformer para formas de onda de audio de [Stable Audio Open](https://huggingface.co/papers/2407.14358).

## StableAudioDiTModel[[diffusers.StableAudioDiTModel]]

#### diffusers.StableAudioDiTModel[[diffusers.StableAudioDiTModel]]

```python
diffusers.StableAudioDiTModel(sample_size: int = 1024, in_channels: int = 64, num_layers: int = 24, attention_head_dim: int = 64, num_attention_heads: int = 24, num_key_value_attention_heads: int = 12, out_channels: int = 64, cross_attention_dim: int = 768, time_proj_dim: int = 256, global_states_input_dim: int = 1536, cross_attention_input_dim: int = 768)
```

[Fuente](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/stable_audio_transformer.py#L183)

**Parámetros:**

sample_size ( `int`, *opcional*, valor predeterminado 1024) : El tamaño de la muestra de entrada.

in_channels (`int`, *opcional*, valor predeterminado 64) : El número de canales en la entrada.

num_layers (`int`, *opcional*, valor predeterminado 24) : El número de capas de bloques Transformer a utilizar.

attention_head_dim (`int`, *opcional*, valor predeterminado 64) : El número de canales en cada cabeza.

num_attention_heads (`int`, *opcional*, valor predeterminado 24) : El número de cabezas a utilizar para los estados de consulta.

num_key_value_attention_heads (`int`, *opcional*, valor predeterminado 12) : El número de cabezas a utilizar para los estados de clave y valor.

out_channels (`int`, por defecto 64) : Número de canales de salida.

cross_attention_dim ( `int`, *opcional*, valor predeterminado 768) : Dimensión de la proyección de atención cruzada.

time_proj_dim ( `int`, *opcional*, valor predeterminado 256) : Dimensión de la proyección interna del paso de tiempo.

global_states_input_dim ( `int`, *opcional*, valor predeterminado 1536) : Dimensión de entrada de la proyección de los estados ocultos globales.

cross_attention_input_dim ( `int`, *opcional*, valor predeterminado 768) : Dimensión de entrada de la proyección de atención cruzada

El modelo Diffusion Transformer introducido en Stable Audio.

Referencia: https://github.com/Stability-AI/stable-audio-tools

#### forward[[diffusers.StableAudioDiTModel.forward]]

```python
forward(hidden_states: FloatTensor, timestep: LongTensor = None, encoder_hidden_states: FloatTensor = None, global_hidden_states: FloatTensor = None, rotary_embedding: FloatTensor = None, return_dict: bool = True, attention_mask: typing.Optional[torch.LongTensor] = None, encoder_attention_mask: typing.Optional[torch.LongTensor] = None)
```

[Fuente](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/stable_audio_transformer.py#L282)

**Parámetros:**

hidden_states (`torch.FloatTensor` de forma `(batch size, in_channels, sequence_len)`) : `hidden_states` de entrada.

timestep ( `torch.LongTensor`) : Se utiliza para indicar el paso de desruido.

encoder_hidden_states (`torch.FloatTensor` de forma `(batch size, encoder_sequence_len, cross_attention_input_dim)`) : Embeddings condicionales (embeddings calculados a partir de las condiciones de entrada, como los prompts) a utilizar.

global_hidden_states (`torch.FloatTensor` de forma `(batch size, global_sequence_len, global_states_input_dim)`) : Incrustaciones globales que se añadirán al inicio de los estados ocultos.

rotary_embedding (`torch.Tensor`) : Las incrustaciones rotacionales que se aplican a los tensores de consulta y clave durante el cálculo de la atención.

return_dict (`bool`, *opcional*, valor predeterminado `True`) : Indica si se debe devolver un `~models.transformer_2d.Transformer2DModelOutput` en lugar de una tupla simple.

attention_mask (`torch.Tensor` de forma `(batch_size, sequence_len)`, *opcional*) : Máscara para evitar realizar atención en los índices de tokens de relleno, formada por la concatenación de las máscaras de atención de los dos codificadores de texto. Valores de la máscara seleccionados en `[0, 1]`: - 1 para tokens que **no están enmascarados**, - 0 para tokens que **están enmascarados**.

encoder_attention_mask (`torch.Tensor` de forma `(batch_size, sequence_len)`, *opcional*) : Máscara para evitar realizar atención en los índices de atención cruzada de los tokens de relleno, formada por la concatenación de las máscaras de atención de los dos codificadores de texto. Valores de la máscara seleccionados en `[0, 1]`: - 1 para tokens que **no están enmascarados**, - 0 para tokens que **están enmascarados**.

**Devuelve:**

Si `return_dict` es True, se devuelve un `~models.transformer_2d.Transformer2DModelOutput`; en caso contrario, se devuelve una `tuple` cuyo primer elemento es el tensor de la muestra.

El método forward de [StableAudioDiTModel](/docs/diffusers/v0.43.0/es/api/models/stable_audio_transformer#diffusers.StableAudioDiTModel).

#### set_default_attn_processor[[diffusers.StableAudioDiTModel.set_default_attn_processor]]

```python
set_default_attn_processor()
```

[Fuente](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/stable_audio_transformer.py#L276)

Desactiva los procesadores de atención personalizados y establece la implementación de atención predeterminada.

