Diffusers documentation
RFD4ProteinaScheduler
RFD4ProteinaScheduler
RFD4ProteinaScheduler es el muestreador de flujo con puntuación temporal reescalada de RFD4-Proteína para una modalidad. El pipeline utiliza
dos instancias, una para el backbone (bb_ca, coordenadas en nanómetros) y otra para los latentes locales por token
(local_latents), cada una con su propio calendario de tiempo, calendario de ruido y reescalado. Consulte RFD4ProteinaPipeline para el
bucle de muestreo.
RFD4ProteinaScheduler
clase 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) — Espaciado de los tiempos entre ruido y datos:"log"o"power". - noise_mode (
str) — Forma del ruido inyectado en la ventana estocástica:"1/t"o"tan". - tsr_k (
float) — Hasta qué punto baja la temperatura de muestreo; cuanto mayor sea, más baja será. - tsr_sigma (
float) — Velocidad a la que se alcanza la temperatura baja; un valor más alto indica una velocidad mayor. - tail_steps (
int, por defecto10) — Número de intervalos finales que son más finos que el resto portail_step_multiplier. - tail_step_multiplier (
int, por defecto2) — Qué tan finos son los intervalos finales. - t_lim_ode (
float, por defecto0.95) — Por encima de este tiempo, el paso es determinista. - t_lim_ode_below (
float, por defecto0.02) — Por debajo de este tiempo, el paso es determinista.
Muestreador de flujo con puntuación temporal reescalada para una modalidad de RFD4-Proteína.
El pipeline integra dos modalidades, el backbone y los latentes locales por token, con un programador cada uno. Difieren en su programación temporal, programación de ruido y reescalado.
Llama a set_timesteps antes de muestrear. Los tiempos aumentan desde el ruido hacia los datos limpios. Un programador (scheduler) rastrea el intervalo actual y no debe compartirse entre generaciones concurrentes.
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 integración. - device (
strotorch.device, opcional) — Dispositivo paratimesteps. Las longitudes de intervalo y los coeficientes de ruido permanecen en la CPU. - start_time (
float, opcional) — Tiempo de inicio de la difusión parcial en[0, 1). Omitir para una generación completa.
Resuelve el plan y restablece el cursor de integración.
add_noise
< source >( original_samples: Tensornoise: Tensortimesteps: typing.Union[float, torch.Tensor] )
Muestree la marginal hacia adelante (1 - t) * noise + t * clean.
paso
< 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) — Velocidad predicha, con la misma forma quesample. - timestep (
torch.Tensor) — El siguiente elemento detimesteps. Se rechazan los pasos fuera de orden. - sample (
torch.Tensor) — Estado actual(B, N, D). - emit_mask (
torch.Tensor) — Booleano(B, N), verdadero para los tokens que se actualizan (no son contexto ni relleno). - generator (
torch.Generatorolist[torch.Generator], opcional) — Un generador para una sola fila o generadores distintos para cada fila del lote. Si se omiten, se utiliza el flujo global. - return_dict (
bool, por defectoTrue) — DevuelveRFD4ProteinaSchedulerOutput; de lo contrario, una tupla de un elemento que contiene el estado.
Devuelve
RFD4ProteinaSchedulerOutput o tuple
El estado actualizado.
Avance un intervalo de integración y actualice step_index.
RFD4ProteinaSchedulerOutput
clase diffusers.schedulers.scheduling_rfd4_proteina.RFD4ProteinaSchedulerOutput
< source >( prev_sample: Tensor )
Estado actualizado de una modalidad.