Diffusers documentation

PiflowScheduler

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

PiflowScheduler

PiflowScheduler — это планировщик с малым числом шагов для дистиллированных контрольных точек Kandinsky 6, как для модели текст/изображение-в-видео-и-аудио, так и для модели супер-разрешения видео, а также для дистиллированных контрольных точек Kandinsky S2V 1.0. Он реализует π-Flow: трансформер предсказывает n_grid оценки денуазинга на каждый латентный канал в небольшом количестве точек сетки, а планировщик интегрирует политику без сети между ними.

Референсная реализация доступна по адресу Lakonik/LakonLab.

PiflowScheduler

класс diffusers.PiflowScheduler

< >

( num_train_timesteps: int = 1000shift: float = 5.0n_grid: int = 10eps: float = 1e-06final_step_size_scale: float = 0.5num_policy_substeps: int = 128 )

Параметры

  • num_train_timesteps (int, необязательный, по умолчанию 1000) — Количество шагов диффузии при обучении.
  • shift (float, необязательный, по умолчанию 5.0) — Сдвиг временного шага flow-matching.
  • n_grid (int, необязательный, по умолчанию 10) — количество предсказаний в расширенном выводе модели.
  • eps (float, необязательный, по умолчанию 1e-6) — минимальный шаг и знаменатель политики.
  • final_step_size_scale (float, необязательный, по умолчанию 0.5) — Относительный размер последнего сегмента сырых временных шагов.
  • num_policy_substeps (int, необязательный, по умолчанию 128) — Максимальное количество подшагов интеграции политики на единицу исходного временного шага.

Многошаговый планировщик PiFlow для диффузионных трансформеров с расширенным выходом.

PiFlow оценивает модель денойзинга в небольшом количестве точек сетки и интегрирует политику без сети между этими оценками. Планировщик предназначен для дистиллированных чекпоинтов Kandinsky 6, включая основную модель видео/аудио и модель супер-разрешения видео. Выход их модели содержит n_grid предсказаний на канал каждого образца.

Этот планировщик наследуется от SchedulerMixin и ConfigMixin. Общую документацию по методам, реализованным для всех планировщиков (загрузка, сохранение и т. д.), см. в документации суперкласса.

set_timesteps

< >

( num_inference_steps: int | None = Nonedevice: typing.Union[str, torch.device, NoneType] = Nonesigmas: list[float] | None = Nonemu: float | None = Nonetimesteps: list[float] | None = None )

Параметры

  • num_inference_steps (int) — Количество оценок модели.
  • device (str или torch.device, необязательный) — Устройство для расписания.
  • sigmas (list[float], необязательный) — Неподдерживаемый пользовательский график сигм.
  • mu (float, необязательный) — Неподдерживаемый параметр динамического сдвига.
  • timesteps (list[float], необязательный) — Неподдерживаемое пользовательское расписание шагов.

Установите расписание шагов времени дистиллированной PiFlow.

шаг

< >

( model_output: FloatTensortimestep: typing.Union[float, torch.FloatTensor]sample: FloatTensorreturn_dict: bool = True ) → [PiflowSchedulerOutput] or tuple

Параметры

  • model_output (torch.FloatTensor) — расширенный вывод модели, содержащий n_grid предсказаний на каждый канал каждого примера.
  • timestep (float или torch.FloatTensor) — Текущий шаг планировщика.
  • sample (torch.FloatTensor) — Текущий зашумленный образец.
  • return_dict (bool, optional, по умолчанию True) — возвращать ли [PiflowSchedulerOutput].

Возвращает

[PiflowSchedulerOutput] или tuple

Обновленный пример.

Сделайте один шаг вперед, интегрировав политику PiFlow.

PiflowSchedulerOutput

класс diffusers.schedulers.scheduling_piflow.PiflowSchedulerOutput

< >

( prev_sample: Tensor )

Параметры

  • prev_sample (torch.Tensor) — Вычисленная выборка в следующей точке сетки PiFlow. Должна использоваться как вход для следующего шага денойзинга.

Класс результата для вывода функции step планировщика.

Update on GitHub