Diffusers documentation
PiflowScheduler
PiflowScheduler
PiflowScheduler, damıtılmış Kandinsky 6 kontrol noktalarının (hem metin/görselden video ve ses modelini hem de video süper çözünürlük modelini) ve damıtılmış Kandinsky S2V 1.0 kontrol noktalarının az adımlı zamanlayıcısıdır. π-Flow'u uygular: transformer, gizli kanal başına n_grid gürültüden arındırılmış tahmini, küçük sayıda ızgara noktasında tahmin eder ve zamanlayıcı bunlar arasında ağ gerektirmeyen bir politika entegre eder.
Referans uygulama Lakonik/LakonLab adresinde bulunabilir.
PiflowScheduler
sınıf 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 )
Parametreler
- num_train_timesteps (
int, isteğe bağlı, varsayılan 1000) — Eğitim difüzyon adımlarının sayısı. - shift (
float, isteğe bağlı, varsayılan 5.0) — Flow-matching zaman adımı kaydırması. - n_grid (
int, isteğe bağlı, varsayılan 10) — Genişletilmiş model çıktısındaki tahmin sayısı. - eps (
float, isteğe bağlı, varsayılan 1e-6) — Minimum zaman adımı ve politika paydası. - final_step_size_scale (
float, isteğe bağlı, varsayılan 0.5) — Son ham zaman adımı segmentinin göreli boyutu. - num_policy_substeps (
int, isteğe bağlı, varsayılan 128) — Ham zaman adımı birimi başına maksimum politika entegrasyon alt adımları.
Genişletilmiş çıktı difüzyon dönüştürücüler için az adımlı PiFlow zamanlayıcısı.
PiFlow, gürültü azaltma modelini küçük sayıda ızgara noktasında değerlendirir ve bu değerlendirmeler arasında ağsız bir politika entegre eder. Zamanlayıcı, ana video/ses modeli ve video süper çözünürlük modeli dahil olmak üzere damıtılmış Kandinsky 6 kontrol noktaları için tasarlanmıştır. Model çıktıları, örnek kanal başına n_grid tahmin içerir.
Bu zamanlayıcı SchedulerMixin ve ConfigMixin sınıflarından devralır. Tüm zamanlayıcılar için uygulanan genel yöntemlerin (yükleme, kaydetme vb.) belgelerini üst sınıf dokümantasyonunda bulabilirsiniz.
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 )
Parametreler
- num_inference_steps (
int) — Model değerlendirme sayısı. - device (
strveyatorch.device, isteğe bağlı) — Zaman çizelgesi için cihaz. - sigmas (
list[float], isteğe bağlı) — Desteklenmeyen özel sigma zamanlaması. - mu (
float, isteğe bağlı) — Desteklenmeyen dinamik-kaydırma parametresi. - timesteps (
list[float], isteğe bağlı) — Desteklenmeyen özel timestep zamanlaması.
Distilled PiFlow zaman adımı zamanlamasını ayarlayın.
adım
< source >( model_output: FloatTensortimestep: typing.Union[float, torch.FloatTensor]sample: FloatTensorreturn_dict: bool = True ) → [PiflowSchedulerOutput] or tuple
Parametreler
- model_output (torch.FloatTensor) — Her örnek kanalında
n_gridtahmin içeren genişletilmiş model çıktısı. - timestep (float veya torch.FloatTensor) — Güncel zamanlayıcı zaman adımı.
- sample (torch.FloatTensor) — Mevcut gürültülü örnek.
- return_dict (bool, isteğe bağlı, varsayılan True) — Bir [PiflowSchedulerOutput] döndürülüp döndürülmemeye karar verir.
Dönüş değeri
[PiflowSchedulerOutput] veya tuple
Güncellenmiş örnek.
PiFlow politikasını entegreleyerek bir adım ileriye gidin.
PiflowSchedulerOutput
sınıf diffusers.schedulers.scheduling_piflow.PiflowSchedulerOutput
< source >( prev_sample: Tensor )
Zamanlayıcının step işlevi çıktısı için çıktı sınıfı.