Diffusers documentation
PiflowScheduler
PiflowScheduler
PiflowScheduler est le planificateur à peu d'étapes des points de contrôle distillés de Kandinsky 6, à la fois pour le modèle texte/image-vers-vidéo-et-audio et le modèle de super-résolution vidéo, ainsi que des points de contrôle distillés de Kandinsky S2V 1.0. Il implémente π-Flow : le transformeur prédit n_grid estimations débruitées par canal latent à un petit nombre de points de grille, et le planificateur intègre une politique sans réseau entre eux.
L'implémentation de référence peut être trouvée sur Lakonik/LakonLab.
PiflowScheduler
classe 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 )
Paramètres
- num_train_timesteps (
int, facultatif, valeur par défaut 1000) — Nombre d'étapes de diffusion d'entraînement. - shift (
float, facultatif, valeur par défaut 5.0) — Décalage de l'étape temporelle du flow-matching. - n_grid (
int, facultatif, valeur par défaut 10) — Nombre de prédictions dans la sortie élargie du modèle. - eps (
float, facultatif, par défaut 1e-6) — Pas de temps minimal et dénominateur de la politique. - final_step_size_scale (
float, facultatif, valeur par défaut 0.5) — Taille relative du segment final de pas bruts. - num_policy_substeps (
int, facultatif, valeur par défaut 128) — Nombre maximal de sous-étapes d’intégration de la politique par unité de pas de temps brut.
Planificateur PiFlow à peu d'étapes pour les transformeurs de diffusion à sortie élargie.
PiFlow évalue le modèle de débruitage sur un petit nombre de points de grille et intègre une politique sans réseau entre ces évaluations. Le planificateur est destiné aux points de contrôle distillés de Kandinsky 6, y compris le modèle principal vidéo/audio et le modèle de super-résolution vidéo. La sortie de leur modèle contient n_grid prédictions par canal d'échantillon.
Ce planificateur hérite de SchedulerMixin et ConfigMixin. Consultez la documentation des classes supérieures pour les méthodes génériques implémentées pour tous les planificateurs (chargement, sauvegarde, etc.).
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 )
Paramètres
- num_inference_steps (
int) — Nombre d'évaluations du modèle. - device (
stroutorch.device, facultatif) — Appareil pour l'ordonnancement. - sigmas (
list[float], facultatif) — Planification de sigma personnalisée non prise en charge. - mu (
float, facultatif) — Paramètre de décalage dynamique non pris en charge. - timesteps (
list[float], facultatif) — Planification personnalisée des pas de temps non prise en charge.
Définissez le calendrier des pas de temps PiFlow distillé.
étape
< source >( model_output: FloatTensortimestep: typing.Union[float, torch.FloatTensor]sample: FloatTensorreturn_dict: bool = True ) → [PiflowSchedulerOutput] or tuple
Paramètres
- model_output (torch.FloatTensor) — Sortie du modèle élargie contenant
n_gridprédictions par canal d'échantillon. - timestep (float ou torch.FloatTensor) — Timestep actuel du planificateur.
- sample (torch.FloatTensor) — Échantillon bruité actuel.
- return_dict (bool, facultatif, par défaut True) — Indique s'il faut retourner un [PiflowSchedulerOutput].
Retourne
[PiflowSchedulerOutput] ou tuple
Exemple mis à jour.
Avancez d'un pas en intégrant la politique PiFlow.
PiflowSchedulerOutput
classe diffusers.schedulers.scheduling_piflow.PiflowSchedulerOutput
< source >( prev_sample: Tensor )
Classe de sortie pour la sortie de la fonction step du planificateur.