Diffusers documentation
Guías
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
Clase base que proporciona el esqueleto para implementar técnicas de guía.
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
< source >( pretrained_model_name_or_path: str | os.PathLike | None = Nonesubfolder: str | None = Nonereturn_unused_kwargs = False**kwargs )
Parámetros
- pretrained_model_name_or_path (
stroos.PathLike, opcional) — Puede ser:- Una cadena de texto, 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().
- Una cadena de texto, el model id (por ejemplo,
- 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, valor predeterminadoFalse) — Si se deben devolver o no los kwargs que no son consumidos por la clase de Python. - 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 predeterminadoFalse) — Indica si se debe forzar la (re)descarga de los pesos del modelo y los archivos de configuración, ignorando 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, por defectoFalse) — 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 predeterminadoFalse) — Indica si se deben cargar únicamente los pesos y archivos de configuración del modelo locales. Si se establece enTrue, el modelo no se descargará desde el Hub. - token (
stro bool, opcional) — El token que se usará como autorización HTTP bearer para los archivos remotos. SiTrue, se utiliza el token generado desdediffusers-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.
> Para usar modelos privados o con acceso restringido, inicie sesión con
hf > auth login. También puede activar el modo especial > “offline-mode” para usar este método en un > entorno con cortafuegos.
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
< source >( **kwargs )
Crea una copia de esta instancia de guider, opcionalmente con parámetros de configuración modificados.
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
< source >( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )
Parámetros
- save_directory (
stroos.PathLike) — Directorio donde se guardará el archivo JSON de configuración (se creará si no existe). - push_to_hub (
bool, opcional, valor predeterminadoFalse) — Indica si se debe subir el modelo al Hugging Face Hub después de guardarlo. Puedes especificar el repositorio al que deseas subirlo conrepo_id(por defecto, se usará el nombre desave_directoryen tu espacio de nombres). - kwargs (
dict[str, Any], opcional) — Argumentos de palabra clave adicionales que se pasan al método 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().
ClassifierFreeGuidance
clase diffusers.ClassifierFreeGuidance
< source >( guidance_scale: float = 7.5guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
Parámetros
- guidance_scale (
float, por defecto7.5) — Escala CFG aplicada por este guider durante el postprocesamiento. Valores más altos = condicionamiento más fuerte del prompt, pero puede reducir la calidad. Rango típico: 1.0-20.0. - guidance_rescale (
float, por defecto0.0) — Factor de reescalado para evitar la sobreexposición causada por escalas de guía altas. Basado en Common Diffusion Noise Schedules and Sample Steps are Flawed. Rango: 0.0 (sin reescalado) a 1.0 (reescalado completo). - use_original_formulation (
bool, por defectoFalse) — Si esTrue, utiliza la formulación original de CFG del artículo. Si esFalse(por defecto), utiliza la formulación nativa de diffusers del artículo de Imagen. - start (
float, por defecto0.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 defecto1.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 tardíos de desruido. - enabled (
bool, por defectoTrue) — Si CFG está habilitado. EstablezcaFalsepara deshabilitar 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 (guía alta) y la diversidad (guía baja).
Dos formulaciones de CFG:
Moves conditional predictions further from unconditional ones.- Formulación nativa de Diffusers (predeterminada, del artículo de Imagen):
x_pred = x_uncond + guidance_scale * (x_cond - x_uncond)Use use_original_formulation=True para cambiar a la formulación original.
ClassifierFreeZeroStarGuidance
clase diffusers.ClassifierFreeZeroStarGuidance
< source >( guidance_scale: float = 7.5zero_init_steps: int = 1guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
Parámetros
- guidance_scale (
float, por defecto7.5) — El parámetro de escala para la guía libre de clasificador. Valores más altos resultan en un condicionamiento 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 defecto1) — 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 defecto0.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. - use_original_formulation (
bool, por defectoFalse) — 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 defecto0.01) — La fracción del número total de pasos de desruido a partir de la cual comienza la guía. - stop (
float, por defecto0.2) — La fracción del número total de pasos de desruido tras 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
clase diffusers.SkipLayerGuidance
< source >( guidance_scale: float = 7.5skip_layer_guidance_scale: float = 2.8skip_layer_guidance_start: float = 0.01skip_layer_guidance_stop: float = 0.2skip_layer_guidance_layers: int | list[int] | None = Noneskip_layer_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
Parámetros
- guidance_scale (
float, por defecto7.5) — El parámetro de escala para la guía libre de clasificador. Valores más altos resultan en un condicionamiento 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 defecto2.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 defecto0.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 defecto0.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 (
intolist[int], opcional) — Los índices de capas a los que se aplica skip layer guidance. Puede ser un solo entero o una lista de enteros. Si no se proporciona,skip_layer_configdebe estar presente. Los valores recomendados son[7, 8, 9]para Stable Diffusion 3.5 Medium. - skip_layer_config (
LayerSkipConfigolist[LayerSkipConfig], opcional) — La configuración para la guía de capas omitidas. Puede ser un únicoLayerSkipConfigo una lista deLayerSkipConfig. Si no se proporciona,skip_layer_guidance_layersdebe proporcionarse. - guidance_rescale (
float, por defecto0.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. - use_original_formulation (
bool, por defectoFalse) — 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 defecto0.01) — La fracción del número total de pasos de desruido a partir de la cual comienza la guía. - stop (
float, por defecto0.2) — La fracción del número total de pasos de desruido tras la cual se detiene la guía.
Guía de capas omitidas (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 alejar las estimaciones de la distribución predicha por CFG 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 generación en modelos de difusión de video.
Lecturas adicionales:
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
clase diffusers.SmoothedEnergyGuidance
< source >( guidance_scale: float = 7.5seg_guidance_scale: float = 2.8seg_blur_sigma: float = 9999999.0seg_blur_threshold_inf: float = 9999.0seg_guidance_start: float = 0.0seg_guidance_stop: float = 1.0seg_guidance_layers: int | list[int] | None = Noneseg_guidance_config: SmoothedEnergyGuidanceConfig | list[SmoothedEnergyGuidanceConfig] = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
Parámetros
- guidance_scale (
float, por defecto7.5) — El parámetro de escala para la guía libre de clasificador. Valores más altos resultan en un condicionamiento 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 defecto3.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 defecto9999999.0) — La cantidad en la que se difuminan los pesos de atención. Establecer este valor por encima de 9999.0 produce un difuminado infinito, lo que significa consultas uniformes. Controlarlo de forma exponencial es empíricamente efectivo. - seg_blur_threshold_inf (
float, por defecto9999.0) — El umbral por encima del cual el desenfoque se considera infinito. - seg_guidance_start (
float, por defecto0.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 defecto1.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 (
intolist[int], opcional) — Los índices de capas a los que se aplica la guía de energía suavizada. Puede ser un solo entero o una lista de enteros. Si no se proporciona,seg_guidance_configdebe proporcionarse. Los valores recomendados son[7, 8, 9]para Stable Diffusion 3.5 Medium. - seg_guidance_config (
SmoothedEnergyGuidanceConfigolist[SmoothedEnergyGuidanceConfig], opcional) — La configuración para la guía de la capa de energía suavizada. Puede ser un únicoSmoothedEnergyGuidanceConfigo una lista deSmoothedEnergyGuidanceConfig. Si no se proporciona,seg_guidance_layersdebe proporcionarse. - guidance_rescale (
float, por defecto0.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. - use_original_formulation (
bool, por defectoFalse) — 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 defecto0.01) — La fracción del número total de pasos de desruido a partir de la cual comienza la guía. - stop (
float, por defecto0.2) — La fracción del número total de pasos de desruido tras 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
clase diffusers.PerturbedAttentionGuidance
< source >( guidance_scale: float = 7.5perturbed_guidance_scale: float = 2.8perturbed_guidance_start: float = 0.01perturbed_guidance_stop: float = 0.2perturbed_guidance_layers: int | list[int] | None = Noneperturbed_guidance_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
Parámetros
- guidance_scale (
float, por defecto7.5) — El parámetro de escala para la guía libre de clasificador. Valores más altos resultan en un condicionamiento 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 defecto2.8) — El parámetro de escala para la guía de atención perturbada. - perturbed_guidance_start (
float, por defecto0.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 defecto0.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 (
intolist[int], opcional) — Los índices de capas a los que se aplica la guía de atención perturbada. Puede ser un solo entero o una lista de enteros. Si no se proporciona,perturbed_guidance_configdebe proporcionarse. - perturbed_guidance_config (
LayerSkipConfigolist[LayerSkipConfig], opcional) — La configuración para la guía de atención perturbada. Puede ser un únicoLayerSkipConfigo una lista deLayerSkipConfig. Si no se proporciona,perturbed_guidance_layersdebe proporcionarse. - guidance_rescale (
float, por defecto0.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. - use_original_formulation (
bool, por defectoFalse) — 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 defecto0.01) — La fracción del número total de pasos de desruido a partir de la cual comienza la guía. - stop (
float, por defecto0.2) — La fracción del número total de pasos de desruido tras 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:
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
clase diffusers.AdaptiveProjectedGuidance
< source >( guidance_scale: float = 7.5adaptive_projected_guidance_momentum: float | None = Noneadaptive_projected_guidance_rescale: float = 15.0adaptive_projected_guidance_norm_dim: int | tuple[int, ...] | None = Noneeta: float = 1.0guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
Parámetros
- guidance_scale (
float, por defecto7.5) — El parámetro de escala para la guía libre de clasificador. Valores más altos resultan en un condicionamiento 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 defectoNone) — El parámetro de momento para la guía proyectada adaptativa. Se desactiva si se establece enNone. - adaptive_projected_guidance_rescale (
float, por defecto15.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 (
intotuple[int], opcional) — Dimensión(es) sobre las que se calcula la norma y la proyección de APG. Si se omite, se utilizan todas las dimensiones no de lote, preservando el comportamiento original. - guidance_rescale (
float, por defecto0.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. - use_original_formulation (
bool, por defectoFalse) — 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 defecto0.0) — La fracción del número total de pasos de desruido a partir de la cual comienza la guía. - stop (
float, por defecto1.0) — La fracción del número total de pasos de desruido tras la cual se detiene la guía.
Guía proyectada adaptativa (APG): https://huggingface.co/papers/2410.02416
AutoGuidance
clase diffusers.AutoGuidance
< source >( guidance_scale: float = 7.5auto_guidance_layers: int | list[int] | None = Noneauto_guidance_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = Nonedropout: float | None = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
Parámetros
- guidance_scale (
float, por defecto7.5) — El parámetro de escala para la guía libre de clasificador. Valores más altos resultan en un condicionamiento 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 (
intolist[int], opcional) — Los índices de capas a los que se aplica la guía de capas omitidas. Puede ser un solo entero o una lista de enteros. Si no se proporciona,skip_layer_configdebe proporcionarse. - auto_guidance_config (
LayerSkipConfigolist[LayerSkipConfig], opcional) — La configuración para la guía de capas omitidas. Puede ser un únicoLayerSkipConfigo una lista deLayerSkipConfig. Si no se proporciona,skip_layer_guidance_layersdebe proporcionarse. - dropout (
float, opcional) — La probabilidad de dropout para la autoguía en las capas de salto habilitadas (ya sea conauto_guidance_layersoauto_guidance_config). Si no se proporciona, la probabilidad de dropout se establecerá en 1.0. - guidance_rescale (
float, por defecto0.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. - use_original_formulation (
bool, por defectoFalse) — 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 defecto0.0) — La fracción del número total de pasos de desruido a partir de la cual comienza la guía. - stop (
float, por defecto1.0) — La fracción del número total de pasos de desruido tras la cual se detiene la guía.
AutoGuidance: https://huggingface.co/papers/2406.02507
TangentialClassifierFreeGuidance
clase diffusers.TangentialClassifierFreeGuidance
< source >( guidance_scale: float = 7.5guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
Parámetros
- guidance_scale (
float, por defecto7.5) — El parámetro de escala para la guía libre de clasificador. Valores más altos resultan en un condicionamiento 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 defecto0.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. - use_original_formulation (
bool, por defectoFalse) — 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 defecto0.0) — La fracción del número total de pasos de desruido a partir de la cual comienza la guía. - stop (
float, por defecto1.0) — La fracción del número total de pasos de desruido tras la cual se detiene la guía.
Clasificador tangencial con guía libre (TCFG): https://huggingface.co/papers/2503.18137
LTX2Guidance
clase diffusers.LTX2Guidance
< source >( guidance_scale: float = 1.0stg_scale: float = 0.0modality_scale: float = 1.0guidance_rescale: float = 0.0spatio_temporal_guidance_blocks: list[int] | None = Nonestart: float = 0.0stop: float = 1.0enabled: bool = True )
Parámetros
- guidance_scale (
float, por defecto1.0) — Escala CFG para esta modalidad. El paso CFG se omite por completo en1.0. - stg_scale (
float, por defecto0.0) — Escala de guía espaciotemporal para esta modalidad. El paso de STG se omite por completo en0.0. - modality_scale (
float, por defecto1.0) — Escala de orientación para el aislamiento de la modalidad de esta modalidad. Esa pasada se omite por completo en1.0. - guidance_rescale (
float, por defecto0.0) — Factor de reescalado para evitar la sobreexposición causada por escalas de guía altas. Basado en Common Diffusion Noise Schedules and Sample Steps are Flawed. Rango: 0.0 (sin reescalado) a 1.0 (reescalado completo). - spatio_temporal_guidance_blocks (
list[int], opcional) — Bloques de Transformer que se perturbarán en el paso de STG. La forma en que se consume el valor depende del bloque de denoiser: LTX-2 perturba bloques completos en una única pasada de adelante que alimenta a todas las modalidades, por lo que lee este valor únicamente del guía de video: establecerlo en el guía de audio no tiene efecto, y ese guía se une a la misma pasada de STG a través de su propiostg_scale. - start (
float, por defecto0.0) — Fracción de pasos de desruido (0.0-1.0) a partir de la cual comienza la guía. - stop (
float, por defecto1.0) — Fracción de pasos de desruido (0.0-1.0) después de la cual se detiene la guía. - enabled (
bool, por defectoTrue) — Indica si este guider aplica la guía. Cuando esFalse, 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 el responsable de establecer esos identificadores por pasada; consulte LTX2LoopDenoiser para un ejemplo de uso.