Diffusers documentation

AutoencoderAYNI

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

AutoencoderAYNI

SAME (Semantically-Aligned Music Encoder) otoenkoderi, Stable Audio 3 tarafından stereo ses dalga formlarını kompakt bir latent dizisine sıkıştırmak ve yeniden oluşturmak için kullanılır.

Encoder, SAMETransformerResamplingBlock modüllerini yığar; bu modüllerin her biri sabit sayıda ses yama çerçevesini gruplar ve diferansiyel bir dönüştürücü aracılığıyla tek bir öğrenilebilir çıktı jetonu üretir. Decoder bu süreci tersine çevirir ve her gizli jetonu yeniden ses çerçevelerinden oluşan bir yamaya genişletir.

Yumuşak norm darboğazı (SoftNormBottleneck), difüzyon modelinden önce ve sonra latentleri normalize ederek kararlı eğitim dinamikleri sağlar.

AutoencoderAYNI

sınıf diffusers.AutoencoderSAME

< >

( audio_channels: int = 2patch_size: int = 256encoder_channels: int = 128encoder_c_mults: typing.List[int] = (6,)encoder_strides: typing.List[int] = (16,)encoder_transformer_depths: typing.List[int] = (6,)latent_dim: int = 256use_differential_attention: bool = Truedim_heads: int = 64ff_mult: int = 3sliding_window: int = 1encoder_sinusoidal_blocks: typing.List[int] = (0,)decoder_sinusoidal_blocks: typing.List[int] = (0,)sampling_rate: int = 44100 )

Parametreler

  • audio_channels — Ses kanal sayısı (stereo için 2).
  • patch_size — TRB kodlayıcıdan önce uygulanan (ve TRB çözücüden sonra tersine çevrilen) örtüşmeyen yama boyutu. Toplam indirgeme oranına patch_size × katkıda bulunur. Üretim değeri: 256.
  • encoder_channels — TRB için temel kanal sayısı. SAME-S için 128, SAME-L için 256.
  • encoder_c_mults — Her TRB seviyesi için kanal çarpanı (her TRB için bir giriş). Hem SAME-S hem de SAME-L (6,) kullanır — gizli boyutu encoder_channels × 6 olan tek bir TRB.
  • encoder_strides — Her TRB seviyesi için aşağı/aşağı-örnekleme adımı. Hem SAME-S hem de SAME-L (16,) kullanır — adım 16 olan tek bir TRB.
  • encoder_transformer_depths — TRB seviyesi başına Transformer katmanları. SAME-S için 6, SAME-L için 12.
  • latent_dim — Gizli uzayın boyutu. Her iki varyant için de 256.
  • use_differential_attention — True ise, her TRB transformer bloğu içinde differential attention kullanılır (SAME-S/L için varsayılan olarak açıktır).
  • dim_heads — Dikkat başlığı boyutu. Üretim SAME-S/L için 64.
  • ff_mult — SwiGLU ileri besleme genişleme çarpanı.
  • sliding_window — Bant maskesi dikkati için kayan pencere yarı genişliği (latent cinsinden). Üretim SAME-S/L kullanımı 1'dir.
  • encoder_sinusoidal_blocks — Kodlayıcıda sin FFN kapılaması kullanan son transformer katmanlarının TRB başına sayısı (SAME-L: (0,)).
  • decoder_sinusoidal_blocks — Kodlayıcıda sin FFN kapılaması kullanan son transformer katmanlarının TRB başına sayısı (SAME-L: (8,)).
  • sampling_rate — Hz cinsinden ses örneklem hızı (ör. 44100).

Stable Audio 3'ten Semantik Uyumlu Müzik Kodlayıcı (SAME) oto-kodlayıcısı (arXiv 2605.17991).

Model şunlardan oluşur:

  • Patch gömme — stereo sesleri örtüşmeyen yamaca dönüştürür, zamanı kanallara takas eder (patch_size × örnekleme azaltma, öğrenilen parametre yok).
  • Encoder TRB yığını — SAMETransformerResamplingBlock blokları, ∏(encoder_strides) çarpanıyla daha fazla indirgeme yapar.
  • Soft-norm bottleneck — çalışır standart sapma ile öğrenilebilir afin normalizasyon.
  • Çözücü TRB yığını — kodlayıcıyı tersine yansıtır.
  • Unpatch — kanalları zaman boyutuna geri şekillendirir.

Toplam indirgeme oranı: patch_size × ∏(encoder_strides).

Varsayılan hiperparametreler SAME-S kontrol noktasıyla (stabilityai/SAME-S) eşleşir. SAME-L'yi (stabilityai/SAME-L, SA3 Medium tarafından kullanılır) yüklemek için encoder_channels=256, encoder_transformer_depths=(12,) parametrelerini iletin.

# SAME-S (108 M params, used by SA3 small models) model = AutoencoderSAME() # default values

# SAME-L (852 M params, used by SA3 Medium) model = AutoencoderSAME(encoder_channels=256,
encoder_transformer_depths=(12,))

encode

< >

( sample: Tensorreturn_dict: bool = True )

Parametreler

  • sample — (B, audio_channels, T) dalga formu tensörü.
  • return_dict — True ise bir AutoencoderSAMEOutput döndürür.

Stereo sesleri latentlere kodlayın.

decode

< >

( latents: Tensorreturn_dict: bool = True )

Parametreler

  • latents — (B, latent_dim, T_latent) latent tensörü.
  • return_dict — True ise bir AutoencoderSAMEDecoderOutput döndürür.

Latentleri stereo ses olarak geri çözümlen.

forward

< >

( sample: Tensorreturn_dict: bool = True )

Parametreler

  • sample — (B, audio_channels, T) dalga formu tensörü.
  • return_dict — True ise bir AutoencoderSAMEDecoderOutput döndürür.

sample'ı kodlayın ve hemen çözümlü (yeniden yapılandırma).

SAMETransformerResamplingBlock

sınıf diffusers.models.autoencoders.autoencoder_same.SAMETransformerResamplingBlock

< >

( in_channels: intout_channels: intstride: intmode: str = 'encoder'transformer_depth: int = 3dim_heads: int = 128use_differential: bool = Trueff_mult: int = 3sliding_window: int = 1sinusoidal_blocks: int = 0 )

Parametreler

  • in_channels — Girdi kanal sayısı.
  • out_channels — Çıkış kanal sayısı.
  • stride — Aşağı/yukarı örnekleme çarpanı.
  • mode — "encoder" veya "decoder".
  • transformer_depth — TransformerBlock katmanlarının sayısı.
  • dim_heads — Dikkat başlığı boyutu.
  • use_differential — Diferansiyel dikkat kullanılacak mı?
  • ff_mult — İleri besleme genişleme çarpanı.
  • sliding_window — Latentlerdeki kayan pencere yarı genişliği (bant yarı genişliği sliding_window * (stride + 1)'dir).
  • sinusoidal_blocks — sin FFN kapısını kullanan, SiLU yerine sonundaki dönüştürücü katmanlarının sayısı.

SAME'in temel yapı taşı.

Kodlayıcı modu (adım S): S ardışık giriş çerçevesini tek bir segmente gruplar, tek bir öğrenilebilir çıktı gömme ekler, ardından D transformer katmanını tam olarak düzleştirilmiş segment dizisi üzerinde çalıştırır ve yalnızca çıktı gömme korunur → S katında indirgeme.

Çözücü modu (adım S): 1 giriş çerçevesini S öğrenilebilir çıktı gömme vektörüyle gruplar, D dönüştürücü katmanını tam düzleştirilmiş dizinin üzerinde çalıştırır, ardından S çıktı gömme vektörünü korur → S katı büyütme.

Attention, düzleştirilmiş segment dizisi üzerinde örtüşen bir kayan pencere bandı maskesi kullanır: her token, her iki tarafta sliding_window * (stride + 1) komşuya dikkat eder. RoPE, tam dizi uzunluğu üzerinden hesaplanır. Bu, referans uygulamasıyla tam olarak eşleşir (tek bir örtüşmeyen parça yalnızca bir segment için eşleşirdi).

AutoencoderSAMEOutput

sınıf diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEOutput

< >

( latents: Tensor )

AutoencoderSAME.encode() çıktısı.

AutoencoderSAMEDecoderOutput

sınıf diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEDecoderOutput

< >

( sample: Tensor )

AutoencoderSAME.decode() çıktısı.

Update on GitHub