# RFD4ProteinaScheduler

`RFD4ProteinaScheduler` adalah sampler flow dengan temporal-score-rescaled dari RFD4-Proteína untuk satu modality. Pipeline ini menggunakan dua instance, satu untuk backbone (`bb_ca`, koordinat dalam nanometer) dan satu untuk local latents per-token (`local_latents`), masing-masing dengan jadwal waktu, jadwal noise, dan rescaling-nya sendiri. Lihat [RFD4ProteinaPipeline](/docs/diffusers/main/id/api/pipelines/rfd4_proteina#diffusers.RFD4ProteinaPipeline) untuk loop sampling.

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

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

**Parameter:**

schedule_mode (`str`) : Jarak waktu antara noise dan data: `"log"` atau `"power"`.

noise_mode (`str`) : Bentuk dari noise yang disuntikkan dalam jendela stokastik: `"1/t"` atau `"tan"`.

tsr_k (`float`) : Seberapa rendah suhu sampling; semakin tinggi nilainya, semakin rendah suhunya.

tsr_sigma (`float`) : Seberapa cepat suhu rendah tercapai; nilai yang lebih tinggi berarti lebih cepat.

tail_steps (`int`, defaultnya `10`) : Jumlah interval akhir yang lebih halus dari sisanya dengan `tail_step_multiplier`.

tail_step_multiplier (`int`, defaultnya `2`) : Seberapa halus interval akhir.

t_lim_ode (`float`, defaultnya `0.95`) : Di atas waktu ini, langkah bersifat deterministik.

t_lim_ode_below (`float`, defaultnya `0.02`) : Di bawah waktu ini, langkah bersifat deterministik.

Temporal-score-rescaled flow sampler untuk satu modalitas dari RFD4-Proteína.

Pipeline ini mengintegrasikan dua modalitas, yaitu backbone dan latens lokal per-token, masing-masing dengan satu scheduler. Keduanya berbeda dalam jadwal waktu, jadwal noise, dan rescaling.

Panggil `set_timesteps` sebelum sampling. Waktu meningkat dari noise menuju data bersih. Scheduler melacak interval saat ini dan tidak boleh dibagikan oleh generasi yang berjalan bersamaan.

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

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

**Parameter:**

num_inference_steps (`int`) : Jumlah interval integrasi.

device (`str` atau `torch.device`, *opsional*) : Perangkat untuk `timesteps`. Panjang interval dan koefisien noise tetap berada di CPU.

start_time (`float`, *opsional*) : Waktu mulai partial-diffusion dalam `[0, 1)`. Abaikan untuk generasi penuh.

Selesaikan jadwal dan atur ulang kursor integrasi.

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

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

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

**Parameter:**

original_samples (`torch.Tensor`) : Keadaan bersih `(batch, tokens, D)`.

noise (`torch.Tensor`) : Noise dengan bentuk yang sama, diambil oleh pemanggil.

timesteps (`float` atau `torch.Tensor`) : Waktu dalam `[0, 1)`, skalar atau `(batch,)`.

Ambil sampel dari marginal maju `(1 - t) * noise + t * clean`.

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

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

**Parameter:**

model_output (`torch.Tensor`) : Kecepatan prediksi, berbentuk seperti `sample`.

timestep (`torch.Tensor`) : Elemen berikutnya dari `timesteps`. Langkah yang tidak berurutan akan ditolak.

sample (`torch.Tensor`) : State saat ini `(B, N, D)`.

emit_mask (`torch.Tensor`) : Boolean `(B, N)`, bernilai true untuk token yang diperbarui (bukan konteks atau padding).

generator (`torch.Generator` atau `list[torch.Generator]`, *opsional*) : Generator untuk satu baris atau generator yang berbeda untuk setiap baris batch. Jika diabaikan, aliran global akan digunakan.

return_dict (`bool`, defaultnya `True`) : Mengembalikan `RFD4ProteinaSchedulerOutput`; selain itu, tuple berisi satu item yang menyimpan state.

**Mengembalikan:** `RFD4ProteinaSchedulerOutput` atau `tuple`

Status yang diperbarui.

Majukan satu interval integrasi dan perbarui `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)
```

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

**Parameter:**

prev_sample (`torch.Tensor`) : Status setelah langkah, berbentuk `(B, N, D)`: `D` adalah 3 untuk backbone (koordinat dalam nanometer) dan lebar laten untuk laten lokal.

Status terkini dari satu modalitas.

