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, Helios makalesinde tanıtılan piramidal akış eşleştirme örneklemesine dayanmaktadır.

HeliosScheduler

sınıf 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

Parametreler

  • model_output (torch.Tensor) — Öğrenen difüzyon modelinden gelen doğrudan çıktı.
  • timestep (int) — Difüzyon zincirindeki mevcut ayrık zaman adımı.
  • sample (torch.Tensor) — Difüzyon süreci tarafından oluşturulan bir örneğin mevcut bir örneği.
  • sigma (torch.Tensor, isteğe bağlı) — Gürültü zamanlamasındaki mevcut adımın sigması.

Dönüş değeri

torch.Tensor

Dönüştürülen model çıktısı.

Model çıktısını UniPC algoritmasının gerektirdiği ilgili tipe dönüştürün.

init_sigmas

< >

( )

global timesteps ve sigmas değerlerini başlatın

init_sigmas_for_each_stage

< >

( )

Her aşama için zaman adımlarını başlatın

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

Parametreler

  • this_model_output (torch.Tensor) — Modelin x_t çıktısı.
  • this_timestep (int) — Güncel zaman adımı t.
  • last_sample (torch.Tensor) — Son tahminci x_{t-1} öncesindeki üretilmiş örnek.
  • this_sample (torch.Tensor) — Son tahminci x_{t} sonrasında üretilen örnek.
  • order (int) — Bu adımda UniC-p'nin p değeri. Etkin doğruluk derecesi order + 1 olmalıdır.
  • sigma_before (torch.Tensor, isteğe bağlı) — Gürültü zamanlamasındaki bir önceki adımın sigması.
  • sigma (torch.Tensor, isteğe bağlı) — Gürültü zamanlamasındaki mevcut adımın sigması.

Dönüş değeri

torch.Tensor

Güncel zaman adımındaki düzeltilmiş örnek tensörü.

UniC (B(h) sürümü) için bir adım.

multistep_uni_p_bh_update

< >

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

Parametreler

  • model_output (torch.Tensor) — Mevcut zaman adımında öğrenilen difüzyon modelinden gelen doğrudan çıktı.
  • prev_timestep (int) — Difüzyon zincirindeki önceki ayrık zaman adımı.
  • sample (torch.Tensor) — Difüzyon süreci tarafından oluşturulan bir örneğin mevcut bir örneği.
  • order (int) — Bu zaman adımındaki UniP sırası (UniPC-p'deki p'ye karşılık gelir).
  • sigma (torch.Tensor, isteğe bağlı) — Gürültü zamanlamasındaki mevcut adımın sigması.
  • sigma_next (torch.Tensor, isteğe bağlı) — Gürültü zamanlamasındaki bir sonraki adımın sigması.

Dönüş değeri

torch.Tensor

Önceki zaman adımındaki örnek tensör.

UniP (B(h) sürümü) için bir adım. Alternatif olarak, self.solver_p belirtilirse kullanılır.

set_begin_index

< >

( begin_index: int = 0 )

Parametreler

  • begin_index (int) — Zamanlayıcı için başlangıç indeksi.

Zamanlayıcının başlangıç indeksini ayarlar. Bu işlev, çıkarım (inference) öncesinde pipeline'dan çalıştırılmalıdır.

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 )

Her aşama için timesteps ve sigmas değerlerini ayarlama

time_shift

< >

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

Parametreler

  • mu (float) — Zaman kaydırması için mu parametresi.
  • sigma (float) — Zaman kaydırması için sigma parametresi.
  • t (torch.Tensor) — Girdi zaman adımları.

Dönüş değeri

torch.Tensor

Zaman kaydırılmış zaman adımları.

Sigmalara zaman kaydırma uygulayın.

scheduling_helios

Update on GitHub