Diffusers documentation

FlowMatchEulerDiscreteScheduler

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

FlowMatchEulerDiscreteScheduler

FlowMatchEulerDiscreteScheduler, Stable Diffusion 3'te tanıtılan akış eşleştirme örneklemesine dayanmaktadır.

FlowMatchEulerDiscreteScheduler

sınıf diffusers.FlowMatchEulerDiscreteScheduler

< >

( num_train_timesteps: int = 1000shift: float = 1.0use_dynamic_shifting: bool = Falsebase_shift: float | None = 0.5max_shift: float | None = 1.15base_image_seq_len: int = 256max_image_seq_len: int = 4096invert_sigmas: bool = Falseshift_terminal: float = Noneuse_karras_sigmas: bool = Falseuse_exponential_sigmas: bool = Falseuse_beta_sigmas: bool = Falsetime_shift_type: typing.Literal['exponential', 'linear'] = 'exponential'stochastic_sampling: bool = False )

Parametreler

  • num_train_timesteps (int, varsayılan 1000) — Modelin eğitileceği difüzyon adım sayısı.
  • shift (float, varsayılan 1.0) — Zaman adımı zaman çizelgesi için kaydırma değeri.
  • use_dynamic_shifting (bool, varsayılan olarak False) — Görsel çözünürlüğüne göre timestep shifting'in anlık olarak uygulanıp uygulanmayacağı.
  • base_shift (float, varsayılan 0.5) — Görsel üretimini istikrarlı kılmak için kullanılan değer. base_shift artırıldığında çeşitlilik azalır ve görsel, istenen çıktıyla daha tutarlı hale gelir.
  • max_shift (float, varsayılan 1.15) — Gizil vektörlerde izin verilen değer değişimi. max_shift değerini artırmak daha fazla çeşitliliği teşvik eder ve görüntü daha abartılı veya stilize olabilir.
  • base_image_seq_len (int, varsayılan 256) — Temel görüntü dizisi uzunluğu.
  • max_image_seq_len (int, varsayılan 4096) — Maksimum görüntü dizisi uzunluğu.
  • invert_sigmas (bool, varsayılan olarak False) — Sigmaların ters çevrilip çevrilmeyeceği.
  • shift_terminal (float, varsayılan: None) — Kaydırılmış zaman adımı zaman çizelgesinin son değeri.
  • use_karras_sigmas (bool, varsayılan olarak False) — Örnekleme sırasında gürültü zamanlamasındaki adım boyutları için Karras sigmas'larının kullanılıp kullanılmayacağı.
  • use_exponential_sigmas (bool, varsayılan olarak False) — Örnekleme sırasında gürültü zamanlamasında adım boyutları için üstel sigmaların kullanılıp kullanılmayacağı.
  • use_beta_sigmas (bool, varsayılan olarak False) — Örnekleme sırasında gürültü zamanlamasında adım boyutları için beta sigmaların kullanılıp kullanılmayacağı.
  • time_shift_type (str, varsayılan “exponential”) — Uygulanacak dinamik, çözünürlükten bağımlı zaman adımı kaydırma türü. “exponential” veya “linear” olabilir.
  • stochastic_sampling (bool, varsayılan olarak False) — Stokastik örneklemenin kullanılıp kullanılmayacağı.

Euler zamanlayıcı.

Bu model SchedulerMixin ve ConfigMixin sınıflarından devralır. Kütüphanenin tüm zamanlayıcılar için yükleme ve kaydetme gibi genel yöntemleri uyguladığı üst sınıf belgelendirmesini kontrol edin.

index_for_timestep

< >

( timestep: typing.Union[float, torch.FloatTensor]schedule_timesteps: typing.Optional[torch.FloatTensor] = None ) → int

Parametreler

  • timestep (float veya torch.FloatTensor) — Dizinini bulmak için kullanılan timestep.
  • schedule_timesteps (torch.FloatTensor, isteğe bağlı) — Doğrulanacak zaman adımları. None ise, zamanlayıcının zaman adımları kullanılır.

Dönüş değeri

int

Zaman adımı indeksi.

Verilen zaman adımının indeksini alın.

scale_noise

< >

( sample: FloatTensortimestep: typing.Union[float, torch.FloatTensor]noise: typing.Optional[torch.FloatTensor] = None ) → torch.FloatTensor

Parametreler

  • sample (torch.FloatTensor) — Girdi örneği.
  • timestep (torch.FloatTensor) — Difüzyon zincirindeki mevcut zaman adımı.
  • noise (torch.FloatTensor) — Gürültü tensörü.

Dönüş değeri

torch.FloatTensor

Ölçeklendirilmiş bir girdi örneği.

Akış eşleştirmede ileri süreç

set_begin_index

< >

( begin_index: int = 0 )

Parametreler

  • begin_index (int, varsayılan 0) — 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_shift

< >

( shift: float )

Parametreler

  • shift (float) — Ayarlanacak kaydırma değeri.

Zamanlayıcı için kaydırma değerini ayarlar.

set_timesteps

< >

( num_inference_steps: int | None = Nonedevice: typing.Union[str, torch.device] = Nonesigmas: list[float] | None = Nonemu: float | None = Nonetimesteps: list[float] | None = None )

Parametreler

  • num_inference_steps (int, isteğe bağlı) — Önceden eğitilmiş bir modelle örnekler oluşturulurken kullanılan difüzyon adım sayısı.
  • device (str veya torch.device, isteğe bağlı) — Adımların (timesteps) taşınacağı cihaz. None ise adımlar taşınmaz.
  • sigmas (list[float], isteğe bağlı) — Her difüzyon adımı için kullanılacak sigmaların özel değerleri. None ise sigmalar otomatik olarak hesaplanır.
  • mu (float, isteğe bağlı) — Çözünürlüğe bağlı zaman adımı kaydırma işlemi sırasında sigmalara uygulanan kaydırma miktarını belirler.
  • timesteps (list[float], isteğe bağlı) — Her difüzyon adımı için kullanılacak özel timestep değerleri. None ise, timestepler otomatik olarak hesaplanır.

Difüzyon zinciri için kullanılan ayrık zaman adımlarını ayarlar (çalıştırılmadan önce çıkarım yapılmalıdır).

adım

< >

( model_output: FloatTensortimestep: typing.Union[float, torch.FloatTensor]sample: FloatTensors_churn: float = 0.0s_tmin: float = 0.0s_tmax: float = infs_noise: float = 1.0generator: typing.Optional[torch.Generator] = Noneper_token_timesteps: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = True ) → FlowMatchEulerDiscreteSchedulerOutput or tuple

Parametreler

  • model_output (torch.FloatTensor) — Öğrenen difüzyon modelinden gelen doğrudan çıktı.
  • timestep (float) — Difüzyon zincirindeki mevcut ayrık zaman adımı.
  • sample (torch.FloatTensor) — Difüzyon süreci tarafından oluşturulan bir örneğin mevcut bir örneği.
  • s_churn (float) —
  • s_tmin (float) —
  • s_tmax (float) —
  • s_noise (float, varsayılan 1.0) — Örneğe eklenen gürültü için ölçekleme faktörü.
  • generator (torch.Generator, isteğe bağlı) — Rastgele sayı üreteci.
  • per_token_timesteps (torch.Tensor, isteğe bağlı) — Örnekteki her token için zaman adımları.
  • return_dict (bool, varsayılan True) — FlowMatchEulerDiscreteSchedulerOutput veya tuple döndürülüp döndürülmemesi.

Dönüş değeri

FlowMatchEulerDiscreteSchedulerOutput veya tuple

return_dict True ise, FlowMatchEulerDiscreteSchedulerOutput döndürülür, aksi halde bir tuple döndürülür ve bu tuple'ın ilk öğesi örnek tensörüdür.

Önceki zaman adımındaki örneği SDE'yi tersine çevirerek tahmin edin. Bu işlev, öğrenilen model çıktılarını (en sık tahmin edilen gürültüyü) kullanarak difüzyon sürecini ilerletir.

stretch_shift_to_terminal

< >

( t: Tensor ) → torch.Tensor

Parametreler

  • t (torch.Tensor) — Uzatılacak ve kaydırılacak zaman adımlarının tensörü.

Dönüş değeri

torch.Tensor

Son değeri self.config.shift_terminal değerine eşit olacak şekilde ayarlanmış adımlardan oluşan bir tensör.

Zaman adımlı zaman çizelgesini uzatarak ve kaydırarak, yapılandırılmış shift_terminal yapılandırma değeriyle sonlanmasını sağlar.

Referans: https://github.com/Lightricks/LTX-Video/blob/a01a171f8fe3d99dce2728d60a73fecf4d4238ae/ltx_video/schedulers/rf.py#L51

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.

Update on GitHub