Diffusers documentation
StableAudioDiTModel
StableAudioDiTModel
来自 Stable Audio Open 的用于音频波形的 Transformer 模型。
StableAudioDiTModel
class diffusers.StableAudioDiTModel
< source >( sample_size: int = 1024in_channels: int = 64num_layers: int = 24attention_head_dim: int = 64num_attention_heads: int = 24num_key_value_attention_heads: int = 12out_channels: int = 64cross_attention_dim: int = 768time_proj_dim: int = 256global_states_input_dim: int = 1536cross_attention_input_dim: int = 768 )
参数
- sample_size(
int,可选,默认值为 1024)— 输入样本的大小。 - in_channels (
int,可选,默认为 64) — 输入中的通道数。 - num_layers (
int,可选,默认为 24) — 要使用的 Transformer 块层数。 - 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) — 交叉注意力投影的输入维度
Stable Audio 中引入的 Diffusion Transformer 模型。
参考:https://github.com/Stability-AI/stable-audio-tools
forward
< source >( hidden_states: FloatTensortimestep: LongTensor = Noneencoder_hidden_states: FloatTensor = Noneglobal_hidden_states: FloatTensor = Nonerotary_embedding: FloatTensor = Nonereturn_dict: bool = Trueattention_mask: typing.Optional[torch.LongTensor] = Noneencoder_attention_mask: typing.Optional[torch.LongTensor] = None )
参数
- hidden_states(形状为
(batch size, in_channels, sequence_len)的torch.FloatTensor)— 输入的hidden_states。 - timestep (
torch.LongTensor) — 用于指示去噪步骤。 - encoder_hidden_states (
torch.FloatTensor,形状为(batch size, encoder_sequence_len, cross_attention_input_dim)) — 要使用的条件嵌入(由输入条件(例如提示词)计算得出的嵌入)。 - global_hidden_states(形状为
(batch size, global_sequence_len, global_states_input_dim)的torch.FloatTensor)— 将前置到隐藏状态的全局嵌入。 - rotary_embedding (
torch.Tensor) — 在注意力计算过程中应用于查询和键张量的旋转嵌入。 - return_dict (
bool,可选,默认为True) — 是否返回~models.transformer_2d.Transformer2DModelOutput而不是普通的元组。 - attention_mask (
torch.Tensor形状为(batch_size, sequence_len), ,可选) — 用于避免对填充 token 索引执行注意力的掩码,由两个文本编码器的注意力掩码拼接而成。掩码值取自[0, 1]:- 1 表示未被屏蔽的 token,
- 对于被掩码的 token,值为 0。
- encoder_attention_mask (
torch.Tensor形状为(batch_size, sequence_len), 可选) — 用于避免在填充 token 的交叉注意力索引上执行注意力的掩码,由两个文本编码器的注意力掩码拼接而成。掩码值取自[0, 1]:- 1 表示未被屏蔽的 token,
- 对于被掩码的 token,值为 0。
StableAudioDiTModel 的前向方法。
禁用自定义注意力处理器并设置默认的注意力实现。