Diffusers documentation

Guides

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Guides

Les guiders sont des composants de Modular Diffusers qui contrôlent la manière dont le processus de diffusion est guidé pendant la génération. Ils mettent en œuvre diverses techniques de guidage afin d'améliorer la qualité et le contrôle de la génération.

BaseGuidance

classe diffusers.BaseGuidance

< >

( start: float = 0.0stop: float = 1.0enabled: bool = True )

Classe de base fournissant le squelette pour l'implémentation des techniques de guidage.

cleanup_models

< >

( denoiser: torch.nn.Module )

Nettoie les modèles pour la technique de guidance après un lot de données donné. Cette méthode doit être redéfinie dans les sous-classes pour implémenter une logique de nettoyage spécifique aux modèles. Elle est utile pour supprimer les hooks ou autres modifications d'état effectuées pendant prepare_models.

from_pretrained

< >

( pretrained_model_name_or_path: str | os.PathLike | None = Nonesubfolder: str | None = Nonereturn_unused_kwargs = False**kwargs )

Paramètres

  • pretrained_model_name_or_path (str ou os.PathLike, facultatif) — Peut être l'un des éléments suivants :
    • Une chaîne de caractères, l'identifiant du modèle (par exemple google/ddpm-celebahq-256) d'un modèle pré-entraîné hébergé sur le Hub.
    • Un chemin vers un dossier (par exemple ./my_model_directory) contenant la configuration du guider enregistrée avec save_pretrained().
  • subfolder (str, facultatif) — L’emplacement du sous-dossier d’un fichier de modèle au sein d’un dépôt de modèle plus large sur le Hub ou en local.
  • return_unused_kwargs (bool, facultatif, par défaut False) — Indique si les kwargs non consommés par la classe Python doivent être retournés ou non.
  • cache_dir (str | os.PathLike, facultatif) — Chemin vers un répertoire où la configuration d'un modèle pré-entraîné téléchargé est mise en cache si le cache standard n'est pas utilisé.
  • force_download (bool, facultatif, par défaut False) — Indique s'il faut forcer le (re)téléchargement des poids du modèle et des fichiers de configuration, en ignorant les versions mises en cache si elles existent.
  • proxies (dict[str, str], facultatif) — Un dictionnaire de serveurs proxy à utiliser par protocole ou point de terminaison, par exemple, {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Les proxys sont utilisés pour chaque requête.
  • output_loading_info(bool, facultatif, par défaut False) — Indique s'il faut également retourner un dictionnaire contenant les clés manquantes, les clés inattendues et les messages d'erreur.
  • local_files_only(bool, facultatif, par défaut False) — Indique s'il faut charger uniquement les poids et les fichiers de configuration du modèle locaux. Si défini sur True, le modèle ne sera pas téléchargé depuis le Hub.
  • token (str ou bool, facultatif) — Le jeton à utiliser comme autorisation bearer HTTP pour les fichiers distants. Si True, le jeton généré par diffusers-cli login (stocké dans ~/.huggingface) est utilisé.
  • revision (str, facultatif, par défaut "main") — La version spécifique du modèle à utiliser. Il peut s’agir d’un nom de branche, d’un nom de tag, d’un identifiant de commit ou de tout identifiant autorisé par Git.

Instanciez un guider à partir d'un fichier de configuration JSON prédéfini dans un répertoire local ou un dépôt Hub.

> Pour utiliser des modèles privés ou restreints, connectez-vous avec hf > auth login. Vous pouvez également activer le mode spécial > « hors-ligne » pour utiliser cette méthode dans un > environnement protégé par un pare-feu.

get_state

< >

( )

Retourne l'état actuel de la technique de guidage sous forme de dictionnaire. Les variables d'état seront incluses dans la méthode repr. Retourne : dict[str, Any] : Un dictionnaire contenant les variables d'état actuelles, y compris :

  • step : étape d'inférence actuelle
  • num_inference_steps: Nombre total d'étapes d'inférence
  • timestep : tenseur de pas de temps actuel
  • count_prepared : Nombre de fois où prepare_models a été appelé
  • enabled : Indique si le guidage est activé
  • num_conditions : Nombre de conditions

new

< >

( **kwargs )

Paramètres

  • **kwargs — Paramètres de configuration à remplacer dans la nouvelle instance. Si aucun kwargs n'est fourni, renvoie une copie exacte avec la même configuration.

Crée une copie de cette instance de guider, éventuellement avec des paramètres de configuration modifiés.

Exemple :

# 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

< >

( denoiser: torch.nn.Module )

Prépare les modèles pour la technique de guidance sur un lot de données donné. Cette méthode doit être redéfinie dans les sous-classes pour implémenter la logique de préparation spécifique au modèle.

save_pretrained

< >

( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )

Paramètres

  • save_directory (str ou os.PathLike) — Répertoire où le fichier JSON de configuration sera enregistré (il sera créé s'il n'existe pas).
  • push_to_hub (bool, facultatif, par défaut False) — Indique s'il faut ou non pousser votre modèle sur le Hugging Face Hub après l'avoir enregistré. Vous pouvez spécifier le dépôt auquel vous souhaitez pousser avec repo_id (par défaut, il s'agit du nom de save_directory dans votre espace de noms).
  • kwargs (dict[str, Any], facultatif) — Arguments supplémentaires passés à la méthode push_to_hub().

Enregistrer un objet de configuration de guider dans un répertoire afin qu’il puisse être rechargé à l’aide de la méthode de classe from_pretrained().

ClassifierFreeGuidance

classe diffusers.ClassifierFreeGuidance

< >

( guidance_scale: float = 7.5guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

Paramètres

  • guidance_scale (float, par défaut 7.5) — Échelle CFG appliquée par ce guider lors du post-traitement. Des valeurs plus élevées = un conditionnement plus fort par le prompt, mais peuvent réduire la qualité. Plage typique : 1.0-20.0.
  • guidance_rescale (float, par défaut 0.0) — Facteur de remise à l'échelle pour éviter la surexposition due à des échelles de guidage élevées. Basé sur Common Diffusion Noise Schedules and Sample Steps are Flawed. Plage : 0.0 (aucune remise à l'échelle) à 1.0 (remise à l'échelle complète).
  • use_original_formulation (bool, par défaut False) — Si True, utilise la formulation originale du CFG issue de l’article. Si False (par défaut), utilise la formulation native de diffusers issue de l’article Imagen.
  • start (float, par défaut 0.0) — Fraction des étapes de débruitage (0.0-1.0) après laquelle le CFG démarre. Utilisez > 0.0 pour désactiver le CFG dans les premières étapes de débruitage.
  • stop (float, par défaut 1.0) — Fraction des étapes de débruitage (0.0-1.0) après laquelle le CFG s'arrête. Utilisez < 1.0 pour désactiver le CFG dans les étapes de débruitage tardives.
  • enabled (bool, par défaut True) — Indique si CFG est activé. Définissez sur False pour désactiver complètement CFG (n'utilise que les prédictions conditionnelles).

Implémente le Classifier-Free Guidance (CFG) pour les modèles de diffusion.

Référence : https://huggingface.co/papers/2207.12598

CFG améliore la qualité de la génération et le respect du prompt en entraînant conjointement les modèles sur des données conditionnelles et non conditionnelles, puis en combinant les prédictions lors de l'inférence. Cela permet de trouver un compromis entre la qualité (guidance élevée) et la diversité (guidance faible).

Deux formulations CFG :

  1. Formulation originale (de l'article) :
x_pred = x_cond + guidance_scale * (x_cond - x_uncond)
Moves conditional predictions further from unconditional ones.
  1. Formulation native de Diffusers (par défaut, issue du papier Imagen) :
x_pred = x_uncond + guidance_scale * (x_cond - x_uncond)
Moves unconditional predictions toward conditional ones, effectively suppressing negative features (e.g., "bad quality", "watermarks"). Equivalent in theory but more intuitive.

Utilisez use_original_formulation=True pour passer à la formulation originale.

ClassifierFreeZeroStarGuidance

classe diffusers.ClassifierFreeZeroStarGuidance

< >

( 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 )

Paramètres

  • guidance_scale (float, par défaut 7.5) — Le paramètre d’échelle pour le guidage sans classifieur (classifier-free guidance). Des valeurs plus élevées renforcent le conditionnement sur le prompt texte, tandis que des valeurs plus basses accordent plus de liberté à la génération. Des valeurs trop élevées peuvent entraîner une saturation et une dégradation de la qualité de l’image.
  • zero_init_steps (int, par défaut 1) — Le nombre d'étapes d'inférence pour lesquelles les prédictions de bruit sont mises à zéro (voir la section 4.2).
  • guidance_rescale (float, par défaut 0.0) — Le facteur de remise à l'échelle appliqué aux prédictions de bruit. Il est utilisé pour améliorer la qualité des images et corriger la surexposition. Basé sur la section 3.4 de Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool, par défaut False) — Indique s'il faut utiliser la formulation originale du classifier-free guidance telle que proposée dans l'article. Par défaut, nous utilisons l'implémentation native de diffusers, présente dans le code depuis longtemps. Voir [~guiders.classifier_free_guidance.ClassifierFreeGuidance] pour plus de détails.
  • start (float, par défaut 0.01) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage commence.
  • stop (float, par défaut 0.2) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage s'arrête.

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

Il s’agit d’une implémentation de la technique de guidage Classifier-Free Zero*, qui est une variante du guidage sans classifieur. Elle propose une initialisation à zéro des prédictions de bruit pour les premières étapes du processus de diffusion, et introduit également un facteur de rééchelonnement optimal pour les prédictions de bruit, ce qui peut contribuer à améliorer la qualité des images générées.

Les auteurs de l'article suggèrent de définir une initialisation nulle pour les 4 % premiers pas d'inférence.

SkipLayerGuidance

classe diffusers.SkipLayerGuidance

< >

( 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 )

Paramètres

  • guidance_scale (float, par défaut 7.5) — Le paramètre d’échelle pour le guidage sans classifieur (classifier-free guidance). Des valeurs plus élevées renforcent le conditionnement sur le prompt texte, tandis que des valeurs plus basses accordent plus de liberté à la génération. Des valeurs trop élevées peuvent entraîner une saturation et une dégradation de la qualité de l’image.
  • skip_layer_guidance_scale (float, par défaut 2.8) — Le paramètre d'échelle pour le skip layer guidance. L'anatomie et la cohérence structurelle peuvent s'améliorer avec des valeurs plus élevées, mais cela peut également entraîner une surexposition et une saturation.
  • skip_layer_guidance_start (float, par défaut 0.01) — La fraction du nombre total d'étapes de débruitage après laquelle le skip layer guidance commence.
  • skip_layer_guidance_stop (float, par défaut 0.2) — La fraction du nombre total d'étapes de débruitage après laquelle le skip layer guidance s'arrête.
  • skip_layer_guidance_layers (int ou list[int], facultatif) — Les indices de couches auxquels appliquer le skip layer guidance. Peut être un entier unique ou une liste d’entiers. S’il n’est pas fourni, skip_layer_config doit l’être. Les valeurs recommandées sont [7, 8, 9] pour Stable Diffusion 3.5 Medium.
  • skip_layer_config (LayerSkipConfig ou list[LayerSkipConfig], facultatif) — La configuration pour le guidage de saut de couche. Peut être un seul LayerSkipConfig ou une liste de LayerSkipConfig. S'il n'est pas fourni, skip_layer_guidance_layers doit être fourni.
  • guidance_rescale (float, par défaut 0.0) — Le facteur de remise à l'échelle appliqué aux prédictions de bruit. Il est utilisé pour améliorer la qualité des images et corriger la surexposition. Basé sur la section 3.4 de Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool, par défaut False) — Indique s'il faut utiliser la formulation originale du classifier-free guidance telle que proposée dans l'article. Par défaut, nous utilisons l'implémentation native de diffusers, présente dans le code depuis longtemps. Voir [~guiders.classifier_free_guidance.ClassifierFreeGuidance] pour plus de détails.
  • start (float, par défaut 0.01) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage commence.
  • stop (float, par défaut 0.2) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage s'arrête.

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

Guidage spatio-temporel (STG) : https://huggingface.co/papers/2411.18664

SLG a été introduit par StabilityAI pour améliorer la cohérence de la structure et de l'anatomie dans les images générées. Il fonctionne en ignorant le passage avant de certains blocs de transformeur spécifiés pendant le processus de débruitage sur un lot de données conditionnel supplémentaire, en plus des lots conditionnel et non conditionnel déjà utilisés dans CFG ([~guiders.classifier_free_guidance.ClassifierFreeGuidance]), puis en ajustant l'échelle et le décalage des prédictions CFG en fonction de la différence entre les prédictions conditionnelles sans saut et les prédictions conditionnelles avec saut.

L'intuition derrière SLG peut être comprise comme un déplacement des estimations de distribution prédites par le CFG plus loin des versions dégradées des estimations de distribution conditionnelle (car le saut de couches équivaut à utiliser une version moins performante du modèle pour la prédiction conditionnelle).

STG est une amélioration et un travail de suivi qui combine les idées de SLG, PAG et des techniques similaires pour améliorer la qualité de génération dans les modèles de diffusion vidéo.

Lecture complémentaire :

Les valeurs de skip_layer_guidance_scale, skip_layer_guidance_start et skip_layer_guidance_stop sont par défaut celles recommandées par StabilityAI pour Stable Diffusion 3.5 Medium.

SmoothedEnergyGuidance

classe diffusers.SmoothedEnergyGuidance

< >

( 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 )

Paramètres

  • guidance_scale (float, par défaut 7.5) — Le paramètre d’échelle pour le guidage sans classifieur (classifier-free guidance). Des valeurs plus élevées renforcent le conditionnement sur le prompt texte, tandis que des valeurs plus basses accordent plus de liberté à la génération. Des valeurs trop élevées peuvent entraîner une saturation et une dégradation de la qualité de l’image.
  • seg_guidance_scale (float, par défaut 3.0) — Le paramètre d'échelle pour le guidage d'énergie lissé. La cohérence de l'anatomie et de la structure peut s'améliorer avec des valeurs plus élevées, mais cela peut également entraîner une surexposition et une saturation.
  • seg_blur_sigma (float, par défaut 9999999.0) — Le niveau de flou appliqué aux poids d'attention. Définir cette valeur à plus de 9999.0 entraîne un flou infini, ce qui correspond à des requêtes uniformes. Le contrôler de manière exponentielle s'avère efficace en pratique.
  • seg_blur_threshold_inf (float, par défaut 9999.0) — Le seuil au-delà duquel le flou est considéré comme infini.
  • seg_guidance_start (float, par défaut 0.0) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage d'énergie lissé commence.
  • seg_guidance_stop (float, par défaut 1.0) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage d'énergie lissé s'arrête.
  • seg_guidance_layers (int ou list[int], facultatif) — Les indices de couches auxquels appliquer le guidage d’énergie lissé. Peut être un entier unique ou une liste d’entiers. Si non fourni, seg_guidance_config doit être fourni. Les valeurs recommandées sont [7, 8, 9] pour Stable Diffusion 3.5 Medium.
  • seg_guidance_config (SmoothedEnergyGuidanceConfig ou list[SmoothedEnergyGuidanceConfig], facultatif) — La configuration pour le guidage de la couche d'énergie lissée. Peut être un seul SmoothedEnergyGuidanceConfig ou une liste de SmoothedEnergyGuidanceConfig. S'il n'est pas fourni, seg_guidance_layers doit être fourni.
  • guidance_rescale (float, par défaut 0.0) — Le facteur de remise à l'échelle appliqué aux prédictions de bruit. Il est utilisé pour améliorer la qualité des images et corriger la surexposition. Basé sur la section 3.4 de Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool, par défaut False) — Indique s'il faut utiliser la formulation originale du classifier-free guidance telle que proposée dans l'article. Par défaut, nous utilisons l'implémentation native de diffusers, présente dans le code depuis longtemps. Voir [~guiders.classifier_free_guidance.ClassifierFreeGuidance] pour plus de détails.
  • start (float, par défaut 0.01) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage commence.
  • stop (float, par défaut 0.2) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage s'arrête.

Guidage d'énergie lissé (SEG) : https://huggingface.co/papers/2408.00760

SEG n'est actuellement pris en charge que comme fonctionnalité expérimentale de prototype, il est donc possible que l'implémentation soit modifiée à l'avenir sans avertissement ni garantie de reproductibilité. Cette implémentation suppose :

  • Les images générées sont carrées (hauteur == largeur)
  • Le modèle ne combine pas différentes modalités ensemble (par exemple, les flux latents texte et image ne sont pas combinés ensemble, contrairement à Flux)

PerturbedAttentionGuidance

classe diffusers.PerturbedAttentionGuidance

< >

( 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 )

Paramètres

  • guidance_scale (float, par défaut 7.5) — Le paramètre d’échelle pour le guidage sans classifieur (classifier-free guidance). Des valeurs plus élevées renforcent le conditionnement sur le prompt texte, tandis que des valeurs plus basses accordent plus de liberté à la génération. Des valeurs trop élevées peuvent entraîner une saturation et une dégradation de la qualité de l’image.
  • perturbed_guidance_scale (float, par défaut 2.8) — Le paramètre d'échelle pour le guidage de l'attention perturbée.
  • perturbed_guidance_start (float, par défaut 0.01) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage d'attention perturbée démarre.
  • perturbed_guidance_stop (float, par défaut 0.2) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage d'attention perturbée s'arrête.
  • perturbed_guidance_layers (int ou list[int], facultatif) — Les indices de couches auxquels appliquer le guidage d’attention perturbé. Peut être un entier unique ou une liste d’entiers. Si non fourni, perturbed_guidance_config doit être fourni.
  • perturbed_guidance_config (LayerSkipConfig ou list[LayerSkipConfig], facultatif) — La configuration pour le guidage de l'attention perturbée. Peut être un seul LayerSkipConfig ou une liste de LayerSkipConfig. Si non fourni, perturbed_guidance_layers doit être fourni.
  • guidance_rescale (float, par défaut 0.0) — Le facteur de remise à l'échelle appliqué aux prédictions de bruit. Il est utilisé pour améliorer la qualité des images et corriger la surexposition. Basé sur la section 3.4 de Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool, par défaut False) — Indique s'il faut utiliser la formulation originale du classifier-free guidance telle que proposée dans l'article. Par défaut, nous utilisons l'implémentation native de diffusers, présente dans le code depuis longtemps. Voir [~guiders.classifier_free_guidance.ClassifierFreeGuidance] pour plus de détails.
  • start (float, par défaut 0.01) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage commence.
  • stop (float, par défaut 0.2) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage s'arrête.

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

L'intuition derrière PAG peut être comprise comme un déplacement des estimations de la distribution prédite par le CFG plus loin des versions dégradées des estimations de la distribution conditionnelle. PAG a été l'une des premières techniques à introduire l'idée d'utiliser une version dégradée du modèle entraîné pour mieux se guider dans le processus de débruitage. Elle perturbe les scores d'attention du flux latent en remplaçant la matrice de scores par une matrice identité pour des couches sélectionnées de manière sélective.

Lecture complémentaire :

PAG est implémenté de manière similaire à SkipLayerGuidance en raison de la superposition des paramètres de configuration et des détails d'implémentation.

AdaptiveProjectedGuidance

classe diffusers.AdaptiveProjectedGuidance

< >

( 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 )

Paramètres

  • guidance_scale (float, par défaut 7.5) — Le paramètre d’échelle pour le guidage sans classifieur (classifier-free guidance). Des valeurs plus élevées renforcent le conditionnement sur le prompt texte, tandis que des valeurs plus basses accordent plus de liberté à la génération. Des valeurs trop élevées peuvent entraîner une saturation et une dégradation de la qualité de l’image.
  • adaptive_projected_guidance_momentum (float, par défaut None) — Le paramètre d'élan pour le guidage projeté adaptatif. Désactivé si défini sur None.
  • adaptive_projected_guidance_rescale (float, par défaut 15.0) — Le facteur de remise à l'échelle appliqué aux prédictions de bruit. Il est utilisé pour améliorer la qualité des images et corriger
  • adaptive_projected_guidance_norm_dim (int ou tuple[int], facultatif) — Dimension(s) sur laquelle(s) calculer la norme et la projection APG. Si omis, toutes les dimensions non-batch sont utilisées, ce qui préserve le comportement d’origine.
  • guidance_rescale (float, par défaut 0.0) — Le facteur de remise à l'échelle appliqué aux prédictions de bruit. Il est utilisé pour améliorer la qualité des images et corriger la surexposition. Basé sur la section 3.4 de Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool, par défaut False) — Indique s'il faut utiliser la formulation originale du classifier-free guidance telle que proposée dans l'article. Par défaut, nous utilisons l'implémentation native de diffusers, présente dans le code depuis longtemps. Voir [~guiders.classifier_free_guidance.ClassifierFreeGuidance] pour plus de détails.
  • start (float, par défaut 0.0) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage commence.
  • stop (float, par défaut 1.0) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage s'arrête.

Guidance projetée adaptative (APG) : https://huggingface.co/papers/2410.02416

AutoGuidance

classe diffusers.AutoGuidance

< >

( 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 )

Paramètres

  • guidance_scale (float, par défaut 7.5) — Le paramètre d’échelle pour le guidage sans classifieur (classifier-free guidance). Des valeurs plus élevées renforcent le conditionnement sur le prompt texte, tandis que des valeurs plus basses accordent plus de liberté à la génération. Des valeurs trop élevées peuvent entraîner une saturation et une dégradation de la qualité de l’image.
  • auto_guidance_layers (int ou list[int], facultatif) — Les indices de couches auxquels appliquer le skip layer guidance. Peut être un entier unique ou une liste d’entiers. S’il n’est pas fourni, skip_layer_config doit être fourni.
  • auto_guidance_config (LayerSkipConfig ou list[LayerSkipConfig], facultatif) — La configuration pour le skip layer guidance. Peut être un seul LayerSkipConfig ou une liste de LayerSkipConfig. Si non fourni, skip_layer_guidance_layers doit être fourni.
  • dropout (float, facultatif) — La probabilité de dropout pour l'autoguidance sur les couches de saut activées (soit avec auto_guidance_layers ou auto_guidance_config). Si elle n'est pas fournie, la probabilité de dropout sera définie à 1.0.
  • guidance_rescale (float, par défaut 0.0) — Le facteur de remise à l'échelle appliqué aux prédictions de bruit. Il est utilisé pour améliorer la qualité des images et corriger la surexposition. Basé sur la section 3.4 de Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool, par défaut False) — Indique s'il faut utiliser la formulation originale du classifier-free guidance telle que proposée dans l'article. Par défaut, nous utilisons l'implémentation native de diffusers, présente dans le code depuis longtemps. Voir [~guiders.classifier_free_guidance.ClassifierFreeGuidance] pour plus de détails.
  • start (float, par défaut 0.0) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage commence.
  • stop (float, par défaut 1.0) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage s'arrête.

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

TangentialClassifierFreeGuidance

classe diffusers.TangentialClassifierFreeGuidance

< >

( guidance_scale: float = 7.5guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

Paramètres

  • guidance_scale (float, par défaut 7.5) — Le paramètre d’échelle pour le guidage sans classifieur (classifier-free guidance). Des valeurs plus élevées renforcent le conditionnement sur le prompt texte, tandis que des valeurs plus basses accordent plus de liberté à la génération. Des valeurs trop élevées peuvent entraîner une saturation et une dégradation de la qualité de l’image.
  • guidance_rescale (float, par défaut 0.0) — Le facteur de remise à l'échelle appliqué aux prédictions de bruit. Il est utilisé pour améliorer la qualité des images et corriger la surexposition. Basé sur la section 3.4 de Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool, par défaut False) — Indique s'il faut utiliser la formulation originale du classifier-free guidance telle que proposée dans l'article. Par défaut, nous utilisons l'implémentation native de diffusers, présente dans le code depuis longtemps. Voir [~guiders.classifier_free_guidance.ClassifierFreeGuidance] pour plus de détails.
  • start (float, par défaut 0.0) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage commence.
  • stop (float, par défaut 1.0) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage s'arrête.

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

LTX2Guidance

classe diffusers.LTX2Guidance

< >

( 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 )

Paramètres

  • guidance_scale (float, par défaut 1.0) — Échelle CFG pour cette modalité. Le passage CFG est entièrement ignoré à 1.0.
  • stg_scale (float, par défaut 0.0) — Échelle de guidage spatio-temporel pour cette modalité. Le passage STG est entièrement ignoré à 0.0.
  • modality_scale (float, par défaut 1.0) — Échelle de guidage pour l'isolation de la modalité pour cette modalité. Ce passage est entièrement ignoré à 1.0.
  • guidance_rescale (float, par défaut 0.0) — Facteur de remise à l'échelle pour éviter la surexposition due à des échelles de guidage élevées. Basé sur Common Diffusion Noise Schedules and Sample Steps are Flawed. Plage : 0.0 (aucune remise à l'échelle) à 1.0 (remise à l'échelle complète).
  • spatio_temporal_guidance_blocks (list[int], facultatif) — Blocs Transformer à perturber lors du passage STG. La manière dont la valeur est consommée dépend du bloc de débruitage : LTX-2 perturbe des blocs entiers dans un seul passage avant qui alimente toutes les modalités, il lit donc cette valeur uniquement depuis le guide vidéo — la définir sur le guide audio n’a aucun effet, et ce guide rejoint le même passage avant STG via son propre stg_scale.
  • start (float, par défaut 0.0) — Fraction des étapes de débruitage (0.0-1.0) après laquelle le guidage commence.
  • stop (float, par défaut 1.0) — Fraction des étapes de débruitage (0.0-1.0) après laquelle le guidage s'arrête.
  • enabled (bool, par défaut True) — Indique si ce guider applique une guidance. Si False, seul le passage conditionnel est exécuté.

Guider mono-modalité pour LTX-2.X. Combine jusqu'à trois termes via la formulation delta :

  • guidage sans classifieur (CFG),
  • le guidage spatio-temporel (STG), un passage supplémentaire avec un ensemble de blocs de transformateur perturbés,
  • guidance d'isolement de la modalité, un passage supplémentaire avec l'attention croisée A2V/V2A désactivée.

Une instance pilote une modalité, de sorte qu'un point de contrôle multimodal en contient plusieurs : LTX-2.X associe un guider vidéo à un audio_guider, chacun conservant ses propres échelles. L'estimation finale du guidage est calculée dans l'espace que l'appelant lui fournit — le débruiteur LTX-2 convertit la vitesse->x0 avant d'appeler cette fonction et inverse la conversion ensuite, de sorte que forward opère sur des prédictions x0.

Contrairement à SkipLayerGuidance, qui applique ses perturbations via des hooks, LTX2Guidance attend que ses perturbations non-CFG soient configurables par le biais des arguments de forward du modèle (spatio_temporal_guidance_blocks et isolate_modalities dans LTX2VideoTransformer3DModel). Le bloc de débruitage appelant est responsable de la configuration de ces identifiants par passage ; voir LTX2LoopDenoiser pour un exemple d’utilisation.

Update on GitHub