Buckets:
| # AutoencoderSAME | |
| El autoencoder **SAME** (Semantically-Aligned Music Encoder) se utiliza en [Stable Audio 3](https://stability.ai/news-updates/meet-stable-audio-3-the-model-family-built-for-artistic-experimentation-with-open-weight-models) para comprimir las formas de onda de audio estéreo en una secuencia latente compacta y reconstruirlas. | |
| El codificador apila módulos `SAMETransformerResamplingBlock`, cada uno de los cuales agrupa un número fijo de cuadros de parches de audio y produce un token de salida aprendible mediante un transformador diferencial. El decodificador invierte este proceso, expandiendo cada token latente de vuelta a un parche de cuadros de audio. | |
| Un cuello de botella soft-norm (`SoftNormBottleneck`) normaliza los latentes antes y después del modelo de difusión, lo que proporciona dinámicas de entrenamiento estables. | |
| ## AutoencoderSAME[[diffusers.AutoencoderSAME]] | |
| #### diffusers.AutoencoderSAME[[diffusers.AutoencoderSAME]] | |
| ```python | |
| 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) | |
| ``` | |
| [Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_same.py#L608) | |
| **Parámetros:** | |
| audio_channels : Número de canales de audio (2 para estéreo). | |
| patch_size : Tamaño de parche no superpuesto aplicado antes del codificador TRB (y revertido después del decodificador TRB). Contribuye con `patch_size ×` a la proporción total de muestreo descendente. Valor de producción: 256. | |
| encoder_channels : Número de canales base para el TRB. 128 para SAME-S, 256 para SAME-L. | |
| encoder_c_mults : Multiplicador de canales para cada nivel de TRB (una entrada por TRB). Tanto SAME-S como SAME-L usan `(6,)`: un único TRB cuya dimensión oculta es `encoder_channels × 6`. | |
| encoder_strides : Paso de submuestreo/sobremuestreo para cada nivel de TRB. Tanto SAME-S como SAME-L usan `(16,)` — un TRB con paso 16. | |
| encoder_transformer_depths : Capas de Transformer por nivel de TRB. 6 para SAME-S, 12 para SAME-L. | |
| latent_dim : Dimensionalidad del espacio latente. 256 para ambas variantes. | |
| use_differential_attention : Si `True`, usa atención diferencial dentro de cada bloque transformer TRB (activado por defecto para SAME-S/L). | |
| dim_heads : Dimensión de la cabeza de atención. 64 para SAME-S/L de producción. | |
| ff_mult : Factor de expansión del feed-forward SwiGLU. | |
| sliding_window : Semiancho de la ventana deslizante (en latentes) para la atención con máscara de banda. En producción, SAME-S/L usa 1. | |
| encoder_sinusoidal_blocks : Cantidad por TRB de capas finales de transformador que usan el control de FFN con `sin` en el codificador (SAME-L: `(0,)`). | |
| decoder_sinusoidal_blocks : Cantidad por TRB de capas finales de transformador que usan el control de FFN con `sin` en el decodificador (SAME-L: `(8,)`). | |
| sampling_rate : Tasa de muestreo de audio en Hz (p. ej., 44100). | |
| Autoencoder Semantically-Aligned Music Encoder (SAME) de *Stable Audio 3* ([arXiv 2605.17991](https://arxiv.org/abs/2605.17991)). | |
| El modelo consiste en: | |
| - **Embedding de parches** — reorganiza el audio estéreo en parches no superpuestos, intercambiando tiempo por canales (`patch_size ×` de reducción de muestreo, sin parámetros aprendidos). | |
| - **Pila de codificador TRB** — bloques `SAMETransformerResamplingBlock` que realizan una reducción adicional de muestreo por un factor de `∏(encoder_strides)`. | |
| - **Cuello de botella con normalización suave** — normalización afín aprendible con desviación estándar móvil. | |
| - **Pila TRB del decodificador** — refleja el codificador en orden inverso. | |
| - **Unpatch** — reorganiza los canales de vuelta en la dimensión temporal. | |
| Relación total de submuestreo: `patch_size × ∏(encoder_strides)`. | |
| Los hiperparámetros por defecto coinciden con el punto de control **SAME-S** (`stabilityai/SAME-S`). Para cargar **SAME-L** (`stabilityai/SAME-L`, utilizado por SA3 Medium), pase `encoder_channels=256, encoder_transformer_depths=(12,)`. | |
| ```python | |
| # 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]] | |
| ```python | |
| encode(sample: Tensor, return_dict: bool = True) | |
| ``` | |
| [Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_same.py#L733) | |
| **Parámetros:** | |
| sample : tensor de forma de onda `(B, audio_channels, T)`. | |
| return_dict : Si `True`, devuelve un `AutoencoderSAMEOutput`. | |
| **Devuelve:** | |
| Tensor latente de forma `(B, latent_dim, T // downsampling_ratio)` (envuelto en `AutoencoderSAMEOutput` cuando *return_dict* es `True`). | |
| Codifica el audio estéreo en latentes. | |
| #### decode[[diffusers.AutoencoderSAME.decode]] | |
| ```python | |
| decode(latents: Tensor, return_dict: bool = True) | |
| ``` | |
| [Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_same.py#L758) | |
| **Parámetros:** | |
| latents : tensor latente `(B, latent_dim, T_latent)`. | |
| return_dict : Si `True`, devuelve un `AutoencoderSAMEDecoderOutput`. | |
| **Devuelve:** | |
| Tensor de forma de onda de forma `(B, audio_channels, T_latent × downsampling_ratio)` (envuelto en `AutoencoderSAMEDecoderOutput` cuando *return_dict* es `True`). | |
| Decodifica los latentes de vuelta a audio estéreo. | |
| #### forward[[diffusers.AutoencoderSAME.forward]] | |
| ```python | |
| forward(sample: Tensor, return_dict: bool = True) | |
| ``` | |
| [Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_same.py#L783) | |
| **Parámetros:** | |
| sample : tensor de forma de onda `(B, audio_channels, T)`. | |
| return_dict : Si `True`, devuelve un `AutoencoderSAMEDecoderOutput`. | |
| **Devuelve:** | |
| Forma de onda reconstruida (misma forma que *sample*, posiblemente más larga debido al relleno), envuelta en `AutoencoderSAMEDecoderOutput` cuando *return_dict* es `True`. | |
| Codifica y decodifica inmediatamente *sample* (reconstrucción). | |
| ## SAMETransformerResamplingBlock[[diffusers.models.autoencoders.autoencoder_same.SAMETransformerResamplingBlock]] | |
| #### diffusers.models.autoencoders.autoencoder_same.SAMETransformerResamplingBlock[[diffusers.models.autoencoders.autoencoder_same.SAMETransformerResamplingBlock]] | |
| ```python | |
| 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) | |
| ``` | |
| [Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_same.py#L294) | |
| **Parámetros:** | |
| in_channels : Número de canales de entrada. | |
| out_channels : Número de canales de salida. | |
| stride : Factor de submuestreo/sobremuestreo. | |
| mode : `"encoder"` o `"decoder"`. | |
| transformer_depth : Número de capas de `TransformerBlock`. | |
| dim_heads : Dimensión de la cabeza de atención. | |
| use_differential : Si se debe usar atención diferencial. | |
| ff_mult : Factor de expansión de red feed-forward. | |
| sliding_window : Semiancho de la ventana deslizante en latentes (el semiancho de la banda es `sliding_window * (stride + 1)`). | |
| sinusoidal_blocks : Número de capas finales de transformer que usan el gating de FFN `sin` en lugar de SiLU. | |
| Bloque de construcción principal de SAME. | |
| **Modo codificador** (paso S): agrupa S fotogramas de entrada consecutivos en un solo segmento, añade una única incrustación de salida aprendible y luego ejecuta D capas de transformador sobre la secuencia de segmento aplanada completa, conservando solo la incrustación de salida → submuestreo por S. | |
| **Modo decodificador** (paso S): agrupa 1 cuadro de entrada con S incrustaciones de salida aprendibles, ejecuta D capas de transformador sobre la secuencia aplanada completa y luego conserva las S incrustaciones de salida → aumenta la muestra por S. | |
| Attention utiliza una máscara de banda *sliding-window* superpuesta sobre la secuencia de segmentos aplanada: cada token atiende a `sliding_window * (stride + 1)` vecinos en cada lado. RoPE se calcula sobre la longitud completa de la secuencia. Esto coincide exactamente con la implementación de referencia (un único chunk no superpuesto solo coincidiría para un segmento). | |
| ## AutoencoderSAMEOutput[[diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEOutput]] | |
| #### diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEOutput[[diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEOutput]] | |
| ```python | |
| diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEOutput(latents: Tensor) | |
| ``` | |
| [Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_same.py#L52) | |
| Salida de [AutoencoderSAME.encode()](/docs/diffusers/main/es/api/models/autoencoder_same#diffusers.AutoencoderSAME.encode). | |
| ## AutoencoderSAMEDecoderOutput[[diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEDecoderOutput]] | |
| #### diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEDecoderOutput[[diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEDecoderOutput]] | |
| ```python | |
| diffusers.models.autoencoders.autoencoder_same.AutoencoderSAMEDecoderOutput(sample: Tensor) | |
| ``` | |
| [Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_same.py#L59) | |
| Salida de [AutoencoderSAME.decode()](/docs/diffusers/main/es/api/models/autoencoder_same#diffusers.AutoencoderSAME.decode). | |
Xet Storage Details
- Size:
- 10.1 kB
- Xet hash:
- 3ba47a97b78592f03f321aa52e073b729e5395a356068c55d160ab16211ee54e
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.