Diffusers documentation

HeliosScheduler

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

HeliosScheduler

HeliosScheduler est basé sur l'échantillonnage par correspondance de flux pyramidale introduit dans Helios.

HeliosScheduler

classe diffusers.HeliosScheduler

< >

( num_train_timesteps: int = 1000shift: float = 1.0stages: int = 3stage_range: list = [0, 0.3333333333333333, 0.6666666666666666, 1]gamma: float = 0.3333333333333333thresholding: bool = Falseprediction_type: str = 'flow_prediction'solver_order: int = 2predict_x0: bool = Truesolver_type: str = 'bh2'lower_order_final: bool = Truedisable_corrector: list = []solver_p: SchedulerMixin = Noneuse_flow_sigmas: bool = Truescheduler_type: str = 'unipc'use_dynamic_shifting: bool = Falsetime_shift_type: typing.Literal['exponential', 'linear'] = 'exponential' )

convert_model_output

< >

( model_output: Tensor*argssample: Tensor = Nonesigma: Tensor = None**kwargs ) → torch.Tensor

Paramètres

  • model_output (torch.Tensor) — La sortie directe du modèle de diffusion appris.
  • timestep (int) — L'étape discrète actuelle dans la chaîne de diffusion.
  • sample (torch.Tensor) — Une instance actuelle d'un échantillon créé par le processus de diffusion.
  • sigma (torch.Tensor, facultatif) — La valeur sigma de l'étape actuelle dans le calendrier de bruit.

Retourne

torch.Tensor

La sortie du modèle converti.

Convertir la sortie du modèle vers le type correspondant dont l'algorithme UniPC a besoin.

init_sigmas

< >

( )

initialiser les timesteps et les sigmas globaux

init_sigmas_for_each_stage

< >

( )

Initialiser les timesteps pour chaque étape

multistep_uni_c_bh_update

< >

( this_model_output: Tensor*argslast_sample: Tensor = Nonethis_sample: Tensor = Noneorder: int = Nonesigma_before: Tensor = Nonesigma: Tensor = None**kwargs ) → torch.Tensor

Paramètres

  • this_model_output (torch.Tensor) — Les sorties du modèle à x_t.
  • this_timestep (int) — L'étape temporelle actuelle t.
  • last_sample (torch.Tensor) — L'échantillon généré avant le dernier prédicteur x_{t-1}.
  • this_sample (torch.Tensor) — L'échantillon généré après le dernier prédicteur x_{t}.
  • order (int) — La valeur de p de UniC-p à cette étape. L'ordre d'exactitude effectif doit être order + 1.
  • sigma_before (torch.Tensor, facultatif) — Le sigma de l'étape précédente dans le calendrier de bruit.
  • sigma (torch.Tensor, facultatif) — La valeur sigma de l'étape actuelle dans le calendrier de bruit.

Retourne

torch.Tensor

Le tenseur d'échantillon corrigé à l'étape temporelle actuelle.

Une étape pour la version UniC (B(h)).

multistep_uni_p_bh_update

< >

( model_output: Tensor*argssample: Tensor = Noneorder: int = Nonesigma: Tensor = Nonesigma_next: Tensor = None**kwargs ) → torch.Tensor

Paramètres

  • model_output (torch.Tensor) — La sortie directe du modèle de diffusion appris à l'étape temporelle actuelle.
  • prev_timestep (int) — L'étape discrète précédente dans la chaîne de diffusion.
  • sample (torch.Tensor) — Une instance actuelle d'un échantillon créé par le processus de diffusion.
  • order (int) — L’ordre de UniP à ce pas de temps (correspond au p de UniPC-p).
  • sigma (torch.Tensor, facultatif) — La valeur sigma de l'étape actuelle dans le calendrier de bruit.
  • sigma_next (torch.Tensor, facultatif) — Le sigma de l'étape suivante dans le calendrier de bruit.

Retourne

torch.Tensor

Le tenseur d'échantillon à l'étape temporelle précédente.

Une étape pour UniP (version B(h)). Sinon, self.solver_p est utilisé si spécifié.

set_begin_index

< >

( begin_index: int = 0 )

Paramètres

  • begin_index (int) — L'index de début pour le planificateur.

Définit l'index de début pour le planificateur. Cette fonction doit être exécutée depuis le pipeline avant l'inférence.

set_timesteps

< >

( num_inference_steps: intstage_index: int | None = Nonedevice: typing.Union[str, torch.device] = Nonesigmas: bool | None = Nonemu: bool | None = Noneis_amplify_first_chunk: bool = False )

Définir les timesteps et les sigmas pour chaque étape

time_shift

< >

( mu: floatsigma: floatt: Tensor ) → torch.Tensor

Paramètres

  • mu (float) — Le paramètre mu pour le décalage temporel.
  • sigma (float) — Le paramètre sigma pour le décalage temporel.
  • t (torch.Tensor) — Les pas de temps d'entrée.

Retourne

torch.Tensor

Les pas de temps décalés dans le temps.

Appliquer un décalage temporel aux sigmas.

scheduling_helios

Update on GitHub