Diffusers documentation
RFD4ProteinaScheduler
RFD4ProteinaScheduler
RFD4ProteinaScheduler는 RFD4-Proteína의 단일 모달리티용 temporal-score-rescaled flow sampler입니다. 이 파이프라인은 두 개의 인스턴스를 사용하며, 하나는 백본(bb_ca, 나노미터 단위 좌표)을, 다른 하나는 토큰별 로컬 라텐트(local_latents)를 담당합니다. 각 인스턴스는 자체적인 시간 스케줄, 노이즈 스케줄 및 리스케일링을 가집니다. 샘플링 루프에 대해서는 RFD4ProteinaPipeline을 참조하세요.
RFD4ProteinaScheduler
클래스 diffusers.RFD4ProteinaScheduler
< source >( 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
< source >( num_inference_steps: intdevice: typing.Union[str, torch.device, NoneType] = Nonestart_time: float | None = None )
스케줄을 해결하고 통합 커서를 초기화합니다.
add_noise
< source >( original_samples: Tensornoise: Tensortimesteps: typing.Union[float, torch.Tensor] )
전방 주변부 (1 - t) * noise + t * clean을 샘플링합니다.
단계
< source >( 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
< source >( prev_sample: Tensor )
Updated state of one modality.