Diffusers documentation
Гиды
Гиды
Guiders — это компоненты Modular Diffusers, которые управляют тем, как процесс диффузии направляется во время генерации. Они реализуют различные техники направленного управления для улучшения качества и контроля генерации.
BaseGuidance
Базовый класс, предоставляющий каркас для реализации методов направленного управления.
Очищает модели для техники guidance после обработки заданной партии данных. Этот метод следует переопределять в дочерних классах для реализации конкретной логики очистки моделей. Он полезен для удаления хуков или других изменений состояния, внесённых во время prepare_models.
from_pretrained
< source >( 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. Также можно активировать специальный режим > «офлайн», чтобы использовать этот метод в > среде с файрволом.
Возвращает текущее состояние техники guidance в виде словаря. Переменные состояния будут включены в метод repr. Возвращает: dict[str, Any]: словарь, содержащий текущие переменные состояния, в том числе:
- step: текущий шаг инференса
- num_inference_steps: Общее количество шагов инференса
- timestep: текущий тензор шага
- count_prepared: количество вызовов prepare_models
- enabled: Включена ли подсказка
- num_conditions: количество условий
новый
< source >( **kwargs )
Создаёт копию этого экземпляра guider, при необходимости с изменёнными параметрами конфигурации.
Готовит модели для техники guidance на заданной партии данных. Этот метод следует переопределить в подклассах для реализации конкретной логики подготовки модели.
save_pretrained
< source >( 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
< source >( 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 to0.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:
Moves conditional predictions further from unconditional ones.- Формулировка, нативная для Diffusers (по умолчанию, из статьи Imagen):
x_pred = x_uncond + guidance_scale * (x_cond - x_uncond)Используйте use_original_formulation=True, чтобы переключиться на исходную формулировку.
ClassifierFreeZeroStarGuidance
класс 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 )
Параметры
- guidance_scale (
float, по умолчанию7.5) — Параметр масштаба для classifier-free guidance. Большие значения приводят к более сильному обусловливанию текстовым промптом, тогда как меньшие значения предоставляют больше свободы при генерации. Слишком высокие значения могут привести к насыщению и ухудшению качества изображения. - zero_init_steps (
int, по умолчанию1) — Количество шагов инференса, для которых предсказания шума обнуляются (см. раздел 4.2). - guidance_rescale (
float, defaults to0.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
< 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 )
Параметры
- 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 to0.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
< 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 )
Параметры
- 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 (
intorlist[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 to0.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
< 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 )
Параметры
- 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 to0.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
< 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 )
Параметры
- 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 (
intortuple[int], необязательный) — Размерность (или размерности), по которым вычисляется норма и проекция APG. Если параметр не указан, используются все размерности, кроме батч-размерности, что сохраняет исходное поведение. - guidance_rescale (
float, defaults to0.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
< 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 )
Параметры
- 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 to0.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
< source >( 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 to0.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
< 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 )
Параметры
- 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 to0.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.