Diffusers documentation
Guides
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
< source >( start: float = 0.0stop: float = 1.0enabled: bool = True )
Classe de base fournissant le squelette pour l'implémentation des techniques de guidage.
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
< source >( pretrained_model_name_or_path: str | os.PathLike | None = Nonesubfolder: str | None = Nonereturn_unused_kwargs = False**kwargs )
Paramètres
- pretrained_model_name_or_path (
strouos.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().
- Une chaîne de caractères, l'identifiant du modèle (par exemple
- 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éfautFalse) — 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éfautFalse) — 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éfautFalse) — 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éfautFalse) — Indique s'il faut charger uniquement les poids et les fichiers de configuration du modèle locaux. Si défini surTrue, le modèle ne sera pas téléchargé depuis le Hub. - token (
strou bool, facultatif) — Le jeton à utiliser comme autorisation bearer HTTP pour les fichiers distants. SiTrue, le jeton généré pardiffusers-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.
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
< source >( **kwargs )
Crée une copie de cette instance de guider, éventuellement avec des paramètres de configuration modifiés.
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
< source >( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )
Paramètres
- save_directory (
strouos.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éfautFalse) — 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 avecrepo_id(par défaut, il s'agit du nom desave_directorydans 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
< source >( 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éfaut7.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éfaut0.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éfautFalse) — SiTrue, utilise la formulation originale du CFG issue de l’article. SiFalse(par défaut), utilise la formulation native de diffusers issue de l’article Imagen. - start (
float, par défaut0.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éfaut1.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éfautTrue) — Indique si CFG est activé. Définissez surFalsepour 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 :
Moves conditional predictions further from unconditional ones.- Formulation native de Diffusers (par défaut, issue du papier Imagen) :
x_pred = x_uncond + guidance_scale * (x_cond - x_uncond)Utilisez use_original_formulation=True pour passer à la formulation originale.
ClassifierFreeZeroStarGuidance
classe 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 )
Paramètres
- guidance_scale (
float, par défaut7.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éfaut1) — 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éfaut0.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éfautFalse) — 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éfaut0.01) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage commence. - stop (
float, par défaut0.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
< 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 )
Paramètres
- guidance_scale (
float, par défaut7.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éfaut2.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éfaut0.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éfaut0.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 (
intoulist[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_configdoit l’être. Les valeurs recommandées sont[7, 8, 9]pour Stable Diffusion 3.5 Medium. - skip_layer_config (
LayerSkipConfigoulist[LayerSkipConfig], facultatif) — La configuration pour le guidage de saut de couche. Peut être un seulLayerSkipConfigou une liste deLayerSkipConfig. S'il n'est pas fourni,skip_layer_guidance_layersdoit être fourni. - guidance_rescale (
float, par défaut0.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éfautFalse) — 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éfaut0.01) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage commence. - stop (
float, par défaut0.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
< 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 )
Paramètres
- guidance_scale (
float, par défaut7.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éfaut3.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éfaut9999999.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éfaut9999.0) — Le seuil au-delà duquel le flou est considéré comme infini. - seg_guidance_start (
float, par défaut0.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éfaut1.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 (
intoulist[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_configdoit être fourni. Les valeurs recommandées sont[7, 8, 9]pour Stable Diffusion 3.5 Medium. - seg_guidance_config (
SmoothedEnergyGuidanceConfigoulist[SmoothedEnergyGuidanceConfig], facultatif) — La configuration pour le guidage de la couche d'énergie lissée. Peut être un seulSmoothedEnergyGuidanceConfigou une liste deSmoothedEnergyGuidanceConfig. S'il n'est pas fourni,seg_guidance_layersdoit être fourni. - guidance_rescale (
float, par défaut0.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éfautFalse) — 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éfaut0.01) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage commence. - stop (
float, par défaut0.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
< 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 )
Paramètres
- guidance_scale (
float, par défaut7.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éfaut2.8) — Le paramètre d'échelle pour le guidage de l'attention perturbée. - perturbed_guidance_start (
float, par défaut0.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éfaut0.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 (
intoulist[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_configdoit être fourni. - perturbed_guidance_config (
LayerSkipConfigoulist[LayerSkipConfig], facultatif) — La configuration pour le guidage de l'attention perturbée. Peut être un seulLayerSkipConfigou une liste deLayerSkipConfig. Si non fourni,perturbed_guidance_layersdoit être fourni. - guidance_rescale (
float, par défaut0.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éfautFalse) — 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éfaut0.01) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage commence. - stop (
float, par défaut0.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
< 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 )
Paramètres
- guidance_scale (
float, par défaut7.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éfautNone) — Le paramètre d'élan pour le guidage projeté adaptatif. Désactivé si défini surNone. - adaptive_projected_guidance_rescale (
float, par défaut15.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 (
intoutuple[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éfaut0.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éfautFalse) — 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éfaut0.0) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage commence. - stop (
float, par défaut1.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
< 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 )
Paramètres
- guidance_scale (
float, par défaut7.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 (
intoulist[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_configdoit être fourni. - auto_guidance_config (
LayerSkipConfigoulist[LayerSkipConfig], facultatif) — La configuration pour le skip layer guidance. Peut être un seulLayerSkipConfigou une liste deLayerSkipConfig. Si non fourni,skip_layer_guidance_layersdoit être fourni. - dropout (
float, facultatif) — La probabilité de dropout pour l'autoguidance sur les couches de saut activées (soit avecauto_guidance_layersouauto_guidance_config). Si elle n'est pas fournie, la probabilité de dropout sera définie à 1.0. - guidance_rescale (
float, par défaut0.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éfautFalse) — 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éfaut0.0) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage commence. - stop (
float, par défaut1.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
< source >( 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éfaut7.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éfaut0.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éfautFalse) — 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éfaut0.0) — La fraction du nombre total d'étapes de débruitage après laquelle le guidage commence. - stop (
float, par défaut1.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
< 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 )
Paramètres
- guidance_scale (
float, par défaut1.0) — Échelle CFG pour cette modalité. Le passage CFG est entièrement ignoré à1.0. - stg_scale (
float, par défaut0.0) — Échelle de guidage spatio-temporel pour cette modalité. Le passage STG est entièrement ignoré à0.0. - modality_scale (
float, par défaut1.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éfaut0.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 proprestg_scale. - start (
float, par défaut0.0) — Fraction des étapes de débruitage (0.0-1.0) après laquelle le guidage commence. - stop (
float, par défaut1.0) — Fraction des étapes de débruitage (0.0-1.0) après laquelle le guidage s'arrête. - enabled (
bool, par défautTrue) — Indique si ce guider applique une guidance. SiFalse, 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.