Diffusers documentation

RFD4ProteinaScheduler

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

RFD4ProteinaScheduler

RFD4ProteinaScheduler는 RFD4-Proteína의 단일 모달리티용 temporal-score-rescaled flow sampler입니다. 이 파이프라인은 두 개의 인스턴스를 사용하며, 하나는 백본(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의 한 모달리티에 대한 시간 점수 재조정(flow) 샘플러.

은 두 가지 모달리티, 즉 백본과 토큰별 로컬 라텐트를 통합하며, 각각 하나의 스케줄러를 사용합니다. 이들은 시간 스케줄, 노이즈 스케줄 및 리스케일링에서 차이가 있습니다.

샘플링 전에 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에 사용할 Device입니다. 간격 길이와 노이즈 계수는 CPU에 유지됩니다.
  • start_time (float, 선택 사항) — [0, 1) 범위의 부분 확산 시작 시간입니다. 전체 생성을 원하면 생략하세요.

스케줄을 해결하고 통합 커서를 초기화합니다.

add_noise

< >

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

매개변수

  • original_samples (torch.Tensor) — Clean 상태 (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) — Boolean (B, N), 업데이트되는 토큰(컨텍스트 또는 패딩이 아닌 토큰)에 대해 true입니다.
  • generator (torch.Generator 또는 list[torch.Generator], 선택 사항) — 단일 행에 사용할 생성기 또는 배치의 각 행에 사용할 개별 생성기입니다. 생략하면 전역 스트림을 사용합니다.
  • return_dict (bool, 기본값 True) — RFD4ProteinaSchedulerOutput를 반환합니다. 그렇지 않으면 상태를 포함하는 1개 항목의 튜플을 반환합니다.

반환값

RFD4ProteinaSchedulerOutput 또는 tuple

업데이트된 상태.

step_index을 업데이트하고 통합 간격을 한 단계 진행합니다.

RFD4ProteinaSchedulerOutput

class diffusers.schedulers.scheduling_rfd4_proteina.RFD4ProteinaSchedulerOutput

< >

( prev_sample: Tensor )

매개변수

  • prev_sample (torch.Tensor) — 스텝 이후의 상태로, 모양은 (B, N, D)입니다. D는 백본의 경우 3(나노미터 단위 좌표)이며, 로컬 라텐트의 경우 라텐트 폭입니다.

Updated state of one modality.

Update on GitHub