# Guías

Los guías son componentes de Modular Diffusers que controlan cómo se guía el proceso de difusión durante la generación. Implementan diversas técnicas de guía para mejorar la calidad y el control de la generación.

## BaseGuidance[[diffusers.BaseGuidance]]

#### diffusers.BaseGuidance[[diffusers.BaseGuidance]]

```python
diffusers.BaseGuidance(start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L38)

Clase base que proporciona el esqueleto para implementar técnicas de guía.

#### cleanup_models[[diffusers.BaseGuidance.cleanup_models]]

```python
cleanup_models(denoiser: torch.nn.Module)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L160)

Limpia los modelos para la técnica de guía después de un lote de datos dado. Este método debe sobrescribirse en las subclases para implementar la lógica específica de limpieza de modelos. Es útil para eliminar cualquier gancho u otra modificación con estado realizada durante `prepare_models`.

#### from_pretrained[[diffusers.BaseGuidance.from_pretrained]]

```python
from_pretrained(pretrained_model_name_or_path: str | os.PathLike | None = None, subfolder: str | None = None, return_unused_kwargs = False, **kwargs)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L289)

**Parámetros:**

pretrained_model_name_or_path (`str` o `os.PathLike`, *opcional*) : Puede ser:  - Una cadena, el *model id* (por ejemplo `google/ddpm-celebahq-256`) de un modelo preentrenado alojado en el Hub. - Una ruta a un *directorio* (por ejemplo `./my_model_directory`) que contiene la configuración del guider guardada con [save_pretrained()](/docs/diffusers/main/es/api/modular_diffusers/guiders#diffusers.BaseGuidance.save_pretrained).

subfolder (`str`, *opcional*) : La ubicación de la subcarpeta de un archivo de modelo dentro de un repositorio de modelos más grande en el Hub o localmente.

return_unused_kwargs (`bool`, *opcional*, por defecto `False`) : Si los kwargs que no son consumidos por la clase de Python deben devolverse o no.

cache_dir (`str | os.PathLike`, *opcional*) : Ruta a un directorio donde se almacena en caché la configuración de un modelo preentrenado descargado si no se utiliza la caché estándar.

force_download (`bool`, *opcional*, valor predeterminado `False`) : Indica si se debe forzar la (re)descarga de los pesos del modelo y los archivos de configuración, reemplazando las versiones en caché si existen.

proxies (`dict[str, str]`, *opcional*) : Un diccionario de servidores proxy a utilizar por protocolo o punto de acceso, por ejemplo, `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. Los proxies se utilizan en cada solicitud.

output_loading_info(`bool`, *opcional*, valor predeterminado `False`) : Indica si se debe devolver también un diccionario que contenga las claves faltantes, las claves inesperadas y los mensajes de error.

local_files_only(`bool`, *opcional*, valor predeterminado `False`) : Indica si se deben cargar únicamente los pesos y archivos de configuración del modelo locales. Si se establece en `True`, el modelo no se descargará desde el Hub.

token (`str` o *bool*, *opcional*) : El token que se usará como autorización HTTP bearer para archivos remotos. Si es `True`, se utiliza el token generado por `diffusers-cli login` (almacenado en `~/.huggingface`).

revision (`str`, *opcional*, valor predeterminado `"main"`) : La versión específica del modelo que se va a utilizar. Puede ser el nombre de una rama, el nombre de una etiqueta, un id de commit o cualquier identificador permitido por Git.

Instancia un guider desde un archivo de configuración JSON predefinido en un directorio local o en un repositorio de Hub.

> [!TIP] > Para usar modelos privados o [con acceso restringido](https://huggingface.co/docs/hub/models-gated#gated-models), inicia sesión
con `hf > auth login`. También puedes activar el modo especial > ["offline-mode"](https://huggingface.co/diffusers/installation.html#offline-mode) para usar este método en un > entorno con cortafuegos.

#### get_state[[diffusers.BaseGuidance.get_state]]

```python
get_state()
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L106)

Devuelve el estado actual de la técnica de guía como un diccionario. Las variables de estado se incluirán en el método __repr__. Devuelve: `dict[str, Any]`: Un diccionario que contiene las variables de estado actuales, incluidas:
- step: Paso de inferencia actual
- num_inference_steps: Número total de pasos de inferencia
- timestep: tensor del paso de tiempo actual
- count_prepared: Número de veces que se ha llamado a prepare_models
- enabled: Si la guía está habilitada
- num_conditions: Número de condiciones

#### nuevo[[diffusers.BaseGuidance.new]]

```python
new(**kwargs)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L69)

**Parámetros:**

- ****kwargs** : Parámetros de configuración para sobrescribir en la nueva instancia. Si no se proporcionan kwargs, devuelve una copia exacta con la misma configuración.

**Devuelve:**

Una nueva instancia de guider con la misma (o actualizada) configuración.

Crea una copia de esta instancia de guider, opcionalmente con parámetros de configuración modificados.

Ejemplo:
```python
# Create a CFG guider
guider = ClassifierFreeGuidance(guidance_scale=3.5)

# Create an exact copy
same_guider = guider.new()

# Create a copy with different start step, keeping other config the same
new_guider = guider.new(guidance_scale=5)
```

#### prepare_models[[diffusers.BaseGuidance.prepare_models]]

```python
prepare_models(denoiser: torch.nn.Module)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L153)

Prepara los modelos para la técnica de guía en un lote de datos dado. Este método debe sobrescribirse en las subclases para implementar la lógica específica de preparación del modelo.

#### save_pretrained[[diffusers.BaseGuidance.save_pretrained]]

```python
save_pretrained(save_directory: str | os.PathLike, push_to_hub: bool = False, **kwargs)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/guider_utils.py#L350)

**Parámetros:**

save_directory (`str` o `os.PathLike`) : Directorio donde se guardará el archivo JSON de configuración (se creará si no existe).

push_to_hub (`bool`, *opcional*, por defecto `False`) : Si se sube o no el modelo al Hugging Face Hub después de guardarlo. Puede especificar el repositorio al que desea subirlo con `repo_id` (por defecto, usará el nombre de `save_directory` en su espacio de nombres).

kwargs (`dict[str, Any]`, *opcional*) : Argumentos de palabra clave adicionales que se pasan al método [push_to_hub()](/docs/diffusers/main/es/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub).

Guarde un objeto de configuración de guider en un directorio para que pueda recargarse mediante el método de clase [from_pretrained()](/docs/diffusers/main/es/api/modular_diffusers/guiders#diffusers.BaseGuidance.from_pretrained).

## ClassifierFreeGuidance[[diffusers.ClassifierFreeGuidance]]

#### diffusers.ClassifierFreeGuidance[[diffusers.ClassifierFreeGuidance]]

```python
diffusers.ClassifierFreeGuidance(guidance_scale: float = 7.5, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/classifier_free_guidance.py#L30)

**Parámetros:**

guidance_scale (`float`, por defecto `7.5`) : escala CFG aplicada por este guider durante el postprocesamiento. Valores más altos = condicionamiento de prompt más fuerte, pero pueden reducir la calidad. Rango típico: 1.0-20.0.

guidance_rescale (`float`, por defecto `0.0`) : Factor de reescalado para evitar la sobreexposición derivada de escalas de guía altas. Basado en [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891). Rango: 0.0 (sin reescalado) a 1.0 (reescalado completo).

use_original_formulation (`bool`, por defecto `False`) : Si es `True`, utiliza la formulación original de CFG del artículo. Si es `False` (por defecto), utiliza la formulación nativa de diffusers del artículo de Imagen.

start (`float`, por defecto `0.0`) : Fracción de pasos de desruido (0.0-1.0) después de los cuales comienza el CFG. Use > 0.0 para deshabilitar el CFG en los primeros pasos de desruido.

stop (`float`, por defecto `1.0`) : Fracción de pasos de desruido (0.0-1.0) después de los cuales se detiene el CFG. Use < 1.0 para deshabilitar el CFG en los pasos finales de desruido.

enabled (`bool`, por defecto `True`) : Si CFG está habilitado. Establecerlo en `False` deshabilita CFG por completo (usa solo predicciones condicionales).

Implementa Classifier-Free Guidance (CFG) para modelos de difusión.

Referencia: https://huggingface.co/papers/2207.12598

CFG mejora la calidad de la generación y la adherencia al prompt entrenando conjuntamente los modelos con datos condicionales y no condicionales, y luego combinando las predicciones durante la inferencia. Esto permite equilibrar la calidad (alta guía) y la diversidad (baja guía).

**Dos formulaciones de CFG:**

1. **Formulación original** (del artículo):
```
x_pred = x_cond + guidance_scale * (x_cond - x_uncond)
```

   Aleja las predicciones condicionales de las incondicionales.

2. **Formulación nativa de Diffusers** (predeterminada, del artículo de Imagen):
```
x_pred = x_uncond + guidance_scale * (x_cond - x_uncond)
```

   Mueve las predicciones incondicionales hacia las condicionales, suprimiendo de forma efectiva las características negativas (p. ej., "mala calidad", "marcas de agua"). Es equivalente en teoría, pero más intuitivo.

Use `use_original_formulation=True` para cambiar a la formulación original.

## ClassifierFreeZeroStarGuidance[[diffusers.ClassifierFreeZeroStarGuidance]]

#### diffusers.ClassifierFreeZeroStarGuidance[[diffusers.ClassifierFreeZeroStarGuidance]]

```python
diffusers.ClassifierFreeZeroStarGuidance(guidance_scale: float = 7.5, zero_init_steps: int = 1, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/classifier_free_zero_star_guidance.py#L30)

**Parámetros:**

guidance_scale (`float`, por defecto `7.5`) : El parámetro de escala para la guía libre de clasificador. Valores más altos resultan en una condicional más fuerte sobre el prompt de texto, mientras que valores más bajos permiten mayor libertad en la generación. Valores más altos pueden llevar a saturación y deterioro de la calidad de la imagen.

zero_init_steps (`int`, por defecto `1`) : El número de pasos de inferencia para los cuales las predicciones de ruido se ponen a cero (ver la sección 4.2).

guidance_rescale (`float`, por defecto `0.0`) : El factor de reescalado aplicado a las predicciones de ruido. Se utiliza para mejorar la calidad de la imagen y corregir la sobreexposición. Basado en la sección 3.4 de [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891).

use_original_formulation (`bool`, por defecto `False`) : Si se debe utilizar la formulación original de classifier-free guidance propuesta en el artículo. Por defecto, utilizamos la implementación nativa de diffusers que lleva mucho tiempo en la base de código. Consulte [~guiders.classifier_free_guidance.ClassifierFreeGuidance] para más detalles.

start (`float`, por defecto `0.01`) : La fracción del número total de pasos de desruido después de la cual comienza la guía.

stop (`float`, por defecto `0.2`) : La fracción del número total de pasos de desruido después de la cual se detiene la guía.

Classifier-free Zero* (CFG-Zero*): https://huggingface.co/papers/2503.18886

Esta es una implementación de la técnica de guía Classifier-Free Zero*, que es una variante de la guía sin clasificador. Propone la inicialización en cero de las predicciones de ruido para los primeros pasos del proceso de difusión, e introduce también un factor de reescalado óptimo para las predicciones de ruido, lo que puede ayudar a mejorar la calidad de las imágenes generadas.

Los autores del artículo sugieren establecer la inicialización en cero durante el 4% inicial de los pasos de inferencia.

## SkipLayerGuidance[[diffusers.SkipLayerGuidance]]

#### diffusers.SkipLayerGuidance[[diffusers.SkipLayerGuidance]]

```python
diffusers.SkipLayerGuidance(guidance_scale: float = 7.5, skip_layer_guidance_scale: float = 2.8, skip_layer_guidance_start: float = 0.01, skip_layer_guidance_stop: float = 0.2, skip_layer_guidance_layers: int | list[int] | None = None, skip_layer_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = None, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/skip_layer_guidance.py#L32)

**Parámetros:**

guidance_scale (`float`, por defecto `7.5`) : El parámetro de escala para la guía libre de clasificador. Valores más altos resultan en una condicional más fuerte sobre el prompt de texto, mientras que valores más bajos permiten mayor libertad en la generación. Valores más altos pueden llevar a saturación y deterioro de la calidad de la imagen.

skip_layer_guidance_scale (`float`, por defecto `2.8`) : El parámetro de escala para la guía de capas omitidas. La coherencia de la anatomía y la estructura puede mejorar con valores más altos, pero también puede provocar sobreexposición y saturación.

skip_layer_guidance_start (`float`, por defecto `0.01`) : La fracción del número total de pasos de desruido después de la cual comienza la guía de capas omitidas.

skip_layer_guidance_stop (`float`, por defecto `0.2`) : La fracción del número total de pasos de desruido después de la cual se detiene la guía de capas omitidas.

skip_layer_guidance_layers (`int` o `list[int]`, *opcional*) : Los índices de capas a los que se aplicará la guía de salto de capa. Puede ser un solo entero o una lista de enteros. Si no se proporciona, `skip_layer_config` debe proporcionarse. Los valores recomendados son `[7, 8, 9]` para Stable Diffusion 3.5 Medium.

skip_layer_config (`LayerSkipConfig` o `list[LayerSkipConfig]`, *opcional*) : La configuración para la guía de capas omitidas. Puede ser un único `LayerSkipConfig` o una lista de `LayerSkipConfig`. Si no se proporciona, `skip_layer_guidance_layers` debe proporcionarse.

guidance_rescale (`float`, por defecto `0.0`) : El factor de reescalado aplicado a las predicciones de ruido. Se utiliza para mejorar la calidad de la imagen y corregir la sobreexposición. Basado en la sección 3.4 de [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891).

use_original_formulation (`bool`, por defecto `False`) : Si se debe utilizar la formulación original de classifier-free guidance propuesta en el artículo. Por defecto, utilizamos la implementación nativa de diffusers que lleva mucho tiempo en la base de código. Consulte [~guiders.classifier_free_guidance.ClassifierFreeGuidance] para más detalles.

start (`float`, por defecto `0.01`) : La fracción del número total de pasos de desruido después de la cual comienza la guía.

stop (`float`, por defecto `0.2`) : La fracción del número total de pasos de desruido después de la cual se detiene la guía.

Skip Layer Guidance (SLG): https://github.com/Stability-AI/sd3.5

Guía espaciotemporal (STG): https://huggingface.co/papers/2411.18664

SLG fue introducido por StabilityAI para mejorar la coherencia de la estructura y la anatomía en las imágenes generadas. Funciona omitiendo el paso de propagación hacia adelante de los bloques de transformador especificados durante el proceso de desruido en un lote de datos condicional adicional, aparte de los lotes condicional y incondicional ya utilizados en CFG ([~guiders.classifier_free_guidance.ClassifierFreeGuidance]), y luego escalando y desplazando las predicciones de CFG en función de la diferencia entre las predicciones condicionales sin omisión y las predicciones condicionales con omisión.

La intuición detrás de SLG puede entenderse como mover las estimaciones de la distribución predicha por CFG más lejos de las versiones peores de las estimaciones de la distribución condicional (ya que omitir capas es equivalente a usar una versión peor del modelo para la predicción condicional).

STG es una mejora y un trabajo de seguimiento que combina ideas de SLG, PAG y técnicas similares para mejorar la calidad de la generación en modelos de difusión de video.

Lecturas adicionales:
- [Guiar un modelo de difusión con una mala versión de sí mismo](https://huggingface.co/papers/2406.02507)

Los valores de `skip_layer_guidance_scale`, `skip_layer_guidance_start` y `skip_layer_guidance_stop` se establecen por defecto según las recomendaciones de StabilityAI para Stable Diffusion 3.5 Medium.

## SmoothedEnergyGuidance[[diffusers.SmoothedEnergyGuidance]]

#### diffusers.SmoothedEnergyGuidance[[diffusers.SmoothedEnergyGuidance]]

```python
diffusers.SmoothedEnergyGuidance(guidance_scale: float = 7.5, seg_guidance_scale: float = 2.8, seg_blur_sigma: float = 9999999.0, seg_blur_threshold_inf: float = 9999.0, seg_guidance_start: float = 0.0, seg_guidance_stop: float = 1.0, seg_guidance_layers: int | list[int] | None = None, seg_guidance_config: SmoothedEnergyGuidanceConfig | list[SmoothedEnergyGuidanceConfig] = None, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/smoothed_energy_guidance.py#L32)

**Parámetros:**

guidance_scale (`float`, por defecto `7.5`) : El parámetro de escala para la guía libre de clasificador. Valores más altos resultan en una condicional más fuerte sobre el prompt de texto, mientras que valores más bajos permiten mayor libertad en la generación. Valores más altos pueden llevar a saturación y deterioro de la calidad de la imagen.

seg_guidance_scale (`float`, por defecto `3.0`) : El parámetro de escala para la guía de energía suavizada. La coherencia de la anatomía y la estructura puede mejorar con valores más altos, pero también puede provocar sobreexposición y saturación.

seg_blur_sigma (`float`, por defecto `9999999.0`) : La cantidad con la que difuminamos los pesos de atención. Establecer este valor por encima de 9999.0 resulta en un difuminado infinito, lo que significa consultas uniformes. Controlarlo exponencialmente es empíricamente efectivo.

seg_blur_threshold_inf (`float`, por defecto `9999.0`) : El umbral por encima del cual el desenfoque se considera infinito.

seg_guidance_start (`float`, por defecto `0.0`) : La fracción del número total de pasos de desruido después de la cual comienza la guía de energía suavizada.

seg_guidance_stop (`float`, por defecto `1.0`) : La fracción del número total de pasos de desruido después de la cual se detiene la guía de energía suavizada.

seg_guidance_layers (`int` o `list[int]`, *opcional*) : Los índices de capas a los que se aplicará la guía de energía suavizada. Puede ser un solo entero o una lista de enteros. Si no se proporciona, `seg_guidance_config` debe proporcionarse. Los valores recomendados son `[7, 8, 9]` para Stable Diffusion 3.5 Medium.

seg_guidance_config (`SmoothedEnergyGuidanceConfig` o `list[SmoothedEnergyGuidanceConfig]`, *opcional*) : La configuración para la guía de la capa de energía suavizada. Puede ser un único `SmoothedEnergyGuidanceConfig` o una lista de `SmoothedEnergyGuidanceConfig`. Si no se proporciona, `seg_guidance_layers` debe proporcionarse.

guidance_rescale (`float`, por defecto `0.0`) : El factor de reescalado aplicado a las predicciones de ruido. Se utiliza para mejorar la calidad de la imagen y corregir la sobreexposición. Basado en la sección 3.4 de [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891).

use_original_formulation (`bool`, por defecto `False`) : Si se debe utilizar la formulación original de classifier-free guidance propuesta en el artículo. Por defecto, utilizamos la implementación nativa de diffusers que lleva mucho tiempo en la base de código. Consulte [~guiders.classifier_free_guidance.ClassifierFreeGuidance] para más detalles.

start (`float`, por defecto `0.01`) : La fracción del número total de pasos de desruido después de la cual comienza la guía.

stop (`float`, por defecto `0.2`) : La fracción del número total de pasos de desruido después de la cual se detiene la guía.

Guía de energía suavizada (SEG): https://huggingface.co/papers/2408.00760

Por ahora, SEG solo se admite como una característica experimental de prototipo, por lo que la implementación podría modificarse en el futuro sin previo aviso ni garantía de reproducibilidad. Esta implementación asume:
- Las imágenes generadas son cuadradas (altura == ancho)
- El modelo no combina diferentes modalidades (p. ej., los flujos latentes de texto e imagen no se combinan, como en Flux)

## PerturbedAttentionGuidance[[diffusers.PerturbedAttentionGuidance]]

#### diffusers.PerturbedAttentionGuidance[[diffusers.PerturbedAttentionGuidance]]

```python
diffusers.PerturbedAttentionGuidance(guidance_scale: float = 7.5, perturbed_guidance_scale: float = 2.8, perturbed_guidance_start: float = 0.01, perturbed_guidance_stop: float = 0.2, perturbed_guidance_layers: int | list[int] | None = None, perturbed_guidance_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = None, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/perturbed_attention_guidance.py#L36)

**Parámetros:**

guidance_scale (`float`, por defecto `7.5`) : El parámetro de escala para la guía libre de clasificador. Valores más altos resultan en una condicional más fuerte sobre el prompt de texto, mientras que valores más bajos permiten mayor libertad en la generación. Valores más altos pueden llevar a saturación y deterioro de la calidad de la imagen.

perturbed_guidance_scale (`float`, por defecto `2.8`) : El parámetro de escala para la guía de atención perturbada.

perturbed_guidance_start (`float`, por defecto `0.01`) : La fracción del número total de pasos de desruido después de la cual comienza la guía de atención perturbada.

perturbed_guidance_stop (`float`, por defecto `0.2`) : La fracción del número total de pasos de desruido después de la cual se detiene la guía de atención perturbada.

perturbed_guidance_layers (`int` o `list[int]`, *opcional*) : Los índices de capas a los que se aplicará la guía de atención perturbada. Puede ser un solo entero o una lista de enteros. Si no se proporciona, `perturbed_guidance_config` debe estar proporcionado.

perturbed_guidance_config (`LayerSkipConfig` o `list[LayerSkipConfig]`, *opcional*) : La configuración para la guía de atención perturbada. Puede ser un único `LayerSkipConfig` o una lista de `LayerSkipConfig`. Si no se proporciona, `perturbed_guidance_layers` debe proporcionarse.

guidance_rescale (`float`, por defecto `0.0`) : El factor de reescalado aplicado a las predicciones de ruido. Se utiliza para mejorar la calidad de la imagen y corregir la sobreexposición. Basado en la sección 3.4 de [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891).

use_original_formulation (`bool`, por defecto `False`) : Si se debe utilizar la formulación original de classifier-free guidance propuesta en el artículo. Por defecto, utilizamos la implementación nativa de diffusers que lleva mucho tiempo en la base de código. Consulte [~guiders.classifier_free_guidance.ClassifierFreeGuidance] para más detalles.

start (`float`, por defecto `0.01`) : La fracción del número total de pasos de desruido después de la cual comienza la guía.

stop (`float`, por defecto `0.2`) : La fracción del número total de pasos de desruido después de la cual se detiene la guía.

Perturbed Attention Guidance (PAG): https://huggingface.co/papers/2403.17377

La intuición detrás de PAG puede entenderse como mover las estimaciones de la distribución predicha por CFG aún más lejos de las versiones peores de las estimaciones de la distribución condicional. PAG fue una de las primeras técnicas en introducir la idea de usar una versión peor del modelo entrenado para guiar mejor su propio proceso de desruido. Perturba las puntuaciones de atención del flujo latente reemplazando la matriz de puntuaciones con una matriz identidad para capas seleccionadas de forma selectiva.

Lecturas adicionales:
- [Guiar un modelo de difusión con una mala versión de sí mismo](https://huggingface.co/papers/2406.02507)

PAG se implementa de manera similar a SkipLayerGuidance debido a la superposición en los parámetros de configuración y los detalles de implementación.

## AdaptiveProjectedGuidance[[diffusers.AdaptiveProjectedGuidance]]

#### diffusers.AdaptiveProjectedGuidance[[diffusers.AdaptiveProjectedGuidance]]

```python
diffusers.AdaptiveProjectedGuidance(guidance_scale: float = 7.5, adaptive_projected_guidance_momentum: float | None = None, adaptive_projected_guidance_rescale: float = 15.0, adaptive_projected_guidance_norm_dim: int | tuple[int, ...] | None = None, eta: float = 1.0, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/adaptive_projected_guidance.py#L30)

**Parámetros:**

guidance_scale (`float`, por defecto `7.5`) : El parámetro de escala para la guía libre de clasificador. Valores más altos resultan en una condicional más fuerte sobre el prompt de texto, mientras que valores más bajos permiten mayor libertad en la generación. Valores más altos pueden llevar a saturación y deterioro de la calidad de la imagen.

adaptive_projected_guidance_momentum (`float`, por defecto `None`) : El parámetro de momento para la guía proyectada adaptativa. Se desactiva si se establece en `None`.

adaptive_projected_guidance_rescale (`float`, por defecto `15.0`) : El factor de reescalado aplicado a las predicciones de ruido. Se utiliza para mejorar la calidad de la imagen y corregir

adaptive_projected_guidance_norm_dim (`int` o `tuple[int]`, *opcional*) : Dimensión(es) sobre las que calcular la norma y la proyección APG. Si se omite, se utilizan todas las dimensiones no de lote, preservando el comportamiento original.

guidance_rescale (`float`, por defecto `0.0`) : El factor de reescalado aplicado a las predicciones de ruido. Se utiliza para mejorar la calidad de la imagen y corregir la sobreexposición. Basado en la sección 3.4 de [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891).

use_original_formulation (`bool`, por defecto `False`) : Si se debe utilizar la formulación original de classifier-free guidance propuesta en el artículo. Por defecto, utilizamos la implementación nativa de diffusers que lleva mucho tiempo en la base de código. Consulte [~guiders.classifier_free_guidance.ClassifierFreeGuidance] para más detalles.

start (`float`, por defecto `0.0`) : La fracción del número total de pasos de desruido después de la cual comienza la guía.

stop (`float`, por defecto `1.0`) : La fracción del número total de pasos de desruido después de la cual se detiene la guía.

Guía proyectada adaptativa (APG): https://huggingface.co/papers/2410.02416

## AutoGuidance[[diffusers.AutoGuidance]]

#### diffusers.AutoGuidance[[diffusers.AutoGuidance]]

```python
diffusers.AutoGuidance(guidance_scale: float = 7.5, auto_guidance_layers: int | list[int] | None = None, auto_guidance_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = None, dropout: float | None = None, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/auto_guidance.py#L32)

**Parámetros:**

guidance_scale (`float`, por defecto `7.5`) : El parámetro de escala para la guía libre de clasificador. Valores más altos resultan en una condicional más fuerte sobre el prompt de texto, mientras que valores más bajos permiten mayor libertad en la generación. Valores más altos pueden llevar a saturación y deterioro de la calidad de la imagen.

auto_guidance_layers (`int` o `list[int]`, *opcional*) : Los índices de capas a los que se aplicará la guía de capas omitidas. Puede ser un solo entero o una lista de enteros. Si no se proporciona, `skip_layer_config` debe estar proporcionado.

auto_guidance_config (`LayerSkipConfig` o `list[LayerSkipConfig]`, *opcional*) : La configuración para la guía de capas omitidas. Puede ser un único `LayerSkipConfig` o una lista de `LayerSkipConfig`. Si no se proporciona, `skip_layer_guidance_layers` debe proporcionarse.

dropout (`float`, *opcional*) : La probabilidad de dropout para la autoguía en las capas de salto habilitadas (ya sea con `auto_guidance_layers` o `auto_guidance_config`). Si no se proporciona, la probabilidad de dropout se establecerá en 1.0.

guidance_rescale (`float`, por defecto `0.0`) : El factor de reescalado aplicado a las predicciones de ruido. Se utiliza para mejorar la calidad de la imagen y corregir la sobreexposición. Basado en la sección 3.4 de [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891).

use_original_formulation (`bool`, por defecto `False`) : Si se debe utilizar la formulación original de classifier-free guidance propuesta en el artículo. Por defecto, utilizamos la implementación nativa de diffusers que lleva mucho tiempo en la base de código. Consulte [~guiders.classifier_free_guidance.ClassifierFreeGuidance] para más detalles.

start (`float`, por defecto `0.0`) : La fracción del número total de pasos de desruido después de la cual comienza la guía.

stop (`float`, por defecto `1.0`) : La fracción del número total de pasos de desruido después de la cual se detiene la guía.

AutoGuidance: https://huggingface.co/papers/2406.02507

## TangentialClassifierFreeGuidance[[diffusers.TangentialClassifierFreeGuidance]]

#### diffusers.TangentialClassifierFreeGuidance[[diffusers.TangentialClassifierFreeGuidance]]

```python
diffusers.TangentialClassifierFreeGuidance(guidance_scale: float = 7.5, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/tangential_classifier_free_guidance.py#L30)

**Parámetros:**

guidance_scale (`float`, por defecto `7.5`) : El parámetro de escala para la guía libre de clasificador. Valores más altos resultan en una condicional más fuerte sobre el prompt de texto, mientras que valores más bajos permiten mayor libertad en la generación. Valores más altos pueden llevar a saturación y deterioro de la calidad de la imagen.

guidance_rescale (`float`, por defecto `0.0`) : El factor de reescalado aplicado a las predicciones de ruido. Se utiliza para mejorar la calidad de la imagen y corregir la sobreexposición. Basado en la sección 3.4 de [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891).

use_original_formulation (`bool`, por defecto `False`) : Si se debe utilizar la formulación original de classifier-free guidance propuesta en el artículo. Por defecto, utilizamos la implementación nativa de diffusers que lleva mucho tiempo en la base de código. Consulte [~guiders.classifier_free_guidance.ClassifierFreeGuidance] para más detalles.

start (`float`, por defecto `0.0`) : La fracción del número total de pasos de desruido después de la cual comienza la guía.

stop (`float`, por defecto `1.0`) : La fracción del número total de pasos de desruido después de la cual se detiene la guía.

Tangential Classifier Free Guidance (TCFG): https://huggingface.co/papers/2503.18137

## LTX2Guidance[[diffusers.LTX2Guidance]]

#### diffusers.LTX2Guidance[[diffusers.LTX2Guidance]]

```python
diffusers.LTX2Guidance(guidance_scale: float = 1.0, stg_scale: float = 0.0, modality_scale: float = 1.0, guidance_rescale: float = 0.0, spatio_temporal_guidance_blocks: list[int] | None = None, start: float = 0.0, stop: float = 1.0, enabled: bool = True)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/guiders/ltx2_guidance.py#L28)

**Parámetros:**

guidance_scale (`float`, por defecto `1.0`) : escala CFG para esta modalidad. El paso de CFG se omite por completo en `1.0`.

stg_scale (`float`, por defecto `0.0`) : Escala de orientación espaciotemporal para esta modalidad. El paso de STG se omite por completo en `0.0`.

modality_scale (`float`, por defecto `1.0`) : Escala de guía de aislamiento de modalidad para esta modalidad. Esa pasada se omite por completo en `1.0`.

guidance_rescale (`float`, por defecto `0.0`) : Factor de reescalado para evitar la sobreexposición derivada de escalas de guía altas. Basado en [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891). Rango: 0.0 (sin reescalado) a 1.0 (reescalado completo).

spatio_temporal_guidance_blocks (`list[int]`, *opcional*) : Bloques del Transformer que se perturbarán en la pasada STG. Cómo se consume el valor depende del bloque denoiser: LTX-2 perturba bloques completos en una única pasada de adelante que alimenta a todas las modalidades, por lo que lee esto solo del guider de video; establecerlo en el guider de audio no tiene efecto, y ese guider se une a la misma pasada STG a través de su propio `stg_scale`.

start (`float`, por defecto `0.0`) : Fracción de pasos de desruido (0.0-1.0) después de los cuales comienza la guía.

stop (`float`, por defecto `1.0`) : Fracción de pasos de desruido (0.0-1.0) después de los cuales se detiene la guía.

enabled (`bool`, por defecto `True`) : Si este guider aplica orientación. Cuando es `False`, solo se ejecuta el paso condicional.

Guía de una sola modalidad para LTX-2.X. Combina hasta tres términos mediante la formulación delta:
- guía sin clasificador (CFG),
- guía espaciotemporal (STG), un pase adicional con un conjunto de bloques de transformador perturbados,
- guía de aislamiento de modalidad, un pase adicional con la atención cruzada A2V/V2A deshabilitada.

Una instancia controla una modalidad, por lo que un checkpoint multimodal incluye varias: LTX-2.X combina un `guider` de video con un `audio_guider`, cada uno con sus propias escalas. La estimación final de guidance se calcula en el espacio que el llamador le proporcione: el denoiser de LTX-2 convierte de velocity->x0 antes de llamar a esto y vuelve a convertir después, por lo que `forward` opera sobre predicciones de x0.

A diferencia de `SkipLayerGuidance`, que aplica sus perturbaciones mediante hooks, `LTX2Guidance` espera que sus perturbaciones no-CFG sean configurables a través de los argumentos de forward del modelo (`spatio_temporal_guidance_blocks` y `isolate_modalities` en `LTX2VideoTransformer3DModel`). El bloque denoiser que realiza la llamada es responsable de establecer esos identificadores por pasada; consulte `LTX2LoopDenoiser` para un ejemplo de uso.

