# AceStepTransformer1DModel

来自 [ACE-Step 1.5](https://github.com/ace-step/ACE-Step-1.5) 的一维扩散 Transformer，用于音乐生成。该模型基于 [AutoencoderOobleck](/docs/diffusers/v0.43.0/zh/api/models/autoencoder_oobleck#diffusers.AutoencoderOobleck) 生成的 25 Hz 立体声潜变量，采用流匹配（flow matching）机制，并使用源自 Qwen3 的骨干网络进行训练（包含分组查询注意力、旋转位置嵌入、RMSNorm 以及 AdaLN-Zero 时间步条件），同时通过交叉注意力机制处理由 `AceStepConditionEncoder` 构建的文本、歌词和音色条件。

## AceStepTransformer1DModel[[diffusers.AceStepTransformer1DModel]]

#### diffusers.AceStepTransformer1DModel[[diffusers.AceStepTransformer1DModel]]

```python
diffusers.AceStepTransformer1DModel(hidden_size: int = 2048, intermediate_size: int = 6144, num_hidden_layers: int = 24, num_attention_heads: int = 16, num_key_value_heads: int = 8, head_dim: int = 128, in_channels: int = 192, audio_acoustic_hidden_dim: int = 64, patch_size: int = 2, rope_theta: float = 1000000.0, attention_bias: bool = False, attention_dropout: float = 0.0, rms_norm_eps: float = 1e-06, sliding_window: int = 128, layer_types: typing.Optional[typing.List[str]] = None, encoder_hidden_size: typing.Optional[int] = None, is_turbo: bool = False, model_version: typing.Optional[str] = None)
```

[源代码](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/ace_step_transformer.py#L432)

用于 ACE-Step 1.5 音乐生成的 Diffusion Transformer。

根据文本、歌词和音色生成音频潜变量。使用一维补丁嵌入（步长为 `patch_size` 的 `Conv1d`），随后是一组 `AceStepTransformerBlock`，其自注意力分支交替使用滑动窗口注意力和全局注意力。交叉注意力使用由 `AceStepConditionEncoder` 生成的打包后的 `encoder_hidden_states`。

#### forward[[diffusers.AceStepTransformer1DModel.forward]]

```python
forward(hidden_states: Tensor, timestep: Tensor, timestep_r: Tensor, encoder_hidden_states: Tensor, context_latents: Tensor, attention_kwargs: typing.Optional[dict] = None, return_dict: bool = True)
```

[源代码](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/ace_step_transformer.py#L532)

**参数：**

hidden_states (`torch.Tensor`，形状为 `(batch_size, seq_len, channels)`)：扩散过程中的含噪潜在输入。

timestep (`torch.Tensor`，形状为 `(batch_size,)`)：当前扩散时间步 `t`。

timestep_r (`torch.Tensor`，形状为 `(batch_size,)`)：参考时间步 `r`（在标准推理中设置为与 `t` 相等）。

encoder_hidden_states (`torch.Tensor`，形状为 `(batch_size, encoder_seq_len, hidden_size)`)：来自条件编码器（文本 + 歌词 + 音色）的条件嵌入。

context_latents (`torch.Tensor`，形状为 `(batch_size, seq_len, context_dim)`)：上下文潜在变量（源潜在变量与块掩码拼接而成）——与 `hidden_states` 一起输入到 patchify 卷积中。

attention_kwargs (`dict`, *可选*) : 传递给 `AttentionProcessor` 的 kwargs 字典。用于通过 `{"scale": float}` 传递 LoRA 缩放值。

return_dict (`bool`，默认为 `True`)：是否返回 `Transformer2DModelOutput` 或普通元组。

**返回：** `Transformer2DModelOutput` 或 `tuple`

预测的速度场。

[AceStepTransformer1DModel](/docs/diffusers/v0.43.0/zh/api/models/ace_step_transformer#diffusers.AceStepTransformer1DModel) 的前向方法。

