Diffusers documentation

DDIMInverseScheduler

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

DDIMInverseScheduler

DDIMInverseScheduler — это инвертированный планировщик из Denoising Diffusion Implicit Models (DDIM), предложенный Jiaming Song, Chenlin Meng и Stefano Ermon. Реализация в основном основана на определении инверсии DDIM из Null-text Inversion for Editing Real Images using Guided Diffusion Models.

DDIMInverseScheduler

класс diffusers.DDIMInverseScheduler

< >

( num_train_timesteps: int = 1000beta_start: float = 0.0001beta_end: float = 0.02beta_schedule: typing.Literal['linear', 'scaled_linear', 'squaredcos_cap_v2'] = 'linear'trained_betas: numpy.ndarray | list[float] | None = Noneclip_sample: bool = Trueset_alpha_to_one: bool = Truesteps_offset: int = 0prediction_type: typing.Literal['epsilon', 'sample', 'v_prediction'] = 'epsilon'clip_sample_range: float = 1.0timestep_spacing: typing.Literal['leading', 'trailing'] = 'leading'rescale_betas_zero_snr: bool = False**kwargs )

Параметры

  • num_train_timesteps (int, по умолчанию 1000) — Количество шагов диффузии для обучения модели.
  • beta_start (float, по умолчанию 0.0001) — Начальное значение beta для вывода.
  • beta_end (float, по умолчанию 0.02) — Конечное значение beta.
  • beta_schedule (str, по умолчанию "linear") — Расписание beta, отображающее диапазон beta в последовательность значений beta для шагов модели. Выберите одно из значений: linear, scaled_linear или squaredcos_cap_v2.
  • trained_betas (np.ndarray, необязательный) — Передайте массив betas непосредственно в конструктор, чтобы обойти beta_start и beta_end.
  • clip_sample (bool, по умолчанию True) — Обрезает предсказанную выборку для численной стабильности.
  • clip_sample_range (float, по умолчанию 1.0) — Максимальная величина для обрезки выборок. Действительно только при clip_sample=True.
  • set_alpha_to_one (bool, по умолчанию True) — Каждый шаг диффузии использует значение произведения альф на данном шаге и на предыдущем. Для последнего шага предыдущего альфа нет. Если этот параметр установлен в True, произведение предыдущей альфы фиксируется на 0, в противном случае используется значение альфы на шаге num_train_timesteps - 1.
  • steps_offset (int, по умолчанию 0) — Смещение, добавляемое к шагам инференса, как требуется некоторыми семействами моделей.
  • prediction_type (str, defaults to epsilon, optional) — Prediction type of the scheduler function; can be epsilon (predicts the noise of the diffusion process), sample (directly predicts the noisy sample) or v_prediction` (see section 2.4 of Imagen Video paper).
  • timestep_spacing (str, defaults to "leading") — The way the timesteps should be scaled. Refer to Table 2 of the Common Diffusion Noise Schedules and Sample Steps are Flawed for more information.
  • rescale_betas_zero_snr (bool, по умолчанию False) — Определяет, следует ли перемасштабировать беты для нулевого конечного SNR. Это позволяет модели генерировать очень яркие и тёмкие образцы, а не ограничиваться образцами со средней яркостью. Непосредственно связано с --offset_noise.

DDIMInverseScheduler — это обратный планировщик для DDIMScheduler.

Эта модель наследуется от SchedulerMixin и ConfigMixin. Общую документацию по методам, которые библиотека реализует для всех планировщиков (например, загрузка и сохранение), см. в документации суперкласса.

scale_model_input

< >

( sample: Tensortimestep: int | None = None ) → torch.Tensor

Параметры

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

Возвращает

torch.Tensor

Масштабированный входной образец.

Обеспечивает совместимость с планировщиками, которым необходимо масштабировать входную модель денуазинга в зависимости от текущего шага.

set_timesteps

< >

( num_inference_steps: intdevice: typing.Union[str, torch.device, NoneType] = None )

Параметры

  • num_inference_steps (int) — Количество шагов диффузии, используемых при генерации образцов с помощью предобученной модели.
  • device (str или torch.device, необязательный) — Устройство, на которое следует переместить шаги. Если None, шаги не перемещаются.

Устанавливает дискретные временные шаги, используемые для цепочки диффузии (выполняется перед инференсом).

шаг

< >

( model_output: Tensortimestep: intsample: Tensorreturn_dict: bool = True ) → ~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput or tuple

Параметры

  • model_output (torch.Tensor) — Прямой вывод из обученной диффузионной модели.
  • timestep (int) — Текущий дискретный шаг в цепочке диффузии.
  • sample (torch.Tensor) — Текущий экземпляр сэмпла, созданный процессом диффузии.
  • return_dict (bool, необязательный, по умолчанию True) — Определяет, возвращать ли ~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput или tuple.

Возвращает

~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput или tuple

Если True, возвращается ~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput, иначе возвращается кортеж, первым элементом которого является тензор выборки.

Предскажите образец из предыдущего шага времени, обращая SDE. Эта функция распространяет процесс диффузии от выходов обученной модели (чаще всего — предсказанного шума).

Update on GitHub