Buckets:
| # Гиды | |
| Guiders — это компоненты Modular Diffusers, которые управляют тем, как процесс диффузии направляется во время генерации. Они реализуют различные техники направленного управления для улучшения качества и контроля генерации. | |
| ## BaseGuidance[[diffusers.BaseGuidance]] | |
| #### diffusers.BaseGuidance[[diffusers.BaseGuidance]] | |
| ```python | |
| diffusers.BaseGuidance(start: float = 0.0, stop: float = 1.0, enabled: bool = True) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/guider_utils.py#L38) | |
| Базовый класс, предоставляющий каркас для реализации методов направленного управления. | |
| #### cleanup_models[[diffusers.BaseGuidance.cleanup_models]] | |
| ```python | |
| cleanup_models(denoiser: torch.nn.Module) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/guider_utils.py#L160) | |
| Очищает модели для техники guidance после обработки заданной партии данных. Этот метод следует переопределять в дочерних классах для реализации конкретной логики очистки моделей. Он полезен для удаления хуков или других модификаций состояния, внесённых во время `prepare_models`. | |
| #### from_pretrained[[diffusers.BaseGuidance.from_pretrained]] | |
| ```python | |
| from_pretrained(pretrained_model_name_or_path: str | os.PathLike | None = None, subfolder: str | None = None, return_unused_kwargs = False, **kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/guider_utils.py#L289) | |
| **Параметры:** | |
| pretrained_model_name_or_path (`str` или `os.PathLike`, *необязательный*) : Может быть одним из: - строка, *идентификатор модели* (например, `google/ddpm-celebahq-256`) предобученной модели, размещенной на Hub. - путь к *каталогу* (например, `./my_model_directory`), содержащему конфигурацию guider, сохраненную с помощью [save_pretrained()](/docs/diffusers/v0.43.0/ru/api/modular_diffusers/guiders#diffusers.BaseGuidance.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`, *необязательный*, по умолчанию `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. | |
| > [!TIP] > Для использования частных или [gated models](https://huggingface.co/docs/hub/models-gated#gated-models) выполните вход | |
| с помощью `hf > auth login`. Вы также можете активировать специальный режим > ["offline-mode"](https://huggingface.co/diffusers/installation.html#offline-mode), чтобы использовать этот метод в > среде с файрволом. | |
| #### get_state[[diffusers.BaseGuidance.get_state]] | |
| ```python | |
| get_state() | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/guider_utils.py#L106) | |
| Возвращает текущее состояние техники guidance в виде словаря. Переменные состояния будут включены в метод __repr__. Возвращает: `dict[str, Any]`: словарь, содержащий текущие переменные состояния, в том числе: | |
| - step: текущий шаг инференса | |
| - num_inference_steps: Общее количество шагов инференса | |
| - timestep: текущий тензор шага | |
| - count_prepared: количество вызовов prepare_models | |
| - enabled: Включена ли подсказка | |
| - num_conditions: количество условий | |
| #### new[[diffusers.BaseGuidance.new]] | |
| ```python | |
| new(**kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/guider_utils.py#L69) | |
| **Параметры:** | |
| - ****kwargs** : Параметры конфигурации для переопределения в новом экземпляре. Если параметры kwargs не указаны, возвращается точная копия с той же конфигурацией. | |
| **Возвращает:** | |
| Новый экземпляр guider с той же (или обновленной) конфигурацией. | |
| Создаёт копию этого экземпляра guider, при необходимости с изменёнными параметрами конфигурации. | |
| Пример: | |
| ```python | |
| # 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[[diffusers.BaseGuidance.prepare_models]] | |
| ```python | |
| prepare_models(denoiser: torch.nn.Module) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/guider_utils.py#L153) | |
| Готовит модели для техники guidance на заданной партии данных. Этот метод следует переопределять в подклассах для реализации конкретной логики подготовки модели. | |
| #### save_pretrained[[diffusers.BaseGuidance.save_pretrained]] | |
| ```python | |
| save_pretrained(save_directory: str | os.PathLike, push_to_hub: bool = False, **kwargs) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/guider_utils.py#L350) | |
| **Параметры:** | |
| 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()](/docs/diffusers/v0.43.0/ru/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub). | |
| Сохраните объект конфигурации guider в каталог, чтобы его можно было загрузить повторно с помощью метода класса [from_pretrained()](/docs/diffusers/v0.43.0/ru/api/modular_diffusers/guiders#diffusers.BaseGuidance.from_pretrained). | |
| ## ClassifierFreeGuidance[[diffusers.ClassifierFreeGuidance]] | |
| #### diffusers.ClassifierFreeGuidance[[diffusers.ClassifierFreeGuidance]] | |
| ```python | |
| diffusers.ClassifierFreeGuidance(guidance_scale: float = 7.5, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/classifier_free_guidance.py#L30) | |
| **Параметры:** | |
| 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](https://huggingface.co/papers/2305.08891). 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) | |
| ``` | |
| Увеличивает расстояние между условными и безусловными предсказаниями. | |
| 2. **Формулировка, нативная для Diffusers** (по умолчанию, из статьи Imagen): | |
| ``` | |
| x_pred = x_uncond + guidance_scale * (x_cond - x_uncond) | |
| ``` | |
| Сдвигает безусловные предсказания в сторону условных, фактически подавляя негативные признаки (например, «плохое качество», «водяные знаки»). Теоретически эквивалентно, но более интуитивно понятно. | |
| Используйте `use_original_formulation=True`, чтобы переключиться на исходную формулировку. | |
| ## ClassifierFreeZeroStarGuidance[[diffusers.ClassifierFreeZeroStarGuidance]] | |
| #### diffusers.ClassifierFreeZeroStarGuidance[[diffusers.ClassifierFreeZeroStarGuidance]] | |
| ```python | |
| diffusers.ClassifierFreeZeroStarGuidance(guidance_scale: float = 7.5, zero_init_steps: int = 1, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/classifier_free_zero_star_guidance.py#L30) | |
| **Параметры:** | |
| guidance_scale (`float`, по умолчанию `7.5`) : Параметр масштаба для classifier-free guidance. Более высокие значения приводят к более сильному обусловливанию текстовым промптом, тогда как более низкие значения предоставляют больше свободы при генерации. Высокие значения могут привести к насыщению и ухудшению качества изображения. | |
| zero_init_steps (`int`, по умолчанию `1`) : Количество шагов инференса, для которых предсказания шума обнуляются (см. раздел 4.2). | |
| guidance_rescale (`float`, по умолчанию `0.0`) : Коэффициент масштабирования, применяемый к предсказаниям шума. Используется для улучшения качества изображения и устранения переэкспозиции. Основано на разделе 3.4 статьи [Общие расписания шума диффузии и шаги выборки имеют недостатки](https://huggingface.co/papers/2305.08891). | |
| use_original_formulation (`bool`, по умолчанию `False`) : Использовать ли исходную формулировку classifier-free guidance, предложенную в статье. По умолчанию используется нативная для diffusers реализация, которая давно присутствует в кодовой базе. Подробнее см. [~guiders.classifier_free_guidance.ClassifierFreeGuidance]. | |
| start (`float`, по умолчанию `0.01`) : Доля от общего числа шагов денойзинга, после которой начинается применение гайдинга. | |
| stop (`float`, по умолчанию `0.2`) : Доля от общего числа шагов денойзинга, после которой прекращается применение гайдинга. | |
| Беспараметрический Zero* (CFG-Zero*): https://huggingface.co/papers/2503.18886 | |
| Это реализация техники Classifier-Free Zero* guidance, являющейся вариантом classifier-free guidance. Она предполагает нулевую инициализацию предсказаний шума для первых нескольких шагов диффузионного процесса, а также вводит оптимальный коэффициент масштабирования для предсказаний шума, что может помочь в улучшении качества генерируемых изображений. | |
| Авторы статьи предлагают устанавливать нулевую инициализацию на первых 4% шагов инференса. | |
| ## SkipLayerGuidance[[diffusers.SkipLayerGuidance]] | |
| #### diffusers.SkipLayerGuidance[[diffusers.SkipLayerGuidance]] | |
| ```python | |
| diffusers.SkipLayerGuidance(guidance_scale: float = 7.5, skip_layer_guidance_scale: float = 2.8, skip_layer_guidance_start: float = 0.01, skip_layer_guidance_stop: float = 0.2, skip_layer_guidance_layers: int | list[int] | None = None, skip_layer_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = None, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/skip_layer_guidance.py#L32) | |
| **Параметры:** | |
| 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]`, *необязательно*) : Конфигурация для направляющих пропускных слоёв. Может быть одним `LayerSkipConfig` или списком `LayerSkipConfig`. Если не указано, необходимо указать `skip_layer_guidance_layers`. | |
| guidance_rescale (`float`, по умолчанию `0.0`) : Коэффициент масштабирования, применяемый к предсказаниям шума. Используется для улучшения качества изображения и устранения переэкспозиции. Основано на разделе 3.4 статьи [Общие расписания шума диффузии и шаги выборки имеют недостатки](https://huggingface.co/papers/2305.08891). | |
| use_original_formulation (`bool`, по умолчанию `False`) : Использовать ли исходную формулировку classifier-free guidance, предложенную в статье. По умолчанию используется нативная для diffusers реализация, которая давно присутствует в кодовой базе. Подробнее см. [~guiders.classifier_free_guidance.ClassifierFreeGuidance]. | |
| start (`float`, по умолчанию `0.01`) : Доля от общего числа шагов денойзинга, после которой начинается применение гайдинга. | |
| stop (`float`, по умолчанию `0.2`) : Доля от общего числа шагов денойзинга, после которой прекращается применение гайдинга. | |
| 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 и аналогичных методов для повышения качества генерации в диффузионных моделях видео. | |
| Дополнительная литература: | |
| - [Управление диффузионной моделью с помощью её плохой версии](https://huggingface.co/papers/2406.02507) | |
| Значения для `skip_layer_guidance_scale`, `skip_layer_guidance_start` и `skip_layer_guidance_stop` по умолчанию соответствуют рекомендациям StabilityAI для Stable Diffusion 3.5 Medium. | |
| ## SmoothedEnergyGuidance[[diffusers.SmoothedEnergyGuidance]] | |
| #### diffusers.SmoothedEnergyGuidance[[diffusers.SmoothedEnergyGuidance]] | |
| ```python | |
| diffusers.SmoothedEnergyGuidance(guidance_scale: float = 7.5, seg_guidance_scale: float = 2.8, seg_blur_sigma: float = 9999999.0, seg_blur_threshold_inf: float = 9999.0, seg_guidance_start: float = 0.0, seg_guidance_stop: float = 1.0, seg_guidance_layers: int | list[int] | None = None, seg_guidance_config: SmoothedEnergyGuidanceConfig | list[SmoothedEnergyGuidanceConfig] = None, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/smoothed_energy_guidance.py#L32) | |
| **Параметры:** | |
| 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` или `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`, по умолчанию `0.0`) : Коэффициент масштабирования, применяемый к предсказаниям шума. Используется для улучшения качества изображения и устранения переэкспозиции. Основано на разделе 3.4 статьи [Общие расписания шума диффузии и шаги выборки имеют недостатки](https://huggingface.co/papers/2305.08891). | |
| use_original_formulation (`bool`, по умолчанию `False`) : Использовать ли исходную формулировку classifier-free guidance, предложенную в статье. По умолчанию используется нативная для diffusers реализация, которая давно присутствует в кодовой базе. Подробнее см. [~guiders.classifier_free_guidance.ClassifierFreeGuidance]. | |
| start (`float`, по умолчанию `0.01`) : Доля от общего числа шагов денойзинга, после которой начинается применение гайдинга. | |
| stop (`float`, по умолчанию `0.2`) : Доля от общего числа шагов денойзинга, после которой прекращается применение гайдинга. | |
| Smoothed Energy Guidance (SEG): https://huggingface.co/papers/2408.00760 | |
| В настоящее время SEG поддерживается только как экспериментальная прототипная функция, поэтому реализация может быть изменена в будущем без предупреждения и без гарантии воспроизводимости. Данная реализация предполагает: | |
| - Сгенерированные изображения имеют квадратную форму (высота == ширина) | |
| - Модель не объединяет различные модальности (например, латентные потоки текста и изображений не объединяются, как в Flux). | |
| ## PerturbedAttentionGuidance[[diffusers.PerturbedAttentionGuidance]] | |
| #### diffusers.PerturbedAttentionGuidance[[diffusers.PerturbedAttentionGuidance]] | |
| ```python | |
| diffusers.PerturbedAttentionGuidance(guidance_scale: float = 7.5, perturbed_guidance_scale: float = 2.8, perturbed_guidance_start: float = 0.01, perturbed_guidance_stop: float = 0.2, perturbed_guidance_layers: int | list[int] | None = None, perturbed_guidance_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = None, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/perturbed_attention_guidance.py#L36) | |
| **Параметры:** | |
| 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`, по умолчанию `0.0`) : Коэффициент масштабирования, применяемый к предсказаниям шума. Используется для улучшения качества изображения и устранения переэкспозиции. Основано на разделе 3.4 статьи [Общие расписания шума диффузии и шаги выборки имеют недостатки](https://huggingface.co/papers/2305.08891). | |
| use_original_formulation (`bool`, по умолчанию `False`) : Использовать ли исходную формулировку classifier-free guidance, предложенную в статье. По умолчанию используется нативная для diffusers реализация, которая давно присутствует в кодовой базе. Подробнее см. [~guiders.classifier_free_guidance.ClassifierFreeGuidance]. | |
| start (`float`, по умолчанию `0.01`) : Доля от общего числа шагов денойзинга, после которой начинается применение гайдинга. | |
| stop (`float`, по умолчанию `0.2`) : Доля от общего числа шагов денойзинга, после которой прекращается применение гайдинга. | |
| Perturbed Attention Guidance (PAG): https://huggingface.co/papers/2403.17377 | |
| Интуиция, стоящая за PAG, заключается в том, чтобы сдвигать оценки предсказанного распределения CFG ещё дальше от худших версий оценок условного распределения. PAG стал одной из первых техник, введших идею использования худшей версии обученной модели для более эффективного управления самим процессом удаления шума. Метод возмущает оценки внимания в латентном потоке, заменяя матрицу оценок единичной матрицей для избранных слоёв. | |
| Дополнительная литература: | |
| - [Управление диффузионной моделью с помощью её плохой версии](https://huggingface.co/papers/2406.02507) | |
| PAG реализован по аналогии с SkipLayerGuidance из-за совпадения параметров конфигурации и деталей реализации. | |
| ## AdaptiveProjectedGuidance[[diffusers.AdaptiveProjectedGuidance]] | |
| #### diffusers.AdaptiveProjectedGuidance[[diffusers.AdaptiveProjectedGuidance]] | |
| ```python | |
| diffusers.AdaptiveProjectedGuidance(guidance_scale: float = 7.5, adaptive_projected_guidance_momentum: float | None = None, adaptive_projected_guidance_rescale: float = 15.0, adaptive_projected_guidance_norm_dim: int | tuple[int, ...] | None = None, eta: float = 1.0, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/adaptive_projected_guidance.py#L30) | |
| **Параметры:** | |
| 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` или `tuple[int]`, *необязательный*) : Размерность (или размерности), по которым вычисляется норма и проекция APG. Если не указано, используются все размерности, кроме batch, что сохраняет исходное поведение. | |
| guidance_rescale (`float`, по умолчанию `0.0`) : Коэффициент масштабирования, применяемый к предсказаниям шума. Используется для улучшения качества изображения и устранения переэкспозиции. Основано на разделе 3.4 статьи [Общие расписания шума диффузии и шаги выборки имеют недостатки](https://huggingface.co/papers/2305.08891). | |
| use_original_formulation (`bool`, по умолчанию `False`) : Использовать ли исходную формулировку classifier-free guidance, предложенную в статье. По умолчанию используется нативная для diffusers реализация, которая давно присутствует в кодовой базе. Подробнее см. [~guiders.classifier_free_guidance.ClassifierFreeGuidance]. | |
| start (`float`, по умолчанию `0.0`) : Доля от общего числа шагов денойзинга, после которой начинается применение гайдинга. | |
| stop (`float`, по умолчанию `1.0`) : Доля от общего числа шагов денойзинга, после которой прекращается применение гайдинга. | |
| Адаптивное проекционное наведение (APG): https://huggingface.co/papers/2410.02416 | |
| ## AutoGuidance[[diffusers.AutoGuidance]] | |
| #### diffusers.AutoGuidance[[diffusers.AutoGuidance]] | |
| ```python | |
| diffusers.AutoGuidance(guidance_scale: float = 7.5, auto_guidance_layers: int | list[int] | None = None, auto_guidance_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = None, dropout: float | None = None, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/auto_guidance.py#L32) | |
| **Параметры:** | |
| 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]`, *необязательно*) : Конфигурация для направляющих пропускных слоёв. Может быть одним `LayerSkipConfig` или списком `LayerSkipConfig`. Если не указано, необходимо указать `skip_layer_guidance_layers`. | |
| dropout (`float`, *optional*) : Вероятность dropout для autoguidance на включенных skip-слоях (либо с `auto_guidance_layers`, либо с `auto_guidance_config`). Если не указано, вероятность dropout будет установлена в 1.0. | |
| guidance_rescale (`float`, по умолчанию `0.0`) : Коэффициент масштабирования, применяемый к предсказаниям шума. Используется для улучшения качества изображения и устранения переэкспозиции. Основано на разделе 3.4 статьи [Общие расписания шума диффузии и шаги выборки имеют недостатки](https://huggingface.co/papers/2305.08891). | |
| use_original_formulation (`bool`, по умолчанию `False`) : Использовать ли исходную формулировку classifier-free guidance, предложенную в статье. По умолчанию используется нативная для diffusers реализация, которая давно присутствует в кодовой базе. Подробнее см. [~guiders.classifier_free_guidance.ClassifierFreeGuidance]. | |
| start (`float`, по умолчанию `0.0`) : Доля от общего числа шагов денойзинга, после которой начинается применение гайдинга. | |
| stop (`float`, по умолчанию `1.0`) : Доля от общего числа шагов денойзинга, после которой прекращается применение гайдинга. | |
| AutoGuidance: https://huggingface.co/papers/2406.02507 | |
| ## TangentialClassifierFreeGuidance[[diffusers.TangentialClassifierFreeGuidance]] | |
| #### diffusers.TangentialClassifierFreeGuidance[[diffusers.TangentialClassifierFreeGuidance]] | |
| ```python | |
| diffusers.TangentialClassifierFreeGuidance(guidance_scale: float = 7.5, guidance_rescale: float = 0.0, use_original_formulation: bool = False, start: float = 0.0, stop: float = 1.0, enabled: bool = True) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/tangential_classifier_free_guidance.py#L30) | |
| **Параметры:** | |
| guidance_scale (`float`, по умолчанию `7.5`) : Параметр масштаба для classifier-free guidance. Более высокие значения приводят к более сильному обусловливанию текстовым промптом, тогда как более низкие значения предоставляют больше свободы при генерации. Высокие значения могут привести к насыщению и ухудшению качества изображения. | |
| guidance_rescale (`float`, по умолчанию `0.0`) : Коэффициент масштабирования, применяемый к предсказаниям шума. Используется для улучшения качества изображения и устранения переэкспозиции. Основано на разделе 3.4 статьи [Общие расписания шума диффузии и шаги выборки имеют недостатки](https://huggingface.co/papers/2305.08891). | |
| use_original_formulation (`bool`, по умолчанию `False`) : Использовать ли исходную формулировку classifier-free guidance, предложенную в статье. По умолчанию используется нативная для diffusers реализация, которая давно присутствует в кодовой базе. Подробнее см. [~guiders.classifier_free_guidance.ClassifierFreeGuidance]. | |
| start (`float`, по умолчанию `0.0`) : Доля от общего числа шагов денойзинга, после которой начинается применение гайдинга. | |
| stop (`float`, по умолчанию `1.0`) : Доля от общего числа шагов денойзинга, после которой прекращается применение гайдинга. | |
| Tangential Classifier Free Guidance (TCFG): https://huggingface.co/papers/2503.18137 | |
| ## LTX2Guidance[[diffusers.LTX2Guidance]] | |
| #### diffusers.LTX2Guidance[[diffusers.LTX2Guidance]] | |
| ```python | |
| diffusers.LTX2Guidance(guidance_scale: float = 1.0, stg_scale: float = 0.0, modality_scale: float = 1.0, guidance_rescale: float = 0.0, spatio_temporal_guidance_blocks: list[int] | None = None, start: float = 0.0, stop: float = 1.0, enabled: bool = True) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/guiders/ltx2_guidance.py#L28) | |
| **Параметры:** | |
| 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](https://huggingface.co/papers/2305.08891). Range: 0.0 (no rescaling) to 1.0 (full rescaling). | |
| spatio_temporal_guidance_blocks (`list[int]`, *optional*) : Блоки трансформера, которые следует возмущать на проходе STG. Способ использования значения определяется блоком денойзера: LTX-2 возмущает целые блоки в одном прямом проходе, который обслуживает все модальности, поэтому читает это значение только из видео-гайдера — установка его в аудио-гайдере не имеет эффекта, а этот гайдер присоединяется к тому же прямому проходу 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`. | |
Xet Storage Details
- Size:
- 51.8 kB
- Xet hash:
- 5ded6854b3e1a418c15f1e6a6346dd2d9195b487f3e56d2f8b74e1df46ba0002
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.