Diffusers documentation
Guias
Guias
Os guiders são componentes do Modular Diffusers que controlam como o processo de difusão é guiado durante a geração. Eles implementam diversas técnicas de orientação para melhorar a qualidade e o controle da geração.
BaseGuidance
classe diffusers.BaseGuidance
< source >( start: float = 0.0stop: float = 1.0enabled: bool = True )
Classe base que fornece o esqueleto para a implementação de técnicas de orientação.
Limpa os modelos para a técnica de orientação após um lote de dados dado. Este método deve ser sobrescrito em subclasses para implementar a lógica específica de limpeza dos modelos. É útil para remover ganchos ou outras modificações com estado feitas 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 (
strouos.PathLike, opcional) — Pode ser:- Uma string, o id do modelo (por exemplo,
google/ddpm-celebahq-256) de um modelo pré-treinado hospedado no Hub. - Um caminho para um diretório (por exemplo,
./my_model_directory) contendo a configuração do guider salva com save_pretrained().
- Uma string, o id do modelo (por exemplo,
- subfolder (
str, opcional) — A localização da subpasta de um arquivo de modelo dentro de um repositório de modelo maior no Hub ou localmente. - return_unused_kwargs (
bool, opcional, padrãoFalse) — Se os kwargs que não são consumidos pela classe Python devem ser retornados ou não. - cache_dir (
str | os.PathLike, opcional) — Caminho para um diretório onde a configuração de um modelo pré-treinado baixado é armazenada em cache, caso o cache padrão não seja utilizado. - force_download (
bool, opcional, padrãoFalse) — Se deve forçar o (re-)download dos pesos do modelo e dos arquivos de configuração, sobrescrevendo as versões em cache, caso existam. - proxies (
dict[str, str], opcional) — Um dicionário de servidores proxy a serem usados por protocolo ou endpoint, por exemplo,{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Os proxies são usados em cada solicitação. - output_loading_info(
bool, opcional, padrãoFalse) — Indica se deve ou não retornar também um dicionário contendo chaves ausentes, chaves inesperadas e mensagens de erro. - local_files_only(
bool, opcional, padrãoFalse) — Se deve carregar apenas os pesos e arquivos de configuração do modelo localmente. Se definido comoTrue, o modelo não será baixado do Hub. - token (
strou bool, opcional) — O token a ser usado como autorização de bearer HTTP para arquivos remotos. SeTrue, o token gerado pordiffusers-cli login(armazenado em~/.huggingface) é utilizado. - revision (
str, opcional, padrão"main") — A versão específica do modelo a ser usada. Pode ser o nome de um branch, o nome de uma tag, um id de commit ou qualquer identificador permitido pelo Git.
Instancie um guider a partir de um arquivo de configuração JSON predefinido em um diretório local ou em um repositório do Hub.
> Para usar modelos privados ou com acesso restrito, faça login com
hf > auth login. Você também pode ativar o modo especial > “offline” para usar este método em um > ambiente com firewall.
Retorna o estado atual da técnica de orientação como um dicionário. As variáveis de estado serão incluídas no método repr. Retorna: dict[str, Any]: Um dicionário contendo as variáveis de estado atuais, incluindo:
- step: Etapa de inferência atual
- num_inference_steps: Número total de etapas de inferência
- timestep: tensor do timestep atual
- count_prepared: Número de vezes que prepare_models foi chamado
- enabled: se a orientação está habilitada
- num_conditions: Número de condições
novo
< source >( **kwargs )
Cria uma cópia desta instância de guider, opcionalmente com parâmetros de configuração modificados.
Prepara os modelos para a técnica de orientação em um lote de dados dado. Este método deve ser sobrescrito em subclasses para implementar a lógica específica de preparação do modelo.
save_pretrained
< source >( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )
Parâmetros
- save_directory (
strouos.PathLike) — Diretório onde o arquivo JSON de configuração será salvo (será criado se não existir). - push_to_hub (
bool, opcional, padrãoFalse) — Se deve ou não enviar seu modelo para o Hugging Face Hub após salvá-lo. Você pode especificar o repositório para o qual deseja enviar comrepo_id(o padrão será o nome desave_directoryno seu namespace). - kwargs (
dict[str, Any], opcional) — Argumentos de palavra-chave adicionais passados ao método push_to_hub().
Salve um objeto de configuração de guider em um diretório para que ele possa ser recarregado usando o método 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 )
Parâmetros
- guidance_scale (
float, padrão7.5) — Escala de CFG aplicada por este guia durante o pós-processamento. Valores mais altos = condicionamento mais forte do prompt, mas podem reduzir a qualidade. Faixa típica: 1.0-20.0. - guidance_rescale (
float, padrão0.0) — Fator de reescala para evitar superexposição em altas escalas de orientação. Baseado em Common Diffusion Noise Schedules and Sample Steps are Flawed. Intervalo: 0.0 (sem reescala) a 1.0 (reescala completa). - use_original_formulation (
bool, padrãoFalse) — SeTrue, usa a formulação original de CFG do artigo. SeFalse(padrão), usa a formulação nativa do diffusers do artigo Imagen. - start (
float, padrão0.0) — Fração dos passos de desruido (0.0-1.0) após a qual o CFG começa. Use > 0.0 para desativar o CFG nos primeiros passos de desruido. - stop (
float, padrão1.0) — Fração dos passos de desruido (0.0-1.0) após a qual o CFG é desativado. Use < 1.0 para desativar o CFG nos passos finais de desruido. - enabled (
bool, padrãoTrue) — Se o CFG está habilitado. Defina comoFalsepara desabilitar o CFG completamente (usa apenas previsões condicionais).
Implementa o Classifier-Free Guidance (CFG) para modelos de difusão.
Referência: https://huggingface.co/papers/2207.12598
O CFG melhora a qualidade da geração e a aderência ao prompt ao treinar modelos conjuntamente em dados condicionais e incondicionais e, em seguida, combinar as previsões durante a inferência. Isso permite equilibrar qualidade (alta orientação) e diversidade (baixa orientação).
Duas formulações de CFG:
Moves conditional predictions further from unconditional ones.- Formulação nativa do Diffusers (padrão, do paper do Imagen):
x_pred = x_uncond + guidance_scale * (x_cond - x_uncond)Use use_original_formulation=True para alternar para a formulação original.
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 )
Parâmetros
- guidance_scale (
float, padrão7.5) — O parâmetro de escala para a orientação sem classificador (classifier-free guidance). Valores mais altos resultam em uma condicionamento mais forte no prompt de texto, enquanto valores mais baixos permitem mais liberdade na geração. Valores mais altos podem levar à saturação e à deterioração da qualidade da imagem. - zero_init_steps (
int, padrão1) — O número de etapas de inferência para as quais as previsões de ruído são zeradas (veja a Seção 4.2). - guidance_rescale (
float, padrão0.0) — O fator de reescala aplicado às previsões de ruído. Isso é usado para melhorar a qualidade da imagem e corrigir a superexposição. Baseado na Seção 3.4 de Common Diffusion Noise Schedules and Sample Steps are Flawed. - use_original_formulation (
bool, padrãoFalse) — Se deve usar a formulação original de classifier-free guidance proposta no artigo. Por padrão, usamos a implementação nativa do diffusers que está no codebase há muito tempo. Veja [~guiders.classifier_free_guidance.ClassifierFreeGuidance] para mais detalhes. - start (
float, padrão0.01) — A fração do número total de etapas de remoção de ruído após a qual o direcionamento começa. - stop (
float, padrão0.2) — A fração do total de etapas de remoção de ruído após a qual a orientação é interrompida.
Zero sem classificador(CFG-Zero): https://huggingface.co/papers/2503.18886
Esta é uma implementação da técnica de orientação Classifier-Free Zero*, que é uma variante da orientação sem classificador. Ela propõe a inicialização em zero das previsões de ruído para os primeiros passos do processo de difusão e também introduz um fator de reescalonamento ótimo para as previsões de ruído, o que pode ajudar a melhorar a qualidade das imagens geradas.
Os autores do artigo sugerem definir a inicialização em zero nos primeiros 4% das etapas de inferência.
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 )
Parâmetros
- guidance_scale (
float, padrão7.5) — O parâmetro de escala para a orientação sem classificador (classifier-free guidance). Valores mais altos resultam em uma condicionamento mais forte no prompt de texto, enquanto valores mais baixos permitem mais liberdade na geração. Valores mais altos podem levar à saturação e à deterioração da qualidade da imagem. - skip_layer_guidance_scale (
float, padrão2.8) — O parâmetro de escala para o skip layer guidance. A anatomia e a coerência estrutural podem melhorar com valores mais altos, mas isso também pode levar a superexposição e saturação. - skip_layer_guidance_start (
float, padrão0.01) — A fração do número total de etapas de desruido após a qual o skip layer guidance começa. - skip_layer_guidance_stop (
float, padrão0.2) — A fração do número total de etapas de desruido após a qual o skip layer guidance é interrompido. - skip_layer_guidance_layers (
intoulist[int], opcional) — Os índices das camadas para aplicar o skip layer guidance. Pode ser um único inteiro ou uma lista de inteiros. Se não for fornecido,skip_layer_configdeve ser fornecido. Os valores recomendados são[7, 8, 9]para Stable Diffusion 3.5 Medium. - skip_layer_config (
LayerSkipConfigoulist[LayerSkipConfig], opcional) — A configuração para o skip layer guidance. Pode ser um únicoLayerSkipConfigou uma lista deLayerSkipConfig. Se não for fornecida,skip_layer_guidance_layersdeve ser fornecida. - guidance_rescale (
float, padrão0.0) — O fator de reescala aplicado às previsões de ruído. Isso é usado para melhorar a qualidade da imagem e corrigir a superexposição. Baseado na Seção 3.4 de Common Diffusion Noise Schedules and Sample Steps are Flawed. - use_original_formulation (
bool, padrãoFalse) — Se deve usar a formulação original de classifier-free guidance proposta no artigo. Por padrão, usamos a implementação nativa do diffusers que está no codebase há muito tempo. Veja [~guiders.classifier_free_guidance.ClassifierFreeGuidance] para mais detalhes. - start (
float, padrão0.01) — A fração do número total de etapas de remoção de ruído após a qual o direcionamento começa. - stop (
float, padrão0.2) — A fração do total de etapas de remoção de ruído após a qual a orientação é interrompida.
Skip Layer Guidance (SLG): https://github.com/Stability-AI/sd3.5
Orientação Espacial-Temporal (STG): https://huggingface.co/papers/2411.18664
O SLG foi introduzido pela StabilityAI para melhorar a coerência de estrutura e anatomia em imagens geradas. Ele funciona pulando a passagem direta dos blocos de transformador especificados durante o processo de desruidamento em um lote condicional adicional de dados, além dos lotes condicional e incondicional já usados no CFG ([~guiders.classifier_free_guidance.ClassifierFreeGuidance]), e, em seguida, escalando e deslocando as previsões do CFG com base na diferença entre as previsões condicionais sem pulo e as previsões condicionais com pulo.
A intuição por trás do SLG pode ser pensada como mover as estimativas da distribuição prevista pelo CFG ainda mais longe das versões piores das estimativas da distribuição condicional (pois pular camadas é equivalente a usar uma versão pior do modelo para a previsão condicional).
STG é uma melhoria e um trabalho de continuação que combina ideias de SLG, PAG e técnicas semelhantes para melhorar a qualidade da geração em modelos de difusão de vídeo.
Leituras adicionais:
Os valores de skip_layer_guidance_scale, skip_layer_guidance_start e skip_layer_guidance_stop são
definidos por padrão de acordo com as recomendações da StabilityAI para o 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 )
Parâmetros
- guidance_scale (
float, padrão7.5) — O parâmetro de escala para a orientação sem classificador (classifier-free guidance). Valores mais altos resultam em uma condicionamento mais forte no prompt de texto, enquanto valores mais baixos permitem mais liberdade na geração. Valores mais altos podem levar à saturação e à deterioração da qualidade da imagem. - seg_guidance_scale (
float, padrão3.0) — O parâmetro de escala para o guia de energia suavizado. A anatomia e a coerência estrutural podem melhorar com valores mais altos, mas isso também pode levar a superexposição e saturação. - seg_blur_sigma (
float, padrão9999999.0) — A quantidade pela qual desfocamos os pesos de atenção. Definir esse valor maior que 9999.0 resulta em desfoque infinito, o que significa consultas uniformes. Controlá-lo exponencialmente é empiricamente eficaz. - seg_blur_threshold_inf (
float, padrão9999.0) — O limiar acima do qual o desfoque é considerado infinito. - seg_guidance_start (
float, padrão0.0) — A fração do total de etapas de desruido após a qual o guia de energia suavizado começa. - seg_guidance_stop (
float, padrão1.0) — A fração do total de etapas de desruido após a qual a orientação de energia suavizada é interrompida. - seg_guidance_layers (
intoulist[int], opcional) — Os índices das camadas para aplicar o guia de energia suavizado. Pode ser um único inteiro ou uma lista de inteiros. Se não for fornecido,seg_guidance_configdeve ser fornecido. Os valores recomendados são[7, 8, 9]para Stable Diffusion 3.5 Medium. - seg_guidance_config (
SmoothedEnergyGuidanceConfigoulist[SmoothedEnergyGuidanceConfig], opcional) — A configuração para o guia da camada de energia suavizada. Pode ser um únicoSmoothedEnergyGuidanceConfigou uma lista deSmoothedEnergyGuidanceConfig. Se não for fornecido,seg_guidance_layersdeve ser fornecido. - guidance_rescale (
float, padrão0.0) — O fator de reescala aplicado às previsões de ruído. Isso é usado para melhorar a qualidade da imagem e corrigir a superexposição. Baseado na Seção 3.4 de Common Diffusion Noise Schedules and Sample Steps are Flawed. - use_original_formulation (
bool, padrãoFalse) — Se deve usar a formulação original de classifier-free guidance proposta no artigo. Por padrão, usamos a implementação nativa do diffusers que está no codebase há muito tempo. Veja [~guiders.classifier_free_guidance.ClassifierFreeGuidance] para mais detalhes. - start (
float, padrão0.01) — A fração do número total de etapas de remoção de ruído após a qual o direcionamento começa. - stop (
float, padrão0.2) — A fração do total de etapas de remoção de ruído após a qual a orientação é interrompida.
Smoothed Energy Guidance (SEG): https://huggingface.co/papers/2408.00760
O SEG é suportado apenas como um recurso experimental de protótipo por enquanto, portanto, a implementação pode ser modificada no futuro sem aviso prévio ou garantia de reprodutibilidade. Esta implementação pressupõe:
- As imagens geradas são quadradas (altura == largura)
- O modelo não combina diferentes modalidades (por exemplo, os fluxos latentes de texto e imagem não são combinados, como no 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 )
Parâmetros
- guidance_scale (
float, padrão7.5) — O parâmetro de escala para a orientação sem classificador (classifier-free guidance). Valores mais altos resultam em uma condicionamento mais forte no prompt de texto, enquanto valores mais baixos permitem mais liberdade na geração. Valores mais altos podem levar à saturação e à deterioração da qualidade da imagem. - perturbed_guidance_scale (
float, padrão2.8) — O parâmetro de escala para o direcionamento de atenção perturbada. - perturbed_guidance_start (
float, padrão0.01) — A fração do total de etapas de desruido após a qual o guia de atenção perturbada começa. - perturbed_guidance_stop (
float, padrão0.2) — A fração do total de etapas de desruido após a qual a orientação de atenção perturbada é interrompida. - perturbed_guidance_layers (
intoulist[int], opcional) — Os índices das camadas para aplicar a orientação de atenção perturbada. Pode ser um único inteiro ou uma lista de inteiros. Se não for fornecido,perturbed_guidance_configdeve ser fornecido. - perturbed_guidance_config (
LayerSkipConfigoulist[LayerSkipConfig], opcional) — A configuração para o guia de atenção perturbada. Pode ser um únicoLayerSkipConfigou uma lista deLayerSkipConfig. Se não for fornecida,perturbed_guidance_layersdeve ser fornecida. - guidance_rescale (
float, padrão0.0) — O fator de reescala aplicado às previsões de ruído. Isso é usado para melhorar a qualidade da imagem e corrigir a superexposição. Baseado na Seção 3.4 de Common Diffusion Noise Schedules and Sample Steps are Flawed. - use_original_formulation (
bool, padrãoFalse) — Se deve usar a formulação original de classifier-free guidance proposta no artigo. Por padrão, usamos a implementação nativa do diffusers que está no codebase há muito tempo. Veja [~guiders.classifier_free_guidance.ClassifierFreeGuidance] para mais detalhes. - start (
float, padrão0.01) — A fração do número total de etapas de remoção de ruído após a qual o direcionamento começa. - stop (
float, padrão0.2) — A fração do total de etapas de remoção de ruído após a qual a orientação é interrompida.
Perturbed Attention Guidance (PAG): https://huggingface.co/papers/2403.17377
A intuição por trás do PAG pode ser pensada como mover as estimativas da distribuição prevista pelo CFG para mais longe de versões piores das estimativas da distribuição condicional. O PAG foi uma das primeiras técnicas a introduzir a ideia de usar uma versão pior do modelo treinado para orientar melhor a si mesmo no processo de remoção de ruído. Ele perturba as pontuações de atenção do fluxo latente substituindo a matriz de pontuação por uma matriz identidade para camadas selecionadas seletivamente.
Leituras adicionais:
O PAG é implementado com uma implementação semelhante à do SkipLayerGuidance devido à sobreposição nos parâmetros de configuração e nos detalhes de implementação.
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 )
Parâmetros
- guidance_scale (
float, padrão7.5) — O parâmetro de escala para a orientação sem classificador (classifier-free guidance). Valores mais altos resultam em uma condicionamento mais forte no prompt de texto, enquanto valores mais baixos permitem mais liberdade na geração. Valores mais altos podem levar à saturação e à deterioração da qualidade da imagem. - adaptive_projected_guidance_momentum (
float, padrãoNone) — O parâmetro de momentum para o adaptive projected guidance. Desativado se definido comoNone. - adaptive_projected_guidance_rescale (
float, padrão15.0) — O fator de reescala aplicado às previsões de ruído. Isso é usado para melhorar a qualidade da imagem e corrigir - adaptive_projected_guidance_norm_dim (
intoutuple[int], opcional) — Dimensão(ões) sobre as quais calcular a norma e a projeção do APG. Se omitido, todas as dimensões não-batch são usadas, preservando o comportamento original. - guidance_rescale (
float, padrão0.0) — O fator de reescala aplicado às previsões de ruído. Isso é usado para melhorar a qualidade da imagem e corrigir a superexposição. Baseado na Seção 3.4 de Common Diffusion Noise Schedules and Sample Steps are Flawed. - use_original_formulation (
bool, padrãoFalse) — Se deve usar a formulação original de classifier-free guidance proposta no artigo. Por padrão, usamos a implementação nativa do diffusers que está no codebase há muito tempo. Veja [~guiders.classifier_free_guidance.ClassifierFreeGuidance] para mais detalhes. - start (
float, padrão0.0) — A fração do número total de etapas de desruido após a qual o guia começa. - stop (
float, padrão1.0) — A fração do total de etapas de desruido após a qual a orientação é interrompida.
Guia Projetado Adaptativo (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 )
Parâmetros
- guidance_scale (
float, padrão7.5) — O parâmetro de escala para a orientação sem classificador (classifier-free guidance). Valores mais altos resultam em uma condicionamento mais forte no prompt de texto, enquanto valores mais baixos permitem mais liberdade na geração. Valores mais altos podem levar à saturação e à deterioração da qualidade da imagem. - auto_guidance_layers (
intoulist[int], opcional) — Os índices das camadas para aplicar o skip layer guidance. Pode ser um único inteiro ou uma lista de inteiros. Se não for fornecido,skip_layer_configdeve ser fornecido. - auto_guidance_config (
LayerSkipConfigoulist[LayerSkipConfig], opcional) — A configuração para o skip layer guidance. Pode ser um únicoLayerSkipConfigou uma lista deLayerSkipConfig. Se não for fornecida,skip_layer_guidance_layersdeve ser fornecida. - dropout (
float, opcional) — A probabilidade de dropout para autoguidance nas camadas de skip habilitadas (seja comauto_guidance_layersouauto_guidance_config). Se não for fornecida, a probabilidade de dropout será definida como 1.0. - guidance_rescale (
float, padrão0.0) — O fator de reescala aplicado às previsões de ruído. Isso é usado para melhorar a qualidade da imagem e corrigir a superexposição. Baseado na Seção 3.4 de Common Diffusion Noise Schedules and Sample Steps are Flawed. - use_original_formulation (
bool, padrãoFalse) — Se deve usar a formulação original de classifier-free guidance proposta no artigo. Por padrão, usamos a implementação nativa do diffusers que está no codebase há muito tempo. Veja [~guiders.classifier_free_guidance.ClassifierFreeGuidance] para mais detalhes. - start (
float, padrão0.0) — A fração do número total de etapas de desruido após a qual o guia começa. - stop (
float, padrão1.0) — A fração do total de etapas de desruido após a qual a orientação é interrompida.
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 )
Parâmetros
- guidance_scale (
float, padrão7.5) — O parâmetro de escala para a orientação sem classificador (classifier-free guidance). Valores mais altos resultam em uma condicionamento mais forte no prompt de texto, enquanto valores mais baixos permitem mais liberdade na geração. Valores mais altos podem levar à saturação e à deterioração da qualidade da imagem. - guidance_rescale (
float, padrão0.0) — O fator de reescala aplicado às previsões de ruído. Isso é usado para melhorar a qualidade da imagem e corrigir a superexposição. Baseado na Seção 3.4 de Common Diffusion Noise Schedules and Sample Steps are Flawed. - use_original_formulation (
bool, padrãoFalse) — Se deve usar a formulação original de classifier-free guidance proposta no artigo. Por padrão, usamos a implementação nativa do diffusers que está no codebase há muito tempo. Veja [~guiders.classifier_free_guidance.ClassifierFreeGuidance] para mais detalhes. - start (
float, padrão0.0) — A fração do número total de etapas de desruido após a qual o guia começa. - stop (
float, padrão1.0) — A fração do total de etapas de desruido após a qual a orientação é interrompida.
Classificador Tangencial com Orientação Livre (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 )
Parâmetros
- guidance_scale (
float, padrão1.0) — Escala de CFG para esta modalidade. A passagem de CFG é totalmente ignorada em1.0. - stg_scale (
float, padrão0.0) — Escala de orientação espaço-temporal para esta modalidade. A passagem de STG é totalmente ignorada em0.0. - modality_scale (
float, padrão1.0) — Escala de orientação para isolamento de modalidade desta modalidade. Essa passagem é totalmente ignorada em1.0. - guidance_rescale (
float, padrão0.0) — Fator de reescala para evitar superexposição em altas escalas de orientação. Baseado em Common Diffusion Noise Schedules and Sample Steps are Flawed. Intervalo: 0.0 (sem reescala) a 1.0 (reescala completa). - spatio_temporal_guidance_blocks (
list[int], opcional) — Blocos do Transformer a serem perturbados na passagem de STG. A forma como o valor é consumido depende do bloco de denoiser: o LTX-2 perturba blocos inteiros em um único forward que alimenta todas as modalidades, portanto lê esse valor apenas do guider de vídeo — configurá-lo no guider de áudio não tem efeito, e esse guider se junta ao mesmo forward de STG por meio do seu própriostg_scale. - start (
float, padrão0.0) — Fração dos passos de desruido (0.0-1.0) após a qual o guia começa. - stop (
float, padrão1.0) — Fração dos passos de desruido (0.0-1.0) após a qual a orientação é interrompida. - enabled (
bool, padrãoTrue) — Se este guider aplica orientação. QuandoFalse, apenas a passagem condicional é executada.
Guia de modalidade única para LTX-2.X. Combina até três termos por meio da formulação delta:
- orientação sem classificador (CFG),
- orientação espaço-temporal (STG), uma passagem extra com um conjunto de blocos de transformer perturbados,
- orientação de isolamento de modalidade, uma passagem extra com a atenção cruzada A2V/V2A desativada.
Uma instância controla uma modalidade, portanto um checkpoint multimodal carrega várias: o LTX-2.X associa um guider de vídeo a um audio_guider, cada um mantendo suas próprias escalas. A estimativa final de guidance é calculada no espaço que o chamador fornece — o denoiser do LTX-2 converte velocity->x0 antes de chamar isso e de volta depois, de modo que forward opera sobre previsões de x0.
Diferentemente de SkipLayerGuidance, que aplica suas perturbações com hooks, LTX2Guidance espera que suas perturbações não-CFG sejam configuráveis por meio dos argumentos do forward do modelo (spatio_temporal_guidance_blocks e isolate_modalities em LTX2VideoTransformer3DModel). O bloco de denoiser que faz a chamada é responsável por definir esses identificadores por passagem; veja LTX2LoopDenoiser para um exemplo de uso.