Diffusers documentation
AceStepTransformer1DModel
AceStepTransformer1DModel
来自 ACE-Step 1.5 的一维扩散 Transformer,用于音乐生成。该模型基于 AutoencoderOobleck 生成的 25 Hz 立体声潜变量,采用流匹配(flow matching)机制,并使用源自 Qwen3 的骨干网络进行训练(包含分组查询注意力、旋转位置嵌入、RMSNorm 以及 AdaLN-Zero 时间步条件),同时通过交叉注意力机制处理由 AceStepConditionEncoder 构建的文本、歌词和音色条件。
AceStepTransformer1DModel
类 diffusers.AceStepTransformer1DModel
< source >( hidden_size: int = 2048intermediate_size: int = 6144num_hidden_layers: int = 24num_attention_heads: int = 16num_key_value_heads: int = 8head_dim: int = 128in_channels: int = 192audio_acoustic_hidden_dim: int = 64patch_size: int = 2rope_theta: float = 1000000.0attention_bias: bool = Falseattention_dropout: float = 0.0rms_norm_eps: float = 1e-06sliding_window: int = 128layer_types: typing.Optional[typing.List[str]] = Noneencoder_hidden_size: typing.Optional[int] = Noneis_turbo: bool = Falsemodel_version: typing.Optional[str] = None )
用于 ACE-Step 1.5 音乐生成的 Diffusion Transformer。
根据文本、歌词和音色生成音频潜变量。使用一维补丁嵌入(步长为 patch_size 的 Conv1d),随后是一组 AceStepTransformerBlock,其自注意力分支交替使用滑动窗口注意力和全局注意力。交叉注意力消耗由 AceStepConditionEncoder 生成的打包 encoder_hidden_states。
forward
< source >( hidden_states: Tensortimestep: Tensortimestep_r: Tensorencoder_hidden_states: Tensorcontext_latents: Tensorattention_kwargs: typing.Optional[dict] = Nonereturn_dict: bool = True ) → Transformer2DModelOutput or tuple
参数
- hidden_states(形状为
(batch_size, seq_len, channels)的torch.Tensor)— 扩散过程的含噪潜在输入。 - 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(形状为
(batch_size, seq_len, context_dim)的torch.Tensor)— 上下文潜在变量(源潜在变量与块掩码的拼接)— 与hidden_states一起输入到 patchify 卷积中。 - attention_kwargs (
dict, 可选) — 传递给AttentionProcessor的 kwargs 字典。用于通过{"scale": float}传递 LoRA 缩放值。 - return_dict (
bool,默认为True) — 是否返回Transformer2DModelOutput或普通元组。
返回值
Transformer2DModelOutput 或 tuple
预测的速度场。
AceStepTransformer1DModel 的前向方法。