Diffusers documentation

RFD4ProteinaScheduler

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

RFD4ProteinaScheduler

RFD4ProteinaScheduler — это временной сэмплер потока с перемасштабированием скоростей для RFD4-Proteína, работающий с одной модальностью. В конвейере используются два экземпляра: один для каркаса (bb_ca, координаты в нанометрах) и один для локальных латентов на токен (local_latents), каждый со своим собственным временным расписанием, расписанием шума и перемасштабированием. См. RFD4ProteinaPipeline для цикла сэмплирования.

RFD4ProteinaScheduler

класс diffusers.RFD4ProteinaScheduler

< >

( schedule_mode: strnoise_mode: strtsr_k: floattsr_sigma: floattail_steps: int = 10tail_step_multiplier: int = 2t_lim_ode: float = 0.95t_lim_ode_below: float = 0.02 )

Параметры

  • schedule_mode (str) — Интервал между шумом и данными: "log" или "power".
  • noise_mode (str) — Форма шума, добавляемого в стохастическое окно: "1/t" или "tan".
  • tsr_k (float) — Насколько низкой становится температура выборки; чем выше значение, тем ниже температура.
  • tsr_sigma (float) — Скорость достижения низкой температуры; чем выше значение, тем быстрее.
  • tail_steps (int, по умолчанию 10) — Количество последних интервалов, которые в tail_step_multiplier раз мельче остальных.
  • tail_step_multiplier (int, по умолчанию 2) — Насколько мельче последние интервалы.
  • t_lim_ode (float, по умолчанию 0.95) — После этого времени шаг является детерминированным.
  • t_lim_ode_below (float, по умолчанию 0.02) — Ниже этого значения времени шаг является детерминированным.

Сэмплер потока с временной перенормировкой скоростей для одной модальности RFD4-Proteína.

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

Вызывайте set_timesteps перед сэмплированием. Значения времени увеличиваются от шума к чистым данным. Планировщик отслеживает текущий интервал и не должен использоваться совместно для параллельных генераций.

set_timesteps

< >

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

Параметры

  • num_inference_steps (int) — Количество интервалов интегрирования.
  • device (str или torch.device, необязательный) — Устройство для timesteps. Длины интервалов и коэффициенты шума остаются на CPU.
  • start_time (float, необязательный) — Начальное время частичной диффузии в диапазоне [0, 1). Пропустите для полной генерации.

Разрешите расписание и сбросьте курсор интеграции.

add_noise

< >

( original_samples: Tensornoise: Tensortimesteps: typing.Union[float, torch.Tensor] )

Параметры

  • original_samples (torch.Tensor) — Чистое состояние (batch, tokens, D).
  • noise (torch.Tensor) — Шум той же формы, сгенерированный вызывающей стороной.
  • timesteps (float или torch.Tensor) — время в диапазоне [0, 1), скаляр или (batch,).

Сэмплируйте прямую маргинальную (1 - t) * noise + t * clean.

шаг

< >

( model_output: Tensortimestep: Tensorsample: Tensoremit_mask: Tensorgenerator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonereturn_dict: bool = True ) → RFD4ProteinaSchedulerOutput or tuple

Параметры

  • model_output (torch.Tensor) — Предсказанная скорость, с формой, как у sample.
  • timestep (torch.Tensor) — Следующий элемент timesteps. Шаги, идущие не по порядку, отклоняются.
  • sample (torch.Tensor) — Текущее состояние (B, N, D).
  • emit_mask (torch.Tensor) — Булево (B, N), true для токенов, которые обновляются (не контекст и не padding).
  • generator (torch.Generator или list[torch.Generator], необязательный) — Генератор для одной строки или отдельные генераторы для каждой строки батча. Если они не указаны, используется глобальный поток.
  • return_dict (bool, по умолчанию True) — Возвращает RFD4ProteinaSchedulerOutput; в противном случае — кортеж из одного элемента, содержащий состояние.

Возвращает

RFD4ProteinaSchedulerOutput или tuple

Обновленное состояние.

Выполните один шаг интегрирования и обновите step_index.

RFD4ProteinaSchedulerOutput

класс diffusers.schedulers.scheduling_rfd4_proteina.RFD4ProteinaSchedulerOutput

< >

( prev_sample: Tensor )

Параметры

  • prev_sample (torch.Tensor) — Состояние после шага, с формой (B, N, D): D равно 3 для базовой модели (координаты в нанометрах) и ширине латентного пространства для локальных латентов.

Обновленное состояние одной модальности.

Update on GitHub