# RFD4ProteinaScheduler

`RFD4ProteinaScheduler` est l'échantillonneur de flux à score temporel rééchelonné de RFD4-Proteína pour une modalité. Le pipeline utilise deux instances, l'une pour le squelette (`bb_ca`, coordonnées en nanomètres) et l'autre pour les latents locaux par jeton (`local_latents`), chacune avec son propre calendrier temporel, son calendrier de bruit et son rééchelonnement. Voir [RFD4ProteinaPipeline](/docs/diffusers/main/fr/api/pipelines/rfd4_proteina#diffusers.RFD4ProteinaPipeline) pour la boucle d'échantillonnage.

## 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)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_rfd4_proteina.py#L76)

**Paramètres :**

schedule_mode (`str`) : Espacement des temps entre le bruit et les données : `"log"` ou `"power"`.

noise_mode (`str`) : Forme du bruit injecté dans la fenêtre stochastique : `"1/t"` ou `"tan"`.

tsr_k (`float`) : La valeur minimale de la température d'échantillonnage ; plus la valeur est élevée, plus la température est basse.

tsr_sigma (`float`) : Vitesse à laquelle la basse température est atteinte ; une valeur plus élevée signifie plus rapide.

tail_steps (`int`, par défaut `10`) : Nombre d'intervalles finaux qui sont plus fins que les autres d'un facteur `tail_step_multiplier`.

tail_step_multiplier (`int`, par défaut `2`) : Le niveau de finesse des intervalles finaux.

t_lim_ode (`float`, par défaut `0.95`) : Au-delà de ce temps, l'étape est déterministe.

t_lim_ode_below (`float`, par défaut `0.02`) : En dessous de cette valeur, la étape est déterministe.

Échantillonneur de flux avec score temporel rééchelonné pour une modalité de RFD4-Proteína.

Le pipeline intègre deux modalités, le backbone et les latents locaux par jeton, chacune avec son propre planificateur. Ils diffèrent par leur calendrier temporel, leur calendrier de bruit et leur recalage.

Appel `set_timesteps` avant l'échantillonnage. Les temps augmentent du bruit vers les données propres. Un planificateur suit l'intervalle actuel et ne doit pas être partagé entre des générations 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)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_rfd4_proteina.py#L133)

**Paramètres :**

num_inference_steps (`int`) : Nombre d'intervalles d'intégration.

device (`str` ou `torch.device`, *facultatif*) : Appareil pour `timesteps`. Les longueurs d'intervalle et les coefficients de bruit restent sur le CPU.

start_time (`float`, *facultatif*) : Heure de début de la diffusion partielle dans `[0, 1)`. À omettre pour une génération complète.

Résoudre le planning et réinitialiser le curseur d'intégration.

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

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

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_rfd4_proteina.py#L194)

**Paramètres :**

original_samples (`torch.Tensor`) : État propre `(batch, tokens, D)`.

noise (`torch.Tensor`) : Bruit de la même forme, tiré par l'appelant.

timesteps (`float` ou `torch.Tensor`) : Temps dans `[0, 1)`, un scalaire ou `(batch,)`.

Échantillonner la marginale avant `(1 - t) * noise + t * clean`.

#### étape[[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)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_rfd4_proteina.py#L212)

**Paramètres :**

model_output (`torch.Tensor`) : Vitesse prédite, de forme `sample`.

timestep (`torch.Tensor`) : L'élément suivant de `timesteps`. Les étapes hors ordre sont rejetées.

sample (`torch.Tensor`) : État actuel `(B, N, D)`.

emit_mask (`torch.Tensor`) : Booléen `(B, N)`, vrai pour les jetons mis à jour (ni contexte ni bourrage).

generator (`torch.Generator` ou `list[torch.Generator]`, *facultatif*) : Un générateur pour une seule ligne ou des générateurs distincts pour chaque ligne du lot. S'ils sont omis, le flux global est utilisé.

return_dict (`bool`, par défaut `True`) : Retourne `RFD4ProteinaSchedulerOutput` ; sinon, un tuple à un élément contenant l'état.

**Retourne :** `RFD4ProteinaSchedulerOutput` ou `tuple`

L'état mis à jour.

Avancez d'un intervalle d'intégration et mettez à jour `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)
```

[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_rfd4_proteina.py#L19)

**Paramètres :**

prev_sample (`torch.Tensor`) : L'état après l'étape, de forme `(B, N, D)` : `D` vaut 3 pour le backbone (coordonnées en nanomètres) et la largeur latente pour les latents locaux.

État mis à jour d'une modalité.

