Diffusers documentation
RFD4ProteinaScheduler
RFD4ProteinaScheduler
RFD4ProteinaScheduler é o amostrador de fluxo com reescalonamento da pontuação temporal do RFD4-Proteína para uma modalidade. O pipeline usa
duas instâncias, uma para o backbone (bb_ca, coordenadas em nanômetros) e outra para os latentes locais por token
(local_latents), cada uma com seu próprio cronograma de tempo, cronograma de ruído e reescalonamento. Veja RFD4ProteinaPipeline para o
loop de amostragem.
RFD4ProteinaScheduler
classe 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 )
Parâmetros
- schedule_mode (
str) — Espaçamento dos tempos entre ruído e dados:"log"ou"power". - noise_mode (
str) — Formato do ruído injetado na janela estocástica:"1/t"ou"tan". - tsr_k (
float) — Quão baixa a temperatura de amostragem fica; quanto maior, mais baixa. - tsr_sigma (
float) — Quão rápido a baixa temperatura é atingida; valores maiores significam mais rápido. - tail_steps (
int, padrão10) — Número de intervalos finais que são mais finos que os demais portail_step_multiplier. - tail_step_multiplier (
int, padrão2) — Quão mais finos são os intervalos finais. - t_lim_ode (
float, padrão0.95) — Acima deste tempo, o passo é determinístico. - t_lim_ode_below (
float, padrão0.02) — Abaixo deste tempo, o passo é determinístico.
Amostrador de fluxo com reescalonamento de pontuação temporal para uma modalidade do RFD4-Proteína.
O pipeline integra duas modalidades, o backbone e os latentes locais por token, cada uma com um agendador. Elas diferem em seu agendamento de tempo, agendamento de ruído e reescalonamento.
Chame set_timesteps antes da amostragem. Os tempos aumentam do ruído em direção aos dados limpos. Um agendador rastreia o intervalo atual e não deve ser compartilhado por gerações concorrentes.
set_timesteps
< source >( num_inference_steps: intdevice: typing.Union[str, torch.device, NoneType] = Nonestart_time: float | None = None )
Parâmetros
- num_inference_steps (
int) — Número de intervalos de integração. - device (
stroutorch.device, opcional) — Dispositivo paratimesteps. Os comprimentos dos intervalos e os coeficientes de ruído permanecem na CPU. - start_time (
float, opcional) — Tempo inicial da difusão parcial em[0, 1). Omita para geração completa.
Resolve o cronograma e reinicia o cursor de integração.
add_noise
< source >( original_samples: Tensornoise: Tensortimesteps: typing.Union[float, torch.Tensor] )
Amostrar a marginal direta (1 - t) * noise + t * clean.
etapa
< source >( model_output: Tensortimestep: Tensorsample: Tensoremit_mask: Tensorgenerator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonereturn_dict: bool = True ) → RFD4ProteinaSchedulerOutput or tuple
Parâmetros
- model_output (
torch.Tensor) — Velocidade prevista, com a mesma forma desample. - timestep (
torch.Tensor) — O próximo elemento detimesteps. Passos fora de ordem são rejeitados. - sample (
torch.Tensor) — Estado atual(B, N, D). - emit_mask (
torch.Tensor) —(B, N)booleano, verdadeiro para os tokens que são atualizados (não contexto ou padding). - generator (
torch.Generatoroulist[torch.Generator], opcional) — Um gerador para uma única linha ou geradores distintos para cada linha do lote. Omiti-los usa o fluxo global. - return_dict (
bool, padrãoTrue) — RetornaRFD4ProteinaSchedulerOutput; caso contrário, uma tupla de um item contendo o estado.
Retorna
RFD4ProteinaSchedulerOutput ou tuple
O estado atualizado.
Avance um intervalo de integração e atualize step_index.
RFD4ProteinaSchedulerOutput
classe diffusers.schedulers.scheduling_rfd4_proteina.RFD4ProteinaSchedulerOutput
< source >( prev_sample: Tensor )
Estado atualizado de uma modalidade.