Diffusers documentation
PiflowScheduler
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
< source >( 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
< source >( 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 (
stratautorch.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
< source >( 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_gridprediksi 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
< source >( prev_sample: Tensor )
Kelas output untuk output fungsi step penjadwal.