# StableAudioDiTModel

Mô hình Transformer cho dạng sóng âm thanh từ [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)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/stable_audio_transformer.py#L183)

**Tham số:**

sample_size ( `int`, *tuỳ chọn*, mặc định là 1024) : Kích thước của mẫu đầu vào.

in_channels (`int`, *tuỳ chọn*, mặc định là 64) : Số lượng kênh trong đầu vào.

num_layers (`int`, *tuỳ chọn*, mặc định là 24) : Số lượng lớp khối Transformer cần sử dụng.

attention_head_dim (`int`, *tuỳ chọn*, mặc định là 64) : Số lượng kênh trong mỗi đầu.

num_attention_heads (`int`, *tuỳ chọn*, mặc định là 24) : Số lượng đầu (heads) được sử dụng cho các trạng thái truy vấn (query states).

num_key_value_attention_heads (`int`, *tuỳ chọn*, mặc định là 12) : Số lượng đầu (heads) được sử dụng cho các trạng thái key và value.

out_channels (`int`, mặc định là 64) : Số lượng kênh đầu ra.

cross_attention_dim ( `int`, *tuỳ chọn*, mặc định là 768) : Kích thước của phép chiếu cross-attention.

time_proj_dim ( `int`, *optional*, mặc định là 256) : Kích thước của phép chiếu nội bộ của timestep.

global_states_input_dim ( `int`, *optional*, mặc định là 1536) : Kích thước đầu vào của phép chiếu trạng thái ẩn toàn cục.

cross_attention_input_dim ( `int`, *tuỳ chọn*, mặc định là 768) : Kích thước đầu vào của phép chiếu cross-attention

Mô hình Diffusion Transformer được giới thiệu trong Stable Audio.

Tham khảo: 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)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/stable_audio_transformer.py#L282)

**Tham số:**

hidden_states (`torch.FloatTensor` có hình dạng `(batch size, in_channels, sequence_len)`) : Đầu vào `hidden_states`.

timestep ( `torch.LongTensor`) : Dùng để chỉ bước khử nhiễu.

encoder_hidden_states (`torch.FloatTensor` có shape `(batch size, encoder_sequence_len, cross_attention_input_dim)`) : Các embeddings điều kiện (các embeddings được tính toán từ các điều kiện đầu vào như prompts) cần sử dụng.

global_hidden_states (`torch.FloatTensor` có shape `(batch size, global_sequence_len, global_states_input_dim)`) : Các embedding toàn cục sẽ được nối vào trước các hidden states.

rotary_embedding (`torch.Tensor`) : Các embedding xoay cần áp dụng lên các tensor query và key trong quá trình tính toán attention.

return_dict (`bool`, *tùy chọn*, mặc định là `True`) : Có nên trả về một `~models.transformer_2d.Transformer2DModelOutput` thay vì một tuple thông thường hay không.

attention_mask (`torch.Tensor` có shape `(batch_size, sequence_len)`, *tùy chọn*) : Mặt nạ để tránh thực hiện chú ý trên các chỉ số token đệm, được tạo bằng cách nối các mặt nạ chú ý của hai bộ mã hóa văn bản lại với nhau. Các giá trị mặt nạ được chọn trong `[0, 1]`:  - 1 cho các token **không bị che**, - 0 cho các token **bị che**.

encoder_attention_mask (`torch.Tensor` có shape `(batch_size, sequence_len)`, *tùy chọn*) : Mặt nạ để tránh thực hiện chú ý trên các chỉ số chú ý chéo của token đệm, được tạo ra bằng cách nối các mặt nạ chú ý của hai bộ mã hóa văn bản lại với nhau. Các giá trị mặt nạ được chọn trong `[0, 1]`:  - 1 cho các token **không bị che**, - 0 cho các token **bị che**.

**Trả về:**

Nếu `return_dict` là True, một `~models.transformer_2d.Transformer2DModelOutput` sẽ được trả về, ngược lại một `tuple` trong đó phần tử đầu tiên là tensor mẫu.

Phương thức forward của [StableAudioDiTModel](/docs/diffusers/main/vi/api/models/stable_audio_transformer#diffusers.StableAudioDiTModel).

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

```python
set_default_attn_processor()
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/stable_audio_transformer.py#L276)

Tắt các bộ xử lý chú ý tùy chỉnh và đặt cài đặt chú ý mặc định.

