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.43.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

HeliosScheduler

HeliosScheduler é baseado no amostramento de fluxo-piramidal introduzido em 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[int] = []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

Parâmetros

  • model_output (torch.Tensor) — A saída direta do modelo de difusão aprendido.
  • timestep (int) — O timestep discreto atual na cadeia de difusão.
  • sample (torch.Tensor) — Uma instância atual de uma amostra criada pelo processo de difusão.
  • sigma (torch.Tensor, opcional) — O sigma da etapa atual no agendamento de ruído.

Retorna

torch.Tensor

A saída do modelo convertido.

Converta a saída do modelo para o tipo correspondente necessário pelo algoritmo UniPC.

init_sigmas

< >

( )

inicializar os timesteps e sigmas globais

init_sigmas_for_each_stage

< >

( )

Inicialize os timesteps para cada etapa

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

Parâmetros

  • this_model_output (torch.Tensor) — As saídas do modelo em x_t.
  • this_timestep (int) — O timestep atual t.
  • last_sample (torch.Tensor) — A amostra gerada antes do último preditor x_{t-1}.
  • this_sample (torch.Tensor) — A amostra gerada após o último preditor x_{t}.
  • order (int) — O p de UniC-p nesta etapa. A ordem de precisão efetiva deve ser order + 1.
  • sigma_before (torch.Tensor, opcional) — O sigma da etapa anterior no agendamento de ruído.
  • sigma (torch.Tensor, opcional) — O sigma da etapa atual no agendamento de ruído.

Retorna

torch.Tensor

O tensor de amostra corrigido no timestep atual.

Um passo para o UniC (versão B(h)).

multistep_uni_p_bh_update

< >

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

Parâmetros

  • model_output (torch.Tensor) — A saída direta do modelo de difusão aprendido no timestep atual.
  • prev_timestep (int) — O passo de tempo discreto anterior na cadeia de difusão.
  • sample (torch.Tensor) — Uma instância atual de uma amostra criada pelo processo de difusão.
  • order (int) — A ordem do UniP neste timestep (corresponde ao p em UniPC-p).
  • sigma (torch.Tensor, opcional) — O sigma da etapa atual no agendamento de ruído.
  • sigma_next (torch.Tensor, opcional) — O sigma do próximo passo no agendamento de ruído.

Retorna

torch.Tensor

O tensor de amostra no passo de tempo anterior.

Um passo para o UniP (versão B(h)). Alternativamente, self.solver_p é usado se especificado.

set_begin_index

< >

( begin_index: int = 0 )

Parâmetros

  • begin_index (int) — O índice inicial do agendador.

Define o índice inicial para o agendador. Esta função deve ser executada a partir do pipeline antes da inferência.

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 )

Definindo os timesteps e sigmas para cada etapa

time_shift

< >

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

Parâmetros

  • mu (float) — O parâmetro mu para o deslocamento de tempo.
  • sigma (float) — O parâmetro sigma para o deslocamento de tempo.
  • t (torch.Tensor) — Os passos de tempo de entrada.

Retorna

torch.Tensor

Os timesteps deslocados no tempo.

Aplicar o deslocamento temporal aos sigmas.

scheduling_helios

Update on GitHub