# RFD4ProteinaScheduler

`RFD4ProteinaScheduler` هو مُعيّن التدفق المُعاد تحديده زمنيًا لدرجة RFD4-Proteína لنمط واحد. يستخدم خط الأنابيب مثليّن، أحدهما للهيكل (`bb_ca`، الإحداثيات بالنانومتر) والآخر للقيم الكامنة المحلية لكل رمز (`local_latents`)، ولكل منهما جدول زمني وجدول ضوضاء وإعادة تحدد خاصة به. راجع [RFD4ProteinaPipeline](/docs/diffusers/main/ar/api/pipelines/rfd4_proteina#diffusers.RFD4ProteinaPipeline) لحلقة العينة.

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

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_rfd4_proteina.py#L76)

**المعاملات:**

schedule_mode (`str`) : التباعد الزمني بين الضوضاء والبيانات: `"log"` أو `"power"`.

noise_mode (`str`) : شكل الضوضاء المُحقنة في النافذة العشوائية: `"1/t"` أو `"tan"`.

tsr_k (`float`) : مدى انخفاض درجة حرارة العينة؛ كلما زادت القيمة انخفضت الحرارة.

tsr_sigma (`float`) : سرعة الوصول إلى درجة الحرارة المنخفضة؛ كلما زادت القيمة كانت السرعة أعلى.

tail_steps (`int`، القيمة الافتراضية `10`) : عدد الفترات النهائية التي تكون أدق من البقية بمعامل `tail_step_multiplier`.

tail_step_multiplier (`int`، القيمة الافتراضية هي `2`) : مدى دقة الفترات النهائية.

t_lim_ode (`float`، القيمة الافتراضية `0.95`) : فوق هذا الوقت تكون الخطوة حتمية.

t_lim_ode_below (`float`، القيمة الافتراضية `0.02`) : تحت هذه القيمة الزمنية، يكون الخطوة حتمية.

عينة تدفق مُعاد تحجيمها زمنياً-بالدرجة لوضع واحد من RFD4-Proteína.

تدمج خط المعالجة (pipeline) بين وضعيتين (modalities)، وهما العمود الفقري (backbone) واللاتنت المحلية لكل رمز (per-token local latents)، مع جدولة زمنية (scheduler) واحدة لكل منهما. وتختلف هذه الوضعيات في الجدولة الزمنية، وجدولة الضوضاء، وإعادة التقييس (rescaling).

استدعِ `set_timesteps` قبل أخذ العينات. تزداد القيم الزمنية من الضوضاء نحو البيانات النظيفة. يتتبع المجدول الفترة الزمنية الحالية ولا ينبغي مشاركته بين عمليات التوليد المتزامنة.

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

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_rfd4_proteina.py#L133)

**المعاملات:**

num_inference_steps (`int`) : عدد فترات التكامل.

device (`str` أو `torch.device`، *اختياري*) : الجهاز الخاص بـ`timesteps`. تبقى أطوال الفترات ومعاملات الضوضاء على وحدة المعالجة المركزية (CPU).

start_time (`float`, *اختياري*) : وقت بدء الانتشار الجزئي في `[0, 1)`. يُستغنى عنه عند التوليد الكامل.

حل الجدولة وإعادة تعيين مؤشر التكامل.

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

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

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_rfd4_proteina.py#L194)

**المعاملات:**

original_samples (`torch.Tensor`) : حالة نظيفة `(batch, tokens, D)`.

noise (`torch.Tensor`) : ضوضاء بنفس الشكل، يتم سحبها من قِبل المستدعي.

timesteps (`float` أو `torch.Tensor`) : الوقت في `[0, 1)`، قيمة قياسية أو `(batch,)`.

عينة الحافة الأمامية `(1 - t) * noise + t * clean`.

#### خطوة[[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)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_rfd4_proteina.py#L212)

**المعاملات:**

model_output (`torch.Tensor`) : السرعة المتوقعة، على شكل `sample`.

timestep (`torch.Tensor`) : العنصر التالي من `timesteps`. تُرفض الخطوات خارج الترتيب.

sample (`torch.Tensor`) : الحالة الحالية `(B, N, D)`.

emit_mask (`torch.Tensor`) : قيمة منطقية `(B, N)`، تكون صحيحة (true) للرموز التي يتم تحديثها (وليست سياقًا أو حشوًا).

generator (`torch.Generator` أو `list[torch.Generator]`، *اختياري*) : مولّد لصف واحد أو مولّدات مختلفة لكل صف في الدفعة. عند إهمالها، يُستخدم التدفق العام.

return_dict (`bool`، القيمة الافتراضية `True`) : يُرجع `RFD4ProteinaSchedulerOutput`؛ وإلا فسيُرجع مجموعة (tuple) من عنصر واحد تحتوي على الحالة.

**يعيد:** `RFD4ProteinaSchedulerOutput` أو `tuple`

الحالة المحدّثة.

تقدّم خطوة واحدة في فترة التكامل وحدّث `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)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_rfd4_proteina.py#L19)

**المعاملات:**

prev_sample (`torch.Tensor`) : الحالة بعد الخطوة، بأبعاد `(B, N, D)`: حيث `D` تساوي 3 للهيكل الأساسي (إحداثيات بالنانومتر) وعرض الكمون المحلي للكمونات المحلية.

الحالة المحدّثة لنمط واحد.

