Diffusers documentation
FlowMatchHeunDiscreteScheduler
FlowMatchHeunDiscreteScheduler
FlowMatchHeunDiscreteScheduler основан на сэмплировании flow-matching, представленном в EDM.
FlowMatchHeunDiscreteScheduler
класс diffusers.FlowMatchHeunDiscreteScheduler
< source >( num_train_timesteps: int = 1000shift: float = 1.0 )
Планировщик Хуна.
Эта модель наследуется от SchedulerMixin и ConfigMixin. Общую документацию по методам, которые библиотека реализует для всех планировщиков (например, загрузка и сохранение), см. в документации суперкласса.
index_for_timestep
< source >( timestep: typing.Union[float, torch.FloatTensor]schedule_timesteps: typing.Optional[torch.FloatTensor] = None ) → int
Параметры
- timestep (
floatилиtorch.FloatTensor) — Значение шага, которое нужно найти в расписании. - schedule_timesteps (
torch.FloatTensor, необязательный) — Расписание временных шагов, в котором выполняется поиск. ЕслиNone, используетсяself.timesteps.
Возвращает
int
Индекс шага времени в расписании.
Найдите индекс заданного шага времени в расписании шагов времени.
scale_noise
< source >( sample: FloatTensortimestep: typing.Union[float, torch.FloatTensor]noise: FloatTensor ) → torch.FloatTensor
Прямой процесс в flow-matching
set_begin_index
< source >( begin_index: int = 0 )
Устанавливает начальный индекс для планировщика. Эта функция должна выполняться из конвейера перед инференсом.
set_timesteps
< source >( num_inference_steps: intdevice: typing.Union[str, torch.device] = None )
Устанавливает дискретные временные шаги, используемые для цепочки диффузии (выполняется перед инференсом).
шаг
< source >( model_output: FloatTensortimestep: typing.Union[float, torch.FloatTensor]sample: FloatTensors_churn: float = 0.0s_tmin: float = 0.0s_tmax: float = infs_noise: float = 1.0generator: typing.Optional[torch.Generator] = Nonereturn_dict: bool = True ) → FlowMatchHeunDiscreteSchedulerOutput or tuple
Параметры
- model_output (
torch.FloatTensor) — Прямой вывод из обученной диффузионной модели. - timestep (
floatилиtorch.FloatTensor) — Текущий дискретный шаг в цепочке диффузии. - sample (
torch.FloatTensor) — Текущий экземпляр сэмпла, созданный процессом диффузии. - s_churn (
float) — Параметр стохастичности, управляющий количеством шума, добавляемого во время выборки. Большие значения увеличивают случайность. - s_tmin (
float) — Минимальный порог шага для применения стохастичности. Шум добавляется только к шагам, превышающим это значение. - s_tmax (
float) — Максимальный порог шага для применения стохастичности. Шум добавляется только к шагам, значения которых меньше этого порога. - s_noise (
float, по умолчанию 1.0) — Коэффициент масштабирования шума, добавляемого к образцу. - generator (
torch.Generator, необязательный) — Генератор случайных чисел. - return_dict (
bool) — Возвращать кортежFlowMatchHeunDiscreteSchedulerOutputили нет.
Возвращает
FlowMatchHeunDiscreteSchedulerOutput или tuple
Если True для return_dict,
возвращается FlowMatchHeunDiscreteSchedulerOutput,
иначе возвращается кортеж, первым элементом которого является тензор сэмпла.
Предскажите образец из предыдущего шага времени, обращая SDE. Эта функция распространяет процесс диффузии от выходов обученной модели (чаще всего — предсказанного шума).