# StableAudioDiTModel

Модель Transformer для аудиоволновых форм из [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)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/stable_audio_transformer.py#L183)

**Параметры:**

sample_size ( `int`, *optional*, по умолчанию 1024) : Размер входной выборки.

in_channels (`int`, *необязательный*, по умолчанию 64) : Количество каналов на входе.

num_layers (`int`, *optional*, по умолчанию 24) : Количество блоков Transformer, которые следует использовать.

attention_head_dim (`int`, *необязательный*, по умолчанию 64) : Количество каналов в каждой голове.

num_attention_heads (`int`, *optional*, по умолчанию 24) : Количество голов, используемых для состояний запроса.

num_key_value_attention_heads (`int`, *optional*, по умолчанию 12) : Количество голов, используемых для состояний ключа и значения.

out_channels (`int`, по умолчанию 64) : Количество выходных каналов.

cross_attention_dim ( `int`, *optional*, по умолчанию 768) : Размерность проекции кросс-внимания.

time_proj_dim ( `int`, *optional*, по умолчанию 256) : Размерность внутренней проекции временного шага.

global_states_input_dim ( `int`, *optional*, по умолчанию 1536) : Входное измерение проекции глобальных скрытых состояний.

cross_attention_input_dim ( `int`, *optional*, по умолчанию 768) : Входное измерение проекции кросс-внимания

Модель Diffusion Transformer, представленная в Stable Audio.

Справочник: 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)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/stable_audio_transformer.py#L282)

**Параметры:**

hidden_states (`torch.FloatTensor` формы `(batch size, in_channels, sequence_len)`) : Входные `hidden_states`.

timestep ( `torch.LongTensor`) : Используется для указания шага денойзинга.

encoder_hidden_states (`torch.FloatTensor` формы `(batch size, encoder_sequence_len, cross_attention_input_dim)`) : Условные эмбеддинги (эмбеддинги, вычисленные на основе входных условий, таких как промпты), которые следует использовать.

global_hidden_states (`torch.FloatTensor` формы `(batch size, global_sequence_len, global_states_input_dim)`) : Глобальные эмбеддинги, которые будут добавлены в начало скрытых состояний.

rotary_embedding (`torch.Tensor`) : Вращательные эмбеддинги, применяемые к тензорам запросов и ключей при вычислении внимания.

return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли `~models.transformer_2d.Transformer2DModelOutput` вместо обычного кортежа.

attention_mask (`torch.Tensor` формы `(batch_size, sequence_len)`, *необязательный*) : Маска для исключения токенов-заполнителей из внимания, образованная конкатенацией масок внимания для двух текстовых энкодеров. Значения маски выбираются из `[0, 1]`:  - 1 для токенов, которые **не замаскированы**, - 0 для токенов, которые **замаскированы**.

encoder_attention_mask (`torch.Tensor` формы `(batch_size, sequence_len)`, *необязательный*) : Маска для предотвращения выполнения внимания по индексам кросс-внимания на токенах отсечки, образованная конкатенацией масок внимания для двух текстовых энкодеров. Значения маски выбираются из `[0, 1]`:  - 1 для токенов, которые **не замаскированы**, - 0 для токенов, которые **замаскированы**.

**Возвращает:**

Если `return_dict` равно True, возвращается `~models.transformer_2d.Transformer2DModelOutput`, иначе — `tuple`, первым элементом которого является тензор выборки.

Метод forward модели [StableAudioDiTModel](/docs/diffusers/main/ru/api/models/stable_audio_transformer#diffusers.StableAudioDiTModel).

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

```python
set_default_attn_processor()
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/stable_audio_transformer.py#L276)

Отключает пользовательские обработчики внимания и устанавливает реализацию внимания по умолчанию.

