Buckets:
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 bir diferansiyel 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[[diffusers.AutoencoderSAME]]
diffusers.AutoencoderSAME[[diffusers.AutoencoderSAME]]
diffusers.AutoencoderSAME(audio_channels: int = 2, patch_size: int = 256, encoder_channels: int = 128, encoder_c_mults: typing.List[int] = (6,), encoder_strides: typing.List[int] = (16,), encoder_transformer_depths: typing.List[int] = (6,), latent_dim: int = 256, use_differential_attention: bool = True, dim_heads: int = 64, ff_mult: int = 3, sliding_window: int = 1, encoder_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 katmanı sayısı. SAME-S için 6, SAME-L için 12.
latent_dim : Gizli uzayın boyutluluğu. Her iki varyant için de 256.
use_differential_attention : True ise, her TRB dönüştürücü bloğunun içinde diferansiyel dikkat kullanılır (SAME-S/L için varsayılan olarak açıktır).
dim_heads : Dikkat başı 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ısını kullanan ardışık dönüştürücü katmanlarının TRB başına sayısı (SAME-L: (0,)).
decoder_sinusoidal_blocks : Çözümleyicide sin FFN kapılaması kullanan ardışık dönüştürücü 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ı —
SAMETransformerResamplingBlockblokları,∏(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[[diffusers.AutoencoderSAME.encode]]
encode(sample: Tensor, return_dict: bool = True)
Parametreler:
sample : (B, audio_channels, T) dalga formu tensörü.
return_dict : True ise bir AutoencoderSAMEOutput döndürülür.
Dönüş:
(B, latent_dim, T // downsampling_ratio) biçiminde gizli tensör (return_dict True olduğunda AutoencoderSAMEOutput içinde sarılı).
Stereo sesleri latentlere kodlayın.
decode[[diffusers.AutoencoderSAME.decode]]
decode(latents: Tensor, return_dict: bool = True)
Parametreler:
latents : (B, latent_dim, T_latent) latent tensörü.
return_dict : True ise bir AutoencoderSAMEDecoderOutput döndürür.
Dönüş:
(B, audio_channels, T_latent × downsampling_ratio) biçiminde dalga formu tensörü (return_dict True olduğunda AutoencoderSAMEDecoderOutput içinde sarılı).
Latentleri stereo ses olarak geri çözümlen.
forward[[diffusers.AutoencoderSAME.forward]]
forward(sample: Tensor, return_dict: bool = True)
Parametreler:
sample : (B, audio_channels, T) dalga formu tensörü.
return_dict : True ise bir AutoencoderSAMEDecoderOutput döndürür.
Dönüş:
Yeniden oluşturulmuş dalga formu (sample ile aynı şekle sahip, dolgu nedeniyle daha uzun olabilir), return_dict True olduğunda AutoencoderSAMEDecoderOutput içinde sarılır.
sample'ı kodlayın ve hemen çözümlü (yeniden yapılandırma).
SAMETransformerResamplingBlock[[diffusers.models.autoencoders.autoencoder_same.SAMETransformerResamplingBlock]]
diffusers.models.autoencoders.autoencoder_same.SAMETransformerResamplingBlock[[diffusers.models.autoencoders.autoencoder_same.SAMETransformerResamplingBlock]]
diffusers.models.autoencoders.autoencoder_same.SAMETransformerResamplingBlock(in_channels: int, out_channels: int, stride: int, mode: str = 'encoder', transformer_depth: int = 3, dim_heads: int = 128, use_differential: bool = True, ff_mult: int = 3, sliding_window: int = 1, sinusoidal_blocks: int = 0)
Parametreler:
in_channels : Girdi kanal sayısı.
out_channels : Çıkış kanalı sayısı.
stride : Aşağı/yukarı örnekleme faktörü.
mode : "encoder" veya "decoder".
transformer_depth : TransformerBlock katmanlarının sayısı.
dim_heads : Dikkat başı boyutu.
use_differential : Diferansiyel dikkat kullanılıp kullanılmayacağı.
ff_mult : İleri besleme genişleme çarpanı.
sliding_window : Latentlerde kayan pencere yarı genişliği (bant yarı genişliği sliding_window * (stride + 1)'dir).
sinusoidal_blocks : SiLU yerine sin FFN kapısını kullanan son transformer 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 tüm düzleştirilmiş segment dizisi üzerinde D dönüştürücü katmanı çalıştırır ve yalnızca çıktı gömme korunur → S katı 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[[diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEOutput]]
diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEOutput[[diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEOutput]]
diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEOutput(latents: Tensor)
AutoencoderSAME.encode() çıktısı.
AutoencoderSAMEDecoderOutput[[diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEDecoderOutput]]
diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEDecoderOutput[[diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEDecoderOutput]]
diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEDecoderOutput(sample: Tensor)
AutoencoderSAME.decode() çıktısı.
Xet Storage Details
- Size:
- 9.99 kB
- Xet hash:
- 5693c7d90808332bae4be1f5d58f6b7e2d6c32ec111e4d2b52ec33dcccea8e4b
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.