Diffusers documentation
PiflowScheduler
PiflowScheduler
PiflowScheduler — это планировщик с малым числом шагов для дистиллированных контрольных точек Kandinsky 6, как для модели текст/изображение-в-видео-и-аудио, так и для модели супер-разрешения видео, а также для дистиллированных контрольных точек Kandinsky S2V 1.0. Он реализует π-Flow: трансформер предсказывает n_grid оценки денуазинга на каждый латентный канал в небольшом количестве точек сетки, а планировщик интегрирует политику без сети между ними.
Референсная реализация доступна по адресу Lakonik/LakonLab.
PiflowScheduler
класс diffusers.PiflowScheduler
< source >( 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
< source >( 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.
шаг
< source >( 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
< source >( prev_sample: Tensor )
Класс результата для вывода функции step планировщика.