Diffusers documentation

Guias

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

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

< >

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

cleanup_models

< >

( denoiser: torch.nn.Module )

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

< >

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

Parâmetros

  • pretrained_model_name_or_path (str ou os.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().
  • 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ão False) — 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ão False) — 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ão False) — 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ão False) — Se deve carregar apenas os pesos e arquivos de configuração do modelo localmente. Se definido como True, o modelo não será baixado do Hub.
  • token (str ou bool, opcional) — O token a ser usado como autorização de bearer HTTP para arquivos remotos. Se True, o token gerado por diffusers-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.

get_state

< >

( )

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

< >

( **kwargs )

Parâmetros

  • **kwargs — Parâmetros de configuração para substituir na nova instância. Se nenhum kwarg for fornecido, retorna uma cópia exata com a mesma configuração.

Cria uma cópia desta instância de guider, opcionalmente com parâmetros de configuração modificados.

Exemplo:

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

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

< >

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

Parâmetros

  • save_directory (str ou os.PathLike) — Diretório onde o arquivo JSON de configuração será salvo (será criado se não existir).
  • push_to_hub (bool, opcional, padrão False) — 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 com repo_id (o padrão será o nome de save_directory no 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

< >

( 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ão 7.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ão 0.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ão False) — Se True, usa a formulação original de CFG do artigo. Se False (padrão), usa a formulação nativa do diffusers do artigo Imagen.
  • start (float, padrão 0.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ão 1.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ão True) — Se o CFG está habilitado. Defina como False para 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:

  1. Formulação original (do artigo):
x_pred = x_cond + guidance_scale * (x_cond - x_uncond)
Moves conditional predictions further from unconditional ones.
  1. Formulação nativa do Diffusers (padrão, do paper do 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.

Use use_original_formulation=True para alternar para a formulação original.

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 )

Parâmetros

  • guidance_scale (float, padrão 7.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ão 1) — 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ão 0.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ão False) — 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ão 0.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ão 0.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

< >

( 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ão 7.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ão 2.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ão 0.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ão 0.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 (int ou list[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_config deve ser fornecido. Os valores recomendados são [7, 8, 9] para Stable Diffusion 3.5 Medium.
  • skip_layer_config (LayerSkipConfig ou list[LayerSkipConfig], opcional) — A configuração para o skip layer guidance. Pode ser um único LayerSkipConfig ou uma lista de LayerSkipConfig. Se não for fornecida, skip_layer_guidance_layers deve ser fornecida.
  • guidance_rescale (float, padrão 0.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ão False) — 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ão 0.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ão 0.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

< >

( 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ão 7.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ão 3.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ão 9999999.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ão 9999.0) — O limiar acima do qual o desfoque é considerado infinito.
  • seg_guidance_start (float, padrão 0.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ão 1.0) — A fração do total de etapas de desruido após a qual a orientação de energia suavizada é interrompida.
  • seg_guidance_layers (int ou list[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_config deve ser fornecido. Os valores recomendados são [7, 8, 9] para Stable Diffusion 3.5 Medium.
  • seg_guidance_config (SmoothedEnergyGuidanceConfig ou list[SmoothedEnergyGuidanceConfig], opcional) — A configuração para o guia da camada de energia suavizada. Pode ser um único SmoothedEnergyGuidanceConfig ou uma lista de SmoothedEnergyGuidanceConfig. Se não for fornecido, seg_guidance_layers deve ser fornecido.
  • guidance_rescale (float, padrão 0.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ão False) — 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ão 0.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ão 0.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

< >

( 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ão 7.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ão 2.8) — O parâmetro de escala para o direcionamento de atenção perturbada.
  • perturbed_guidance_start (float, padrão 0.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ão 0.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 (int ou list[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_config deve ser fornecido.
  • perturbed_guidance_config (LayerSkipConfig ou list[LayerSkipConfig], opcional) — A configuração para o guia de atenção perturbada. Pode ser um único LayerSkipConfig ou uma lista de LayerSkipConfig. Se não for fornecida, perturbed_guidance_layers deve ser fornecida.
  • guidance_rescale (float, padrão 0.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ão False) — 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ão 0.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ão 0.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

< >

( 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ão 7.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ão None) — O parâmetro de momentum para o adaptive projected guidance. Desativado se definido como None.
  • adaptive_projected_guidance_rescale (float, padrão 15.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 (int ou tuple[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ão 0.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ão False) — 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ão 0.0) — A fração do número total de etapas de desruido após a qual o guia começa.
  • stop (float, padrão 1.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

< >

( 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ão 7.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 (int ou list[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_config deve ser fornecido.
  • auto_guidance_config (LayerSkipConfig ou list[LayerSkipConfig], opcional) — A configuração para o skip layer guidance. Pode ser um único LayerSkipConfig ou uma lista de LayerSkipConfig. Se não for fornecida, skip_layer_guidance_layers deve ser fornecida.
  • dropout (float, opcional) — A probabilidade de dropout para autoguidance nas camadas de skip habilitadas (seja com auto_guidance_layers ou auto_guidance_config). Se não for fornecida, a probabilidade de dropout será definida como 1.0.
  • guidance_rescale (float, padrão 0.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ão False) — 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ão 0.0) — A fração do número total de etapas de desruido após a qual o guia começa.
  • stop (float, padrão 1.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

< >

( 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ão 7.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ão 0.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ão False) — 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ão 0.0) — A fração do número total de etapas de desruido após a qual o guia começa.
  • stop (float, padrão 1.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

< >

( 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ão 1.0) — Escala de CFG para esta modalidade. A passagem de CFG é totalmente ignorada em 1.0.
  • stg_scale (float, padrão 0.0) — Escala de orientação espaço-temporal para esta modalidade. A passagem de STG é totalmente ignorada em 0.0.
  • modality_scale (float, padrão 1.0) — Escala de orientação para isolamento de modalidade desta modalidade. Essa passagem é totalmente ignorada em 1.0.
  • guidance_rescale (float, padrão 0.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óprio stg_scale.
  • start (float, padrão 0.0) — Fração dos passos de desruido (0.0-1.0) após a qual o guia começa.
  • stop (float, padrão 1.0) — Fração dos passos de desruido (0.0-1.0) após a qual a orientação é interrompida.
  • enabled (bool, padrão True) — Se este guider aplica orientação. Quando False, 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.

Update on GitHub