Diffusers documentation

HeliosScheduler

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

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 = []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