# PiflowScheduler

`PiflowScheduler` هو مُجدول الخطوات القليلة الخاص بنقاط التفتيش المُقطّرة من Kandinsky 6، لكلٍّ من نموذج النص/الصورة إلى الفيديو والصوت ونموذج تحسين دقة الفيديو، وكذلك نقاط التفتيش المُقطّرة من Kandinsky S2V 1.0. وهو ينفّذ [π-Flow](https://huggingface.co/papers/2510.14974): حيث يتنبأ المُحوِّل (transformer) بـ`n_grid` تقديرًا مُنظَّفًا من الضوضاء لكل قناة كامنة عند عدد صغير من نقاط الشبكة، بينما يدمج المُجدول سياسة خالية من الشبكة بينها.

يمكن العثور على التنفيذ المرجعي في [Lakonik/LakonLab](https://github.com/Lakonik/LakonLab).

## PiflowScheduler[[diffusers.PiflowScheduler]]

#### diffusers.PiflowScheduler[[diffusers.PiflowScheduler]]

```python
diffusers.PiflowScheduler(num_train_timesteps: int = 1000, shift: float = 5.0, n_grid: int = 10, eps: float = 1e-06, final_step_size_scale: float = 0.5, num_policy_substeps: int = 128)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/schedulers/scheduling_piflow.py#L144)

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

num_train_timesteps (`int`، *اختياري*، القيمة الافتراضية 1000) : عدد خطوات الانتشار التدريبية.

shift (`float`، *اختياري*، القيمة الافتراضية 5.0) : إزاحة خطوة الزمن في مطابقة التدفق.

n_grid (`int`، *اختياري*، القيمة الافتراضية 10) : عدد التوقعات في مخرجات النموذج الموسّعة.

eps (`float`، *اختياري*، القيمة الافتراضية 1e-6) : الخطوة الزمنية الدنيا ومقام السياسة.

final_step_size_scale (`float`، *اختياري*، القيمة الافتراضية 0.5) : الحجم النسبي للمقطع الأخير ذو الخطوة الخام.

num_policy_substeps (`int`، *اختياري*، القيمة الافتراضية 128) : الحد الأقصى لعدد خطوات التكامل الفرعية للسياسة لكل وحدة خطوة زمنية خام.

مجدول PiFlow متعدد الخطوات القليلة لتحويلات الانتشار ذات المخرجات الموسعة.

تقيّم PiFlow نموذج إزالة الضوضاء عند عدد صغير من نقاط الشبكة، وتدمج سياسة خالية من الشبكة بين تلك التقييمات. صُمم المجدول (scheduler) خصيصًا لنقاط التفتيش (checkpoints) المُقطّرة من Kandinsky 6، بما في ذلك النموذج الرئيسي للفيديو/الصوت ونموذج زيادة دقة الفيديو. يحتوي مخرَج النموذج الخاص بهم على `n_grid` تنبؤات لكل قناة من قنوات العينة.

يرث هذا المجدول من [SchedulerMixin](/docs/diffusers/v0.43.0/ar/api/schedulers/overview#diffusers.SchedulerMixin) و [ConfigMixin](/docs/diffusers/v0.43.0/ar/api/configuration#diffusers.ConfigMixin). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة المُنفَّذة لجميع المجدولات (التحميل، الحفظ، إلخ).

#### set_timesteps[[diffusers.PiflowScheduler.set_timesteps]]

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

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/schedulers/scheduling_piflow.py#L224)

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

num_inference_steps (`int`) : عدد تقييمات النموذج.

device (`str` أو `torch.device`، *اختياري*) : الجهاز الخاص بالجدول الزمني.

sigmas (`list[float]`، *اختياري*) : جدول سيغما مخصص غير مدعوم.

mu (`float`، *اختياري*) : معامل إزاحة ديناميكية غير مدعوم.

timesteps (`list[float]`، *اختياري*) : جدول خطوات زمنية مخصص غير مدعوم.

اضبط جدول خطوات الزمن (timestep) للنموذج المُقطّر PiFlow.

#### خطوة[[diffusers.PiflowScheduler.step]]

```python
step(model_output: FloatTensor, timestep: typing.Union[float, torch.FloatTensor], sample: FloatTensor, return_dict: bool = True)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/schedulers/scheduling_piflow.py#L331)

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

model_output (*torch.FloatTensor*) : مخرجات النموذج الموسّعة التي تحتوي على `n_grid` تنبؤات لكل قناة من قنوات العينة.

timestep (*float* أو *torch.FloatTensor*) : خطوة المجدول الحالية.

sample (*torch.FloatTensor*) : العينة الضجيجية الحالية.

return_dict (*bool*، *اختياري*، القيمة الافتراضية True) : ما إذا كان يجب إرجاع [*PiflowSchedulerOutput*].

**يعيد:** [*PiflowSchedulerOutput*] أو *tuple*

عينة محدّثة.

تقدّم خطوة واحدة من خلال دمج سياسة PiFlow.

## PiflowSchedulerOutput[[diffusers.schedulers.scheduling_piflow.PiflowSchedulerOutput]]

#### diffusers.schedulers.scheduling_piflow.PiflowSchedulerOutput[[diffusers.schedulers.scheduling_piflow.PiflowSchedulerOutput]]

```python
diffusers.schedulers.scheduling_piflow.PiflowSchedulerOutput(prev_sample: Tensor)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/schedulers/scheduling_piflow.py#L30)

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

prev_sample (`torch.Tensor`) : العينة المحسوبة عند نقطة الشبكة التالية في PiFlow. يجب استخدامها كمدخل إزالة الضوضاء التالي.

فئة الإخراج لدالة `step` الخاصة بالجدول الزمني.

