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 didasarkan pada sampling flow-matching piramidal yang diperkenalkan dalam Helios.

HeliosScheduler

kelas 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

Parameter

  • model_output (torch.Tensor) — Output langsung dari model difusi yang dipelajari.
  • timestep (int) — Timestep diskrit saat ini dalam rantai difusi.
  • sample (torch.Tensor) — Instans saat ini dari sampel yang dibuat oleh proses difusi.
  • sigma (torch.Tensor, opsional) — Sigma dari langkah saat ini dalam jadwal noise.

Mengembalikan

torch.Tensor

Output model yang telah dikonversi.

Konversi keluaran model ke tipe yang sesuai yang dibutuhkan oleh algoritma UniPC.

init_sigmas

< >

( )

inisialisasi timesteps dan sigmas global

init_sigmas_for_each_stage

< >

( )

Inisialisasi timesteps untuk setiap tahap

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

Parameter

  • this_model_output (torch.Tensor) — Output model pada x_t.
  • this_timestep (int) — Timestep saat ini t.
  • last_sample (torch.Tensor) — Sampel yang dihasilkan sebelum predictor terakhir x_{t-1}.
  • this_sample (torch.Tensor) — Sampel yang dihasilkan setelah predictor terakhir x_{t}.
  • order (int) — Nilai p dari UniC-p pada langkah ini. Orde akurasi efektif seharusnya order + 1.
  • sigma_before (torch.Tensor, opsional) — Sigma dari langkah sebelumnya dalam jadwal noise.
  • sigma (torch.Tensor, opsional) — Sigma dari langkah saat ini dalam jadwal noise.

Mengembalikan

torch.Tensor

Tensor sampel yang dikoreksi pada langkah waktu saat ini.

Satu langkah untuk UniC (versi B(h)).

multistep_uni_p_bh_update

< >

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

Parameter

  • model_output (torch.Tensor) — Output langsung dari model difusi yang dipelajari pada timestep saat ini.
  • prev_timestep (int) — Langkah waktu diskrit sebelumnya dalam rantai difusi.
  • sample (torch.Tensor) — Instans saat ini dari sampel yang dibuat oleh proses difusi.
  • order (int) — Urutan UniP pada timestep ini (sesuai dengan p dalam UniPC-p).
  • sigma (torch.Tensor, opsional) — Sigma dari langkah saat ini dalam jadwal noise.
  • sigma_next (torch.Tensor, opsional) — Sigma dari langkah berikutnya dalam jadwal noise.

Mengembalikan

torch.Tensor

Tensor sampel pada langkah waktu sebelumnya.

Satu langkah untuk UniP (versi B(h)). Sebagai alternatif, self.solver_p digunakan jika ditentukan.

set_begin_index

< >

( begin_index: int = 0 )

Parameter

  • begin_index (int) — Indeks awal untuk scheduler.

Menetapkan indeks awal untuk penjadwal. Fungsi ini harus dijalankan dari pipeline sebelum inferensi.

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 )

Mengatur timesteps dan sigmas untuk setiap tahap

time_shift

< >

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

Parameter

  • mu (float) — Parameter mu untuk pergeseran waktu.
  • sigma (float) — Parameter sigma untuk pergeseran waktu.
  • t (torch.Tensor) — Langkah waktu input.

Mengembalikan

torch.Tensor

Langkah-langkah waktu yang digeser.

Terapkan pergeseran waktu ke sigmas.

scheduling_helios

Update on GitHub