# PiflowScheduler

`PiflowScheduler` adalah scheduler few-step untuk checkpoint Kandinsky 6 yang telah di-distil, baik untuk model text/image-to-video-and-audio maupun model video super-resolution, serta untuk checkpoint Kandinsky S2V 1.0 yang telah di-distil. Scheduler ini mengimplementasikan [π-Flow](https://huggingface.co/papers/2510.14974): transformer memprediksi `n_grid` estimasi denoised per kanal laten pada sejumlah kecil titik grid, dan scheduler mengintegrasikan kebijakan bebas jaringan di antara titik-titik tersebut.

Implementasi referensi dapat ditemukan di [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)
```

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

**Parameter:**

num_train_timesteps (`int`, *opsional*, default 1000) : Jumlah langkah difusi pelatihan.

shift (`float`, *opsional*, default 5.0) : Pergeseran langkah waktu flow-matching.

n_grid (`int`, *opsional*, default 10) : Jumlah prediksi dalam keluaran model yang diperluas.

eps (`float`, *opsional*, default 1e-6) : Langkah waktu minimum dan penyebut kebijakan.

final_step_size_scale (`float`, *opsional*, default 0.5) : Ukuran relatif segmen raw-timestep akhir.

num_policy_substeps (`int`, *opsional*, default 128) : Jumlah maksimum sublangkah integrasi kebijakan per unit raw-timestep.

Penjadwal PiFlow beberapa langkah untuk transformer difusi dengan keluaran yang diperlebar.

PiFlow mengevaluasi model denoising pada sejumlah kecil titik grid dan mengintegrasikan kebijakan bebas jaringan di antara evaluasi tersebut. Scheduler ini ditujukan untuk checkpoint Kandinsky 6 yang telah di-distil, termasuk model video/audio utama dan model super-resolusi video. Output model mereka berisi `n_grid` prediksi per kanal sampel.

Scheduler ini mewarisi dari [SchedulerMixin](/docs/diffusers/main/id/api/schedulers/overview#diffusers.SchedulerMixin) dan [ConfigMixin](/docs/diffusers/main/id/api/configuration#diffusers.ConfigMixin). Periksa dokumentasi superclass untuk metode generik yang diimplementasikan untuk semua scheduler (pemuatan, penyimpanan, dll.).

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

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

**Parameter:**

num_inference_steps (`int`) : Jumlah evaluasi model.

device (`str` atau `torch.device`, *opsional*) : Perangkat untuk jadwal.

sigmas (`list[float]`, *opsional*) : Jadwal sigma kustom yang tidak didukung.

mu (`float`, *opsional*) : Parameter dynamic-shift dinamis yang tidak didukung.

timesteps (`list[float]`, *opsional*) : Jadwal timestep kustom yang tidak didukung.

Atur jadwal timestep PiFlow yang telah didistilasi.

#### langkah[[diffusers.PiflowScheduler.step]]

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

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

**Parameter:**

model_output (*torch.FloatTensor*) : Output model yang diperluas, berisi `n_grid` prediksi per kanal sampel.

timestep (*float* atau *torch.FloatTensor*) : Langkah waktu (timestep) penjadwal saat ini.

sample (*torch.FloatTensor*) : Sampel berisik saat ini.

return_dict (*bool*, *opsional*, default True) : Apakah akan mengembalikan [*PiflowSchedulerOutput*].

**Mengembalikan:** [*PiflowSchedulerOutput*] atau *tuple*

Contoh diperbarui.

Maju satu langkah dengan mengintegrasikan kebijakan 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)
```

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

**Parameter:**

prev_sample (`torch.Tensor`) : Sampel yang dihitung pada titik grid PiFlow berikutnya. Seharusnya digunakan sebagai input denoising berikutnya.

Kelas output untuk output fungsi `step` scheduler.

