Diffusers documentation

PiflowScheduler

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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: 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.

PiflowScheduler

kelas diffusers.PiflowScheduler

< >

( num_train_timesteps: int = 1000shift: float = 5.0n_grid: int = 10eps: float = 1e-06final_step_size_scale: float = 0.5num_policy_substeps: int = 128 )

Parameter

  • num_train_timesteps (int, opsional, default 1000) — Jumlah langkah difusi pelatihan.
  • shift (float, opsional, default 5.0) — Pergeseran timestep flow-matching.
  • n_grid (int, opsional, default 10) — Jumlah prediksi dalam output 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 terakhir.
  • num_policy_substeps (int, opsional, default 128) — Jumlah maksimum substep 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-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 dan ConfigMixin. Periksa dokumentasi superclass untuk metode generik yang diimplementasikan untuk semua scheduler (pemuatan, penyimpanan, dll.).

set_timesteps

< >

( num_inference_steps: int | None = Nonedevice: typing.Union[str, torch.device, NoneType] = Nonesigmas: list[float] | None = Nonemu: float | None = Nonetimesteps: list[float] | None = None )

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

< >

( model_output: FloatTensortimestep: typing.Union[float, torch.FloatTensor]sample: FloatTensorreturn_dict: bool = True ) → [PiflowSchedulerOutput] or tuple

Parameter

  • model_output (torch.FloatTensor) — Output model yang diperluas, berisi n_grid prediksi per kanal sampel.
  • timestep (float atau torch.FloatTensor) — Timestep scheduler saat ini.
  • sample (torch.FloatTensor) — Sampel berisik saat ini.
  • return_dict (bool, opsional, default True) — Apakah akan mengembalikan sebuah [PiflowSchedulerOutput].

Mengembalikan

[PiflowSchedulerOutput] atau tuple

Contoh diperbarui.

Maju satu langkah dengan mengintegrasikan kebijakan PiFlow.

PiflowSchedulerOutput

kelas diffusers.schedulers.scheduling_piflow.PiflowSchedulerOutput

< >

( prev_sample: Tensor )

Parameter

  • prev_sample (torch.Tensor) — Contoh yang dihitung pada titik grid PiFlow berikutnya. Seharusnya digunakan sebagai input denoising berikutnya.

Kelas output untuk output fungsi step penjadwal.

Update on GitHub