# 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](/docs/diffusers/v0.43.0/es/api/pipelines/rfd4_proteina#diffusers.RFD4ProteinaPipeline) para el bucle de muestreo.

## RFD4ProteinaScheduler[[diffusers.RFD4ProteinaScheduler]]

#### diffusers.RFD4ProteinaScheduler[[diffusers.RFD4ProteinaScheduler]]

```python
diffusers.RFD4ProteinaScheduler(schedule_mode: str, noise_mode: str, tsr_k: float, tsr_sigma: float, tail_steps: int = 10, tail_step_multiplier: int = 2, t_lim_ode: float = 0.95, t_lim_ode_below: float = 0.02)
```

[Fuente](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/schedulers/scheduling_rfd4_proteina.py#L76)

**Parámetros:**

schedule_mode (`str`) : Espaciado de los tiempos entre el ruido y los datos: `"log"` o `"power"`.

noise_mode (`str`) : Forma del ruido inyectado en la ventana estocástica: `"1/t"` o `"tan"`.

tsr_k (`float`) : Qué tan baja es la temperatura de muestreo; a mayor valor, menor temperatura.

tsr_sigma (`float`) : La velocidad a la que se alcanza la temperatura baja; un valor más alto es más rápido.

tail_steps (`int`, por defecto `10`) : Número de intervalos finales que son más finos que el resto por `tail_step_multiplier`.

tail_step_multiplier (`int`, por defecto `2`) : Qué tan finos son los intervalos finales.

t_lim_ode (`float`, por defecto `0.95`) : Por encima de este tiempo, el paso es determinista.

t_lim_ode_below (`float`, por defecto `0.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[[diffusers.RFD4ProteinaScheduler.set_timesteps]]

```python
set_timesteps(num_inference_steps: int, device: typing.Union[str, torch.device, NoneType] = None, start_time: float | None = None)
```

[Fuente](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/schedulers/scheduling_rfd4_proteina.py#L133)

**Parámetros:**

num_inference_steps (`int`) : Número de intervalos de integración.

device (`str` o `torch.device`, *opcional*) : Dispositivo para `timesteps`. 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[[diffusers.RFD4ProteinaScheduler.add_noise]]

```python
add_noise(original_samples: Tensor, noise: Tensor, timesteps: typing.Union[float, torch.Tensor])
```

[Fuente](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/schedulers/scheduling_rfd4_proteina.py#L194)

**Parámetros:**

original_samples (`torch.Tensor`) : Estado limpio `(batch, tokens, D)`.

noise (`torch.Tensor`) : Ruido de la misma forma, generado por el llamador.

timesteps (`float` o `torch.Tensor`) : Tiempo en `[0, 1)`, un escalar o `(batch,)`.

Muestree la marginal hacia adelante `(1 - t) * noise + t * clean`.

#### paso[[diffusers.RFD4ProteinaScheduler.step]]

```python
step(model_output: Tensor, timestep: Tensor, sample: Tensor, emit_mask: Tensor, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, return_dict: bool = True)
```

[Fuente](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/schedulers/scheduling_rfd4_proteina.py#L212)

**Parámetros:**

model_output (`torch.Tensor`) : Velocidad predicha, con la misma forma que `sample`.

timestep (`torch.Tensor`) : El siguiente elemento de `timesteps`. 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.Generator` o `list[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 defecto `True`) : Devuelve `RFD4ProteinaSchedulerOutput`; 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[[diffusers.schedulers.scheduling_rfd4_proteina.RFD4ProteinaSchedulerOutput]]

#### diffusers.schedulers.scheduling_rfd4_proteina.RFD4ProteinaSchedulerOutput[[diffusers.schedulers.scheduling_rfd4_proteina.RFD4ProteinaSchedulerOutput]]

```python
diffusers.schedulers.scheduling_rfd4_proteina.RFD4ProteinaSchedulerOutput(prev_sample: Tensor)
```

[Fuente](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/schedulers/scheduling_rfd4_proteina.py#L19)

**Parámetros:**

prev_sample (`torch.Tensor`) : El estado después del paso, con forma `(B, N, D)`: `D` es 3 para el backbone (coordenadas en nanómetros) y el ancho latente para los latentes locales.

Estado actualizado de una modalidad.

