Diffusers documentation

StableAudio3DiTModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

StableAudio3DiTModel

Ses üretimi için kullanılan, düzeltilmiş akış hız tahmini tabanlı bir Difüzyon Transformer'ı (DiT), Stable Audio 3'te kullanılır.

Her StableAudio3DiTBlock şu işlemleri gerçekleştirir:

  1. Kendine dikkat — döner konum gömme (RoPE) ile diferansiyel çok başlı dikkat.
  2. Cross-attention — T5Gemma metin kodlayıcısından gelen token dizisine dikkat eder.
  3. İleri beslemeli — SwiGLU projeksiyonu.

Model, timestep (üstel Fourier özellikleri → doğrusal projeksiyon) ve global koşullandırma vektörü (StableAudio3DurationEmbedder'den süre gömme) ile koşullandırılır.

StableAudio3DiTModel

sınıf diffusers.StableAudio3DiTModel

< >

( io_channels: int = 256patch_size: int = 1embed_dim: int = 1536depth: int = 24num_heads: int = 24cond_token_dim: int = 768global_cond_dim: int = 768local_add_cond_dim: int = 257timestep_features_dim: int = 256ff_mult: float = 4.0num_memory_tokens: int = 64use_differential_attention: bool = True )

Parametreler

  • io_channels (int, varsayılan 256) — Gizli kanal sayısı.
  • patch_size (int, varsayılan 1) — Transformer'dan önce uygulanan zamansal yama boyutu.
  • embed_dim (int, varsayılan 1536) — Transformer gizli boyutu.
  • depth (int, varsayılan 24) — StableAudio3DiTBlock katmanlarının sayısı.
  • num_heads (int, varsayılan 24) — Dikkat başlarının sayısı.
  • cond_token_dim (int, varsayılan 768) — Çapraz dikkat bağlam tokenlarının boyutu.
  • global_cond_dim (int, varsayılan 768) — Küresel süre gömme boyutu.
  • local_add_cond_dim (int, varsayılan 257) — Yerel eklemeli (inpaint) tensörünün kanalları.
  • timestep_features_dim (int, varsayılan 256) — Fourier zaman adımı özelliklerinin çıktı boyutu.
  • ff_mult (float, varsayılan 4.0) — SwiGLU ileri besleme genişleme çarpanı.
  • num_memory_tokens (int, varsayılan 64) — Öğrenilebilir bellek jetonlarının sayısı.
  • use_differential_attention (bool, varsayılan True) — Diferansiyel öz/karşı dikkati etkinleştirir.

Stable Audio 3'ün Diffusion Transformer (DiT) omurgası.

Model, gürültülü ses latentleri bir partisini, skaler bir zaman adımını, çapraz dikkat bağlamını (projeksiyonlanmış metin ve süre token'ları) ve küresel bir süre gömme değerini alır ve hız alanını (rectified-flow hedefi) tahmin eder.

Koşullandırma:

  • Çapraz dikkat bağlamı (encoder_hidden_states), to_cond_embed tarafından projekte edilir.
  • Küresel süre gömme (global_hidden_states), to_global_embed tarafından yansıtılır, zaman adımı gömme ile toplanır ve ardından global_cond_embedder tarafından blok başına AdaLN modülasyonuna genişletilir.
  • local_add_cond (inpainting), to_local_embed tarafından blok bazında projekte edilir.

num_memory_tokens öğrenilebilir token, transformer içinde ses dizisinin başına eklenir ve çıktı projeksiyonundan önce kaldırılır.

forward

< >

( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorglobal_hidden_states: Tensorencoder_attention_mask: typing.Optional[torch.Tensor] = Nonelocal_add_cond: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = True ) → StableAudio3DiTModelOutput or tuple

Parametreler

  • hidden_states (torch.Tensor) — Gürültülü latent ses (batch, io_channels, T).
  • timestep (torch.Tensor) — [0, 1] aralığında (batch,) boyutlu difüzyon zaman adımı.
  • encoder_hidden_states (torch.Tensor) — Çapraz dikkat bağlamı (batch, T_ctx, cond_token_dim).
  • global_hidden_states (torch.Tensor) — Global süre gömme (batch, global_cond_dim).
  • encoder_attention_mask (torch.Tensor, isteğe bağlı) — Bool maskesi (batch, T_ctx), True = geçerli.
  • local_add_cond (torch.Tensor, isteğe bağlı) — Yerel-eklemeli (inpaint) koşullandırma (batch, local_add_cond_dim, T).
  • return_dict (bool, varsayılan True) — StableAudio3DiTModelOutput döndürülüp döndürülmemesi.

Dönüş değeri

StableAudio3DiTModelOutput veya tuple

tahmin edilen hız alanı, hidden_states ile aynı şekle sahip.

StableAudio3DiTBlock

sınıf diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTBlock

< >

( dim: intcontext_dim: intdim_heads: int = 64use_differential: bool = Trueff_mult: float = 4.0local_add_cond_dim: int = 257 )

Tek SA3 DiT dönüştürücü bloğu.

İşlem sırası:

  1. AdaLN-modüleli öz-dikkat (kısmi RoPE, RMS QK-norm)
  2. Metin/süre bağlamına çapraz dikkat (sade RMS ön-norm)
  3. AdaLN-modüleli SwiGLU ileri beslemeli

AdaLN modülasyonu to_scale_shift_gate + global_modulation şeklindedir ve altı parçaya (scale_attn, shift_attn, gate_attn, scale_ff, shift_ff, gate_ff) ayrılır. Her kapılı dal sigmoid(1 - gate) ile ölçeklenir. Çapraz dikkat (cross-attention) AdaLN ile modüle edilmez; bu durum referansla uyumludur (cross_attend_norm düz bir RMS normdur).

local_seq sağlandığında (inpainting), to_local_embed tarafından blok bazında projekte edilir ve çapraz dikkat sonrası (ve ileri besleme öncesi) artımsal akıştaki ses konumlarına eklenir; bu, referansla uyumludur.

StableAudio3DiTModelOutput

sınıf diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTModelOutput

< >

( sample: Tensor )

Parametreler

  • sample (torch.Tensor) — Giriş hidden_states ile aynı şekle sahip tahmini hız alanı.

StableAudio3DiTModel'ün çıktısı.

Update on GitHub