Diffusers documentation

PiflowScheduler

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