Diffusers documentation

Гиды

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

Гиды

Guiders — это компоненты Modular Diffusers, которые управляют тем, как процесс диффузии направляется во время генерации. Они реализуют различные техники направленного управления для улучшения качества и контроля генерации.

BaseGuidance

класс diffusers.BaseGuidance

< >

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

Базовый класс, предоставляющий каркас для реализации методов направленного управления.

cleanup_models

< >

( denoiser: torch.nn.Module )

Очищает модели для техники guidance после обработки заданной партии данных. Этот метод следует переопределять в дочерних классах для реализации конкретной логики очистки моделей. Он полезен для удаления хуков или других изменений состояния, внесённых во время prepare_models.

from_pretrained

< >

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

Параметры

  • pretrained_model_name_or_path (str или os.PathLike, необязательный) — Может быть:
    • Строка, идентификатор модели (например, google/ddpm-celebahq-256) предобученной модели, размещенной на Hub.
    • Путь к каталогу (например, ./my_model_directory), содержащему конфигурацию guider, сохранённую с помощью save_pretrained().
  • subfolder (str, необязательный) — Расположение подпапки файла модели внутри более крупного репозитория моделей на Hub или локально.
  • return_unused_kwargs (bool, необязательный, по умолчанию False) — Определяет, следует ли возвращать аргументы kwargs, которые не используются классом Python.
  • cache_dir (str | os.PathLike, необязательный) — Путь к каталогу, в котором кэшируется загруженная конфигурация предобученной модели, если стандартный кэш не используется.
  • force_download (bool, необязательный, по умолчанию False) — Следует ли принудительно (пере)скачивать веса модели и файлы конфигурации, игнорируя кэшированные версии, если они существуют.
  • proxies (dict[str, str], необязательный) — Словарь прокси-серверов, используемых по протоколу или конечной точке, например, {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Прокси применяются при каждом запросе.
  • output_loading_info(bool, optional, по умолчанию False) — Определяет, следует ли также возвращать словарь, содержащий отсутствующие ключи, неожиданные ключи и сообщения об ошибках.
  • local_files_only(bool, необязательный, по умолчанию False) — Определяет, следует ли загружать только локальные веса модели и файлы конфигурации. Если установлено значение True, модель не будет скачана с Hub.
  • token (str или bool, необязательный) — Токен, используемый в качестве HTTP bearer-авторизации для удалённых файлов. Если True, используется токен, сгенерированный командой diffusers-cli login (сохранённый в ~/.huggingface).
  • revision (str, необязательный, по умолчанию "main") — Конкретная версия модели, которую следует использовать. Может быть именем ветки, именем тега, идентификатором коммита или любым другим идентификатором, поддерживаемым Git.

Создайте экземпляр guider из заранее определённого файла конфигурации JSON в локальном каталоге или репозитории Hub.

> Для использования частных или модели с ограниченным доступом выполните вход с помощью hf > auth login. Также можно активировать специальный режим > «офлайн», чтобы использовать этот метод в > среде с файрволом.

get_state

< >

( )

Возвращает текущее состояние техники guidance в виде словаря. Переменные состояния будут включены в метод repr. Возвращает: dict[str, Any]: словарь, содержащий текущие переменные состояния, в том числе:

  • step: текущий шаг инференса
  • num_inference_steps: Общее количество шагов инференса
  • timestep: текущий тензор шага
  • count_prepared: количество вызовов prepare_models
  • enabled: Включена ли подсказка
  • num_conditions: количество условий

новый

< >

( **kwargs )

Параметры

  • **kwargs — Параметры конфигурации для переопределения в новом экземпляре. Если параметры kwargs не указаны, возвращается точная копия с той же конфигурацией.

Создаёт копию этого экземпляра guider, при необходимости с изменёнными параметрами конфигурации.

Пример:

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

Готовит модели для техники guidance на заданной партии данных. Этот метод следует переопределить в подклассах для реализации конкретной логики подготовки модели.

save_pretrained

< >

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

Параметры

  • save_directory (str или os.PathLike) — Каталог, в котором будет сохранён файл конфигурации JSON (будет создан, если не существует).
  • push_to_hub (bool, необязательный, по умолчанию False) — Указывает, следует ли отправлять вашу модель в Hugging Face Hub после сохранения. Репозиторий, в который вы хотите отправить модель, можно указать с помощью repo_id (по умолчанию используется имя save_directory в вашем пространстве имён).
  • kwargs (dict[str, Any], необязательный) — Дополнительные именованные аргументы, передаваемые в метод push_to_hub().

Сохраните объект конфигурации guider в каталог, чтобы его можно было загрузить повторно с помощью метода класса from_pretrained().

ClassifierFreeGuidance

класс diffusers.ClassifierFreeGuidance

< >

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

Параметры

  • guidance_scale (float, по умолчанию 7.5) — Масштаб CFG, применяемый этим guider на этапе постобработки. Большие значения означают более сильное условие по промпту, но могут снизить качество. Типичный диапазон: 1.0-20.0.
  • guidance_rescale (float, defaults to 0.0) — Rescaling factor to prevent overexposure from high guidance scales. Based on Common Diffusion Noise Schedules and Sample Steps are Flawed. Range: 0.0 (no rescaling) to 1.0 (full rescaling).
  • use_original_formulation (bool, по умолчанию False) — Если True, используется исходная формулировка CFG из статьи. Если False (по умолчанию), используется собственная формулировка diffusers из статьи Imagen.
  • start (float, по умолчанию 0.0) — Доля шагов денойзинга (0.0–1.0), после которой включается CFG. Используйте значение > 0.0, чтобы отключить CFG на ранних шагах денойзинга.
  • stop (float, по умолчанию 1.0) — Доля шагов денойзинга (0.0–1.0), после которой CFG отключается. Используйте значение < 1.0, чтобы отключить CFG на поздних шагах денойзинга.
  • enabled (bool, по умолчанию True) — Включена ли CFG. Установите False, чтобы полностью отключить CFG (используются только условные предсказания).

Реализует Classifier-Free Guidance (CFG) для диффузионных моделей.

Ссылка: https://huggingface.co/papers/2207.12598

CFG повышает качество генерации и соответствие промпту, обучая модели совместно на условных и безусловных данных, а затем комбинируя предсказания во время инференса. Это позволяет находить баланс между качеством (высокое значение guidance) и разнообразием (низкое значение guidance).

Две формулировки CFG:

  1. Исходная формулировка (из статьи):
x_pred = x_cond + guidance_scale * (x_cond - x_uncond)
Moves conditional predictions further from unconditional ones.
  1. Формулировка, нативная для Diffusers (по умолчанию, из статьи 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_original_formulation=True, чтобы переключиться на исходную формулировку.

ClassifierFreeZeroStarGuidance

класс 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 )

Параметры

  • guidance_scale (float, по умолчанию 7.5) — Параметр масштаба для classifier-free guidance. Большие значения приводят к более сильному обусловливанию текстовым промптом, тогда как меньшие значения предоставляют больше свободы при генерации. Слишком высокие значения могут привести к насыщению и ухудшению качества изображения.
  • zero_init_steps (int, по умолчанию 1) — Количество шагов инференса, для которых предсказания шума обнуляются (см. раздел 4.2).
  • guidance_rescale (float, defaults to 0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool, по умолчанию False) — Использовать ли исходную формулировку classifier-free guidance, предложенную в статье. По умолчанию используется нативная для diffusers реализация, которая давно присутствует в кодовой базе. Подробности см. в [~guiders.classifier_free_guidance.ClassifierFreeGuidance].
  • start (float, по умолчанию 0.01) — Доля от общего числа шагов денойзинга, после которой начинается применение guidance.
  • stop (float, по умолчанию 0.2) — Доля от общего числа шагов денойзинга, после которой прекращается применение guidance.

Беспараметрический классификатор Zero(CFG-Zero): https://huggingface.co/papers/2503.18886

Это реализация техники Classifier-Free Zero* guidance, являющейся вариантом classifier-free guidance. Она предполагает нулевую инициализацию предсказаний шума для первых нескольких шагов диффузионного процесса, а также вводит оптимальный коэффициент масштабирования для предсказаний шума, что может помочь в улучшении качества генерируемых изображений.

Авторы статьи предлагают устанавливать нулевую инициализацию на первых 4% шагов инференса.

SkipLayerGuidance

класс 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 )

Параметры

  • guidance_scale (float, по умолчанию 7.5) — Параметр масштаба для classifier-free guidance. Большие значения приводят к более сильному обусловливанию текстовым промптом, тогда как меньшие значения предоставляют больше свободы при генерации. Слишком высокие значения могут привести к насыщению и ухудшению качества изображения.
  • skip_layer_guidance_scale (float, по умолчанию 2.8) — Масштабный параметр для skip layer guidance. При увеличении значений может улучшаться анатомическая и структурная согласованность, однако это также может привести к переэкспозиции и насыщению.
  • skip_layer_guidance_start (float, по умолчанию 0.01) — Доля от общего числа шагов денойзинга, после которой начинается skip layer guidance.
  • skip_layer_guidance_stop (float, по умолчанию 0.2) — Доля от общего числа шагов денойзинга, после которой прекращается skip layer guidance.
  • skip_layer_guidance_layers (int или list[int], необязательный) — Индексы слоев, к которым применяется skip layer guidance. Может быть одним целым числом или списком целых чисел. Если не указано, необходимо предоставить skip_layer_config. Рекомендуемые значения — [7, 8, 9] для Stable Diffusion 3.5 Medium.
  • skip_layer_config (LayerSkipConfig или list[LayerSkipConfig], необязательный) — Конфигурация для skip layer guidance. Может быть одним LayerSkipConfig или списком LayerSkipConfig. Если не задано, необходимо указать skip_layer_guidance_layers.
  • guidance_rescale (float, defaults to 0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool, по умолчанию False) — Использовать ли исходную формулировку classifier-free guidance, предложенную в статье. По умолчанию используется нативная для diffusers реализация, которая давно присутствует в кодовой базе. Подробности см. в [~guiders.classifier_free_guidance.ClassifierFreeGuidance].
  • start (float, по умолчанию 0.01) — Доля от общего числа шагов денойзинга, после которой начинается применение guidance.
  • stop (float, по умолчанию 0.2) — Доля от общего числа шагов денойзинга, после которой прекращается применение guidance.

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

Пространственно-временное управление (STG): https://huggingface.co/papers/2411.18664

SLG был предложен StabilityAI для улучшения структуры и анатомической согласованности генерируемых изображений. Он работает за счёт пропуска прямого прохода указанных блоков трансформера в процессе денойзинга на дополнительном условном батче данных, помимо условного и безусловного батчей, уже используемых в CFG ([~guiders.classifier_free_guidance.ClassifierFreeGuidance]), а затем масштабирования и сдвига предсказаний CFG на основе разницы между предсказаниями условного батча без пропусков и условного батча с пропусками.

Интуиция, лежащая в основе SLG, может быть описана как смещение оценок распределения, предсказанных CFG, в сторону, противоположную худшим версиям оценок условного распределения (поскольку пропуск слоёв эквивалентен использованию худшей версии модели для условного предсказания).

STG представляет собой улучшение и продолжение работы, объединяющее идеи из SLG, PAG и аналогичных методов для повышения качества генерации в моделях диффузии видео.

Дополнительная литература:

Значения skip_layer_guidance_scale, skip_layer_guidance_start и skip_layer_guidance_stop по умолчанию соответствуют рекомендациям StabilityAI для Stable Diffusion 3.5 Medium.

SmoothedEnergyGuidance

класс 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 )

Параметры

  • guidance_scale (float, по умолчанию 7.5) — Параметр масштаба для classifier-free guidance. Большие значения приводят к более сильному обусловливанию текстовым промптом, тогда как меньшие значения предоставляют больше свободы при генерации. Слишком высокие значения могут привести к насыщению и ухудшению качества изображения.
  • seg_guidance_scale (float, по умолчанию 3.0) — Параметр масштаба для сглаженного энергетического руководства. При более высоких значениях может улучшаться согласованность анатомии и структуры, но это также может привести к переэкспозиции и насыщению.
  • seg_blur_sigma (float, по умолчанию 9999999.0) — Степень размытия весов внимания. Если задать значение больше 9999.0, размытие становится бесконечным, что означает равномерные запросы. Экспериментально доказано, что экспоненциальное управление этим параметром эффективно.
  • seg_blur_threshold_inf (float, по умолчанию 9999.0) — Порог, выше которого размытие считается бесконечным.
  • seg_guidance_start (float, по умолчанию 0.0) — Доля от общего числа шагов денойзинга, после которой начинается сглаженное энергетическое руководство.
  • seg_guidance_stop (float, по умолчанию 1.0) — Доля от общего числа шагов денойзинга, после которой останавливается сглаженное энергетическое руководство.
  • seg_guidance_layers (int or list[int], необязательный) — Индексы слоев, к которым применяется сглаженное энергетическое руководство. Может быть одним целым числом или списком целых чисел. Если не указано, необходимо указать seg_guidance_config. Рекомендуемые значения — [7, 8, 9] для Stable Diffusion 3.5 Medium.
  • seg_guidance_config (SmoothedEnergyGuidanceConfig или list[SmoothedEnergyGuidanceConfig], необязательный) — Конфигурация для направляющего слоя сглаженной энергии. Может быть одним SmoothedEnergyGuidanceConfig или списком SmoothedEnergyGuidanceConfig. Если не задан, необходимо указать seg_guidance_layers.
  • guidance_rescale (float, defaults to 0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool, по умолчанию False) — Использовать ли исходную формулировку classifier-free guidance, предложенную в статье. По умолчанию используется нативная для diffusers реализация, которая давно присутствует в кодовой базе. Подробности см. в [~guiders.classifier_free_guidance.ClassifierFreeGuidance].
  • start (float, по умолчанию 0.01) — Доля от общего числа шагов денойзинга, после которой начинается применение guidance.
  • stop (float, по умолчанию 0.2) — Доля от общего числа шагов денойзинга, после которой прекращается применение guidance.

Smoothed Energy Guidance (SEG): https://huggingface.co/papers/2408.00760

В настоящее время SEG поддерживается только как экспериментальная прототипная функция, поэтому реализация может быть изменена в будущем без предупреждения или гарантии воспроизводимости. Данная реализация предполагает:

  • Сгенерированные изображения имеют квадратную форму (высота == ширина)
  • Модель не объединяет различные модальности (например, латентные потоки текста и изображений не объединяются, как в Flux)

PerturbedAttentionGuidance

класс 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 )

Параметры

  • guidance_scale (float, по умолчанию 7.5) — Параметр масштаба для classifier-free guidance. Большие значения приводят к более сильному обусловливанию текстовым промптом, тогда как меньшие значения предоставляют больше свободы при генерации. Слишком высокие значения могут привести к насыщению и ухудшению качества изображения.
  • perturbed_guidance_scale (float, по умолчанию 2.8) — Параметр масштаба для направленного внимания с возмущениями.
  • perturbed_guidance_start (float, по умолчанию 0.01) — Доля от общего числа шагов денойзинга, после которой начинается направляющая с возмущённым вниманием.
  • perturbed_guidance_stop (float, по умолчанию 0.2) — Доля от общего числа шагов денойзинга, после которой прекращается применение направленного внимания с возмущениями.
  • perturbed_guidance_layers (int или list[int], необязательный) — Индексы слоёв, к которым применяется направляющая возмущённого внимания. Может быть одним целым числом или списком целых чисел. Если не указано, необходимо указать perturbed_guidance_config.
  • perturbed_guidance_config (LayerSkipConfig или list[LayerSkipConfig], необязательный) — Конфигурация для направленного внимания с возмущениями. Может быть одним LayerSkipConfig или списком LayerSkipConfig. Если не задан, необходимо указать perturbed_guidance_layers.
  • guidance_rescale (float, defaults to 0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool, по умолчанию False) — Использовать ли исходную формулировку classifier-free guidance, предложенную в статье. По умолчанию используется нативная для diffusers реализация, которая давно присутствует в кодовой базе. Подробности см. в [~guiders.classifier_free_guidance.ClassifierFreeGuidance].
  • start (float, по умолчанию 0.01) — Доля от общего числа шагов денойзинга, после которой начинается применение guidance.
  • stop (float, по умолчанию 0.2) — Доля от общего числа шагов денойзинга, после которой прекращается применение guidance.

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

Интуиция, стоящая за PAG, заключается в том, чтобы отодвигать оценки распределения, предсказанные с помощью CFG, от худших версий оценок условного распределения. PAG стал одной из первых техник, предложивших идею использования худшей версии обученной модели для более эффективного управления самим процессом удаления шума. Метод возмущает оценки внимания в латентном потоке, заменяя матрицу оценок единичной матрицей для избранных слоёв.

Дополнительная литература:

PAG реализован по аналогии с SkipLayerGuidance из-за пересечения параметров конфигурации и деталей реализации.

AdaptiveProjectedGuidance

класс 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 )

Параметры

  • guidance_scale (float, по умолчанию 7.5) — Параметр масштаба для classifier-free guidance. Большие значения приводят к более сильному обусловливанию текстовым промптом, тогда как меньшие значения предоставляют больше свободы при генерации. Слишком высокие значения могут привести к насыщению и ухудшению качества изображения.
  • adaptive_projected_guidance_momentum (float, по умолчанию None) — Параметр импульса для адаптивного проекционного руководства. Отключается, если установлено значение None.
  • adaptive_projected_guidance_rescale (float, по умолчанию 15.0) — Коэффициент масштабирования, применяемый к предсказаниям шума. Используется для улучшения качества изображения и исправления
  • adaptive_projected_guidance_norm_dim (int or tuple[int], необязательный) — Размерность (или размерности), по которым вычисляется норма и проекция APG. Если параметр не указан, используются все размерности, кроме батч-размерности, что сохраняет исходное поведение.
  • guidance_rescale (float, defaults to 0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool, по умолчанию False) — Использовать ли исходную формулировку classifier-free guidance, предложенную в статье. По умолчанию используется нативная для diffusers реализация, которая давно присутствует в кодовой базе. Подробности см. в [~guiders.classifier_free_guidance.ClassifierFreeGuidance].
  • start (float, по умолчанию 0.0) — Доля от общего числа шагов денойзинга, после которой начинается применение гайдинга.
  • stop (float, по умолчанию 1.0) — Доля от общего числа шагов денойзинга, после которой прекращается применение guidance.

Адаптивное проекционное наведение (APG): https://huggingface.co/papers/2410.02416

AutoGuidance

класс 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 )

Параметры

  • guidance_scale (float, по умолчанию 7.5) — Параметр масштаба для classifier-free guidance. Большие значения приводят к более сильному обусловливанию текстовым промптом, тогда как меньшие значения предоставляют больше свободы при генерации. Слишком высокие значения могут привести к насыщению и ухудшению качества изображения.
  • auto_guidance_layers (int или list[int], необязательный) — Индексы слоёв, к которым применяется skip layer guidance. Может быть одним целым числом или списком целых чисел. Если не указано, необходимо указать skip_layer_config.
  • auto_guidance_config (LayerSkipConfig или list[LayerSkipConfig], необязательный) — Конфигурация для skip layer guidance. Может быть одним LayerSkipConfig или списком LayerSkipConfig. Если не задан, необходимо указать skip_layer_guidance_layers.
  • dropout (float, необязательный) — Вероятность dropout для autoguidance на включенных skip-слоях (либо с auto_guidance_layers, либо auto_guidance_config). Если значение не указано, вероятность dropout будет установлена в 1.0.
  • guidance_rescale (float, defaults to 0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool, по умолчанию False) — Использовать ли исходную формулировку classifier-free guidance, предложенную в статье. По умолчанию используется нативная для diffusers реализация, которая давно присутствует в кодовой базе. Подробности см. в [~guiders.classifier_free_guidance.ClassifierFreeGuidance].
  • start (float, по умолчанию 0.0) — Доля от общего числа шагов денойзинга, после которой начинается применение гайдинга.
  • stop (float, по умолчанию 1.0) — Доля от общего числа шагов денойзинга, после которой прекращается применение guidance.

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

TangentialClassifierFreeGuidance

класс diffusers.TangentialClassifierFreeGuidance

< >

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

Параметры

  • guidance_scale (float, по умолчанию 7.5) — Параметр масштаба для classifier-free guidance. Большие значения приводят к более сильному обусловливанию текстовым промптом, тогда как меньшие значения предоставляют больше свободы при генерации. Слишком высокие значения могут привести к насыщению и ухудшению качества изображения.
  • guidance_rescale (float, defaults to 0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool, по умолчанию False) — Использовать ли исходную формулировку classifier-free guidance, предложенную в статье. По умолчанию используется нативная для diffusers реализация, которая давно присутствует в кодовой базе. Подробности см. в [~guiders.classifier_free_guidance.ClassifierFreeGuidance].
  • start (float, по умолчанию 0.0) — Доля от общего числа шагов денойзинга, после которой начинается применение гайдинга.
  • stop (float, по умолчанию 1.0) — Доля от общего числа шагов денойзинга, после которой прекращается применение guidance.

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

LTX2Guidance

класс 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 )

Параметры

  • guidance_scale (float, по умолчанию 1.0) — Масштаб CFG для этой модальности. При значении 1.0 проход CFG полностью пропускается.
  • stg_scale (float, по умолчанию 0.0) — Масштаб пространственно-временного управления для этой модальности. При значении 0.0 проход STG полностью пропускается.
  • modality_scale (float, по умолчанию 1.0) — Масштаб направляющего сигнала для изоляции модальности. При значении 1.0 этот проход полностью пропускается.
  • guidance_rescale (float, defaults to 0.0) — Rescaling factor to prevent overexposure from high guidance scales. Based on Common Diffusion Noise Schedules and Sample Steps are Flawed. Range: 0.0 (no rescaling) to 1.0 (full rescaling).
  • spatio_temporal_guidance_blocks (list[int], необязательный) — Блоки Transformer, которые следует возмущать на проходе STG. То, как используется значение, определяется блоком денойзера: LTX-2 возмущает целые блоки в одном forward-проходе, который обслуживает все модальности, поэтому он читает это значение только из видео-гайдера — установка его в аудио-гайдере не имеет эффекта, а этот гайдер присоединяется к тому же STG-проходу через собственный stg_scale.
  • start (float, по умолчанию 0.0) — Доля шагов денойзинга (0.0–1.0), после которой начинается гайданс.
  • stop (float, по умолчанию 1.0) — Доля шагов денойзинга (0.0–1.0), после которой прекращается применение guidance.
  • enabled (bool, по умолчанию True) — Определяет, применяет ли этот guider вообще какое-либо управление. Если False, выполняется только условный проход.

Одномодалный guider для LTX-2.X. Сочетает до трёх терминов через дельта-формулировку:

  • classifier-free guidance (CFG),
  • пространственно-временное управление (STG), дополнительный проход с набором блоков трансформера, подвергнутых возмущению,
  • руководство по изоляции модальности, дополнительный проход с отключенным кросс-вниманием A2V/V2A.

Один экземпляр управляет одной модальностью, поэтому мультимодальная контрольная точка содержит несколько: LTX-2.X связывает видео-guider с audio_guider, каждый из которых хранит собственные масштабы. Окончательная оценка guidance вычисляется в том пространстве, которое передаёт вызывающая сторона — денуайзер LTX-2 преобразует velocity->x0 перед вызовом этого метода и обратно после него, поэтому forward работает с предсказаниями x0.

В отличие от SkipLayerGuidance, который применяет свои возмущения с помощью хуков, LTX2Guidance ожидает, что его не-CFG возмущения будут настраиваться через аргументы forward-прохода модели (spatio_temporal_guidance_blocks и isolate_modalities в LTX2VideoTransformer3DModel). Блок денуайзера, выполняющий вызов, отвечает за установку этих идентификаторов для каждого прохода; пример использования см. в LTX2LoopDenoiser.

Update on GitHub