Buckets:
AutoencoderSAME
Autoencoder SAME (Semantically-Aligned Music Encoder) được Stable Audio 3 sử dụng để nén các dạng sóng âm thanh stereo thành một chuỗi latent gọn gàng và tái tạo chúng.
Bộ mã hóa xếp chồng các module SAMETransformerResamplingBlock, mỗi module nhóm một số lượng cố định các khung audio patch và tạo ra một token đầu ra có thể học được thông qua một transformer sai phân. Bộ giải mã đảo ngược quá trình này, mở rộng mỗi token ẩn trở lại thành một patch các khung audio.
Một nút thắt cổ chai soft-norm (SoftNormBottleneck) chuẩn hóa các biến ẩn trước và sau mô hình khuếch tán, cung cấp động lực huấn luyện ổn định.
AutoencoderSAME[[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)
Tham số:
audio_channels : Số kênh âm thanh (2 cho âm thanh nổi).
patch_size : Kích thước patch không chồng chéo được áp dụng trước bộ mã hóa TRB (và đảo ngược sau bộ giải mã TRB). Đóng góp patch_size × vào tỷ lệ giảm mẫu tổng. Giá trị sản xuất: 256.
encoder_channels : Số lượng kênh cơ bản cho TRB. 128 cho SAME-S, 256 cho SAME-L.
encoder_c_mults : Hệ số nhân kênh cho mỗi cấp TRB (một mục cho mỗi TRB). Cả SAME-S và SAME-L đều sử dụng (6,) — một TRB duy nhất có chiều ẩn là encoder_channels × 6.
encoder_strides : Bước (stride) hạ mẫu/tăng mẫu cho mỗi cấp TRB. Cả SAME-S và SAME-L đều sử dụng (16,) — một TRB với bước 16.
encoder_transformer_depths : Số lớp Transformer cho mỗi cấp TRB. 6 cho SAME-S, 12 cho SAME-L.
latent_dim : Kích thước của không gian ẩn. 256 cho cả hai biến thể.
use_differential_attention : Nếu True, sử dụng differential attention bên trong mỗi khối transformer TRB (mặc định bật cho SAME-S/L).
dim_heads : Kích thước đầu chú ý. 64 cho SAME-S/L trong môi trường sản xuất.
ff_mult : Hệ số mở rộng mạng truyền thẳng SwiGLU.
sliding_window : Nửa chiều rộng cửa sổ trượt (theo số latent) cho chú ý mặt nạ dải. SAME-S/L trong môi trường sản xuất sử dụng 1.
encoder_sinusoidal_blocks : Số lượng lớp transformer cuối cùng trong mỗi TRB sử dụng sin FFN gating trong encoder (SAME-L: (0,)).
decoder_sinusoidal_blocks : Số lượng lớp transformer cuối cùng trong mỗi TRB sử dụng sin FFN gating trong bộ giải mã (SAME-L: (8,)).
sampling_rate : Tần số lấy mẫu âm thanh tính bằng Hz (ví dụ: 44100).
Autoencoder Semantically-Aligned Music Encoder (SAME) từ Stable Audio 3 (arXiv 2605.17991).
Mô hình bao gồm:
- Nhúng patch — định hình lại âm thanh stereo thành các patch không chồng lấn, đánh đổi thời gian lấy kênh (
patch_size ×hạ mẫu, không có tham số học được). - Stack TRB của Encoder — các khối
SAMETransformerResamplingBlocktiếp tục giảm mẫu với hệ số∏(encoder_strides). - Soft-norm bottleneck — chuẩn hóa affine có thể học với std chạy.
- Stack TRB của bộ giải mã — phản chiếu bộ mã hóa theo chiều ngược lại.
- Unpatch — định hình lại các kênh về chiều thời gian.
Tỷ lệ giảm mẫu tổng: patch_size × ∏(encoder_strides).
Các siêu tham số mặc định khớp với checkpoint SAME-S (stabilityai/SAME-S). Để nạp SAME-L (stabilityai/SAME-L, được sử dụng bởi SA3 Medium), hãy truyền encoder_channels=256, encoder_transformer_depths=(12,).
# 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)
Tham số:
sample : tensor dạng sóng (B, audio_channels, T).
return_dict : Nếu True thì trả về một AutoencoderSAMEOutput.
Trả về:
Tensor tiềm ẩn có hình dạng (B, latent_dim, T // downsampling_ratio) (được bọc trong AutoencoderSAMEOutput khi return_dict là True).
Mã hóa âm thanh stereo thành các biến ẩn.
decode[[diffusers.AutoencoderSAME.decode]]
decode(latents: Tensor, return_dict: bool = True)
Tham số:
latents : tensor tiềm ẩn (B, latent_dim, T_latent).
return_dict : Nếu True thì trả về một AutoencoderSAMEDecoderOutput.
Trả về:
Tensor dạng sóng có hình dạng (B, audio_channels, T_latent × downsampling_ratio) (được bọc trong AutoencoderSAMEDecoderOutput khi return_dict là True).
Giải mã các biến ẩn (latents) trở lại âm thanh stereo.
forward[[diffusers.AutoencoderSAME.forward]]
forward(sample: Tensor, return_dict: bool = True)
Tham số:
sample : tensor dạng sóng (B, audio_channels, T).
return_dict : Nếu True thì trả về một AutoencoderSAMEDecoderOutput.
Trả về:
Biên độ sóng tái tạo (cùng hình dạng với sample, có thể dài hơn do đệm), được bọc trong AutoencoderSAMEDecoderOutput khi return_dict là True.
Mã hóa và giải mã ngay lập tức sample (tái tạo).
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)
Tham số:
in_channels : Số lượng kênh đầu vào.
out_channels : Số lượng kênh đầu ra.
stride : Hệ số hạ/mở rộng mẫu.
mode : "encoder" hoặc "decoder".
transformer_depth : Số lượng lớp TransformerBlock.
dim_heads : Kích thước đầu chú ý.
use_differential : Có sử dụng differential attention hay không.
ff_mult : Hệ số mở rộng mạng truyền thẳng.
sliding_window : Nửa chiều rộng cửa sổ trượt trong latents (nửa chiều rộng dải là sliding_window * (stride + 1)).
sinusoidal_blocks : Số lượng lớp transformer cuối cùng sử dụng sin FFN gating thay vì SiLU.
Khối xây dựng cốt lõi của SAME.
Chế độ Encoder (bước S): Gom S khung đầu vào liên tiếp thành một phân đoạn, thêm một embedding đầu ra có thể học được duy nhất, sau đó chạy D lớp transformer trên toàn bộ chuỗi phân đoạn đã được làm phẳng và chỉ giữ lại embedding đầu ra → giảm mẫu theo hệ số S.
Chế độ giải mã (bước S): Gom 1 khung đầu vào với S embedding đầu vào có thể học, chạy D lớp transformer trên toàn bộ chuỗi đã làm phẳng, sau đó giữ lại S embedding đầu ra → tăng mẫu theo hệ số S.
Attention sử dụng mặt nạ dải cửa sổ trượt chồng lấn trên chuỗi phân đoạn đã được làm phẳng: mỗi token chú ý đến sliding_window * (stride + 1) hàng xóm ở mỗi phía. RoPE được tính trên toàn bộ độ dài chuỗi. Điều này khớp chính xác với bản triển khai tham chiếu (một khối không chồng lấn duy nhất chỉ khớp với một phân đoạn).
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)
Đầu ra của AutoencoderSAME.encode().
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)
Đầu ra của AutoencoderSAME.decode().
Xet Storage Details
- Size:
- 10.5 kB
- Xet hash:
- 51673c9f86ee3f6995dd1d3c0e7cba571bbafd126abbe2512c82a5f2b69dcabc
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.