# StableAudioDiTModel

[Stable Audio Open](https://huggingface.co/papers/2407.14358)のオーディオ波形用のTransformerモデル。

## 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/v0.43.0/src/diffusers/models/transformers/stable_audio_transformer.py#L183)

**パラメータ:**

sample_size ( `int`、*optional*、デフォルトは 1024) : 入力サンプルのサイズ。

in_channels (`int`、*任意*、デフォルトは 64) : 入力におけるチャネル数。

num_layers (`int`, *任意*, デフォルトは 24) : 使用する Transformer ブロックの層数です。

attention_head_dim (`int`、*optional*、デフォルトは 64) : 各ヘッドのチャネル数。

num_attention_heads (`int`、*任意*、デフォルトは 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) : クロスアテンションの射影の入力次元

Stable Audio で紹介された Diffusion Transformer モデル。

参考: 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/v0.43.0/src/diffusers/models/transformers/stable_audio_transformer.py#L282)

**パラメータ:**

hidden_states (`torch.FloatTensor`、shape `(batch size, in_channels, sequence_len)`) : 入力 `hidden_states`。

timestep ( `torch.LongTensor`) : デノイジングステップを示すために使用されます。

encoder_hidden_states (`torch.FloatTensor`、shape `(batch size, encoder_sequence_len, cross_attention_input_dim)`) : 使用する条件埋め込み（プロンプトなどの入力条件から計算される埋め込み）。

global_hidden_states (`torch.FloatTensor`、shape `(batch size, global_sequence_len, global_states_input_dim)`) : hidden states の先頭に付加されるグローバル埋め込み。

rotary_embedding (`torch.Tensor`) : attention 計算時にクエリとキーのテンソルに適用するロータリー埋め込み。

return_dict (`bool`、*任意*、デフォルトは`True`) : プレーンなタプルではなく`~models.transformer_2d.Transformer2DModelOutput`を返すかどうか。

attention_mask (`torch.Tensor`、形状 `(batch_size, sequence_len)`、*任意*) : パディングトークンのインデックスに対するアテンションの計算を回避するためのマスクです。2つのテキストエンコーダーのアテンションマスクを連結して形成されます。マスクの値は `[0, 1]` から選択されます:  - **マスクされない**トークンは 1、- **マスクされる**トークンは 0。

encoder_attention_mask (`torch.Tensor`、shape `(batch_size, sequence_len)`、*任意*) : 2つのテキストエンコーダーのattentionマスクを連結して形成される、paddingトークンのcross-attentionインデックスに対してattentionを実行しないためのマスク。`[0, 1]`から選択されるマスク値:  - **マスクされない**トークンは1、 - **マスクされる**トークンは0。

**戻り値:**

`return_dict` が True の場合、`~models.transformer_2d.Transformer2DModelOutput` が返され、それ以外の場合は、最初の要素がサンプルテンソルである `tuple` が返されます。

[StableAudioDiTModel](/docs/diffusers/v0.43.0/ja/api/models/stable_audio_transformer#diffusers.StableAudioDiTModel)のforwardメソッドです。

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

```python
set_default_attn_processor()
```

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

カスタムアテンションプロセッサを無効にし、デフォルトのアテンション実装を設定します。

