Diffusers documentation

HeliosScheduler

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

HeliosScheduler

HeliosScheduler основан на пирамидальном flow-matching-сэмплировании, представленном в Helios.

HeliosScheduler

класс diffusers.HeliosScheduler

< >

( num_train_timesteps: int = 1000shift: float = 1.0stages: int = 3stage_range: list = [0, 0.3333333333333333, 0.6666666666666666, 1]gamma: float = 0.3333333333333333thresholding: bool = Falseprediction_type: str = 'flow_prediction'solver_order: int = 2predict_x0: bool = Truesolver_type: str = 'bh2'lower_order_final: bool = Truedisable_corrector: list[int] = []solver_p: SchedulerMixin = Noneuse_flow_sigmas: bool = Truescheduler_type: str = 'unipc'use_dynamic_shifting: bool = Falsetime_shift_type: typing.Literal['exponential', 'linear'] = 'exponential' )

convert_model_output

< >

( model_output: Tensor*argssample: Tensor = Nonesigma: Tensor = None**kwargs ) → torch.Tensor

Параметры

  • model_output (torch.Tensor) — Прямой вывод из обученной диффузионной модели.
  • timestep (int) — Текущий дискретный шаг в цепочке диффузии.
  • sample (torch.Tensor) — Текущий экземпляр сэмпла, созданный процессом диффузии.
  • sigma (torch.Tensor, необязательный) — Сигма текущего шага в расписании шума.

Возвращает

torch.Tensor

Вывод сконвертированной модели.

Преобразуйте выход модели в соответствующий тип, необходимый для алгоритма UniPC.

init_sigmas

< >

( )

инициализировать глобальные шаги и сигмы

init_sigmas_for_each_stage

< >

( )

Инициализация шагов времени для каждого этапа

multistep_uni_c_bh_update

< >

( this_model_output: Tensor*argslast_sample: Tensor = Nonethis_sample: Tensor = Noneorder: int = Nonesigma_before: Tensor = Nonesigma: Tensor = None**kwargs ) → torch.Tensor

Параметры

  • this_model_output (torch.Tensor) — Выход модели в точке x_t.
  • this_timestep (int) — Текущий шаг t.
  • last_sample (torch.Tensor) — Сгенерированный образец перед последним предиктором x_{t-1}.
  • this_sample (torch.Tensor) — Сгенерированный образец после последнего предиктора x_{t}.
  • order (int) — Значение p для UniC-p на данном шаге. Эффективный порядок точности должен быть равен order + 1.
  • sigma_before (torch.Tensor, необязательный) — Сигма предыдущего шага в расписании шума.
  • sigma (torch.Tensor, необязательный) — Сигма текущего шага в расписании шума.

Возвращает

torch.Tensor

Скорректированный тензор образца на текущем шаге времени.

Один шаг для UniC (версия B(h)).

multistep_uni_p_bh_update

< >

( model_output: Tensor*argssample: Tensor = Noneorder: int = Nonesigma: Tensor = Nonesigma_next: Tensor = None**kwargs ) → torch.Tensor

Параметры

  • model_output (torch.Tensor) — Прямой вывод обученной диффузионной модели на текущем шаге.
  • prev_timestep (int) — Предыдущий дискретный шаг времени в цепочке диффузии.
  • sample (torch.Tensor) — Текущий экземпляр сэмпла, созданный процессом диффузии.
  • order (int) — Порядок UniP на этом шаге времени (соответствует p в UniPC-p).
  • sigma (torch.Tensor, необязательный) — Сигма текущего шага в расписании шума.
  • sigma_next (torch.Tensor, необязательный) — Сигма следующего шага в расписании шума.

Возвращает

torch.Tensor

Тензор выборки на предыдущем шаге.

Один шаг для UniP (версия B(h)). В качестве альтернативы, если указано, используется self.solver_p.

set_begin_index

< >

( begin_index: int = 0 )

Параметры

  • begin_index (int) — Начальный индекс для планировщика.

Устанавливает начальный индекс для планировщика. Эта функция должна выполняться из конвейера перед инференсом.

set_timesteps

< >

( num_inference_steps: intstage_index: int | None = Nonedevice: typing.Union[str, torch.device] = Nonesigmas: bool | None = Nonemu: bool | None = Noneis_amplify_first_chunk: bool = False )

Настройка шагов и сигм для каждого этапа

time_shift

< >

( mu: floatsigma: floatt: Tensor ) → torch.Tensor

Параметры

  • mu (float) — Параметр mu для сдвига времени.
  • sigma (float) — Параметр sigma для сдвига времени.
  • t (torch.Tensor) — Входные временные шаги.

Возвращает

torch.Tensor

Сдвинутые по времени шаги.

Примените сдвиг по времени к сигмам.

scheduling_helios

Update on GitHub