Diffusers documentation

DDIMInverseScheduler

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

DDIMInverseScheduler

DDIMInverseScheduler, Jiaming Song, Chenlin Meng ve Stefano Ermon tarafından geliştirilen Denoising Diffusion Implicit Models (DDIM) modelinin tersine çevrilmiş zamanlayıcısıdır. Uygulama, büyük ölçüde Null-text Inversion for Editing Real Images using Guided Diffusion Models makalesindeki DDIM tersine çevirme tanımına dayanmaktadır.

DDIMInverseScheduler

sınıf diffusers.DDIMInverseScheduler

< >

( num_train_timesteps: int = 1000beta_start: float = 0.0001beta_end: float = 0.02beta_schedule: typing.Literal['linear', 'scaled_linear', 'squaredcos_cap_v2'] = 'linear'trained_betas: numpy.ndarray | list[float] | None = Noneclip_sample: bool = Trueset_alpha_to_one: bool = Truesteps_offset: int = 0prediction_type: typing.Literal['epsilon', 'sample', 'v_prediction'] = 'epsilon'clip_sample_range: float = 1.0timestep_spacing: typing.Literal['leading', 'trailing'] = 'leading'rescale_betas_zero_snr: bool = False**kwargs )

Parametreler

  • num_train_timesteps (int, varsayılan 1000) — Modelin eğitileceği difüzyon adım sayısı.
  • beta_start (float, varsayılan 0.0001) — Çıkarımın başlangıç beta değeri.
  • beta_end (float, varsayılan 0.02) — Son beta değeri.
  • beta_schedule (str, varsayılan "linear") — Beta zamanlaması, modelin adım atması için beta aralığını beta dizisine eşleyen bir haritadır. Seçenekler: linear, scaled_linear veya squaredcos_cap_v2.
  • trained_betas (np.ndarray, optional) — Pass an array of betas directly to the constructor to bypass beta_start and beta_end.
  • clip_sample (bool, varsayılan True) — Sayısal kararlılık için tahmin edilen örneği kırpın.
  • clip_sample_range (float, varsayılan 1.0) — Örnek kırpma için maksimum büyüklük. Yalnızca clip_sample=True olduğunda geçerlidir.
  • set_alpha_to_one (bool, varsayılan True) — Her difüzyon adımı, o adımdaki ve bir önceki adımdaki alfa çarpım değerini kullanır. Son adım için bir önceki alfa yoktur. Bu seçenek True olduğunda bir önceki alfa çarpımı 0 olarak sabitlenir, aksi takdirde num_train_timesteps - 1 adımındaki alfa değeri kullanılır.
  • steps_offset (int, varsayılan 0) — Bazı model ailelerinin gerektirdiği gibi, çıkarım adımlarına eklenen bir ofset.
  • prediction_type (str, defaults to epsilon, optional) — Prediction type of the scheduler function; can be epsilon (predicts the noise of the diffusion process), sample (directly predicts the noisy sample) or v_prediction` (see section 2.4 of Imagen Video paper).
  • timestep_spacing (str, varsayılan "leading") — Adımların ölçeklendirilme biçimi. Daha fazla bilgi için Common Diffusion Noise Schedules and Sample Steps are Flawed makalesindeki Tablo 2'ye bakın.
  • rescale_betas_zero_snr (bool, varsayılan False) — Betalara sıfır son SNR değerine sahip olacak şekilde yeniden ölçeklendirme uygulanıp uygulanmayacağı. Bu, modelin orta parlaklıktaki örneklerle sınırlı kalmak yerine çok parlak ve çok karanlık örnekler üretmesini sağlar. --offset_noise ile gevşek bir şekilde ilişkilidir.

DDIMInverseScheduler, DDIMScheduler'in ters zamanlayıcısıdır.

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.

scale_model_input

< >

( sample: Tensortimestep: int | None = None ) → torch.Tensor

Parametreler

  • sample (torch.Tensor) — Girdi örneği.
  • timestep (int, isteğe bağlı) — Difüzyon zincirindeki mevcut zaman adımı.

Dönüş değeri

torch.Tensor

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

Gürültüden arındırma modelinin girdisinin mevcut zaman adımına bağlı olarak ölçeklenmesi gereken zamanlayıcılarla değiştirilebilirliği sağlar.

set_timesteps

< >

( num_inference_steps: intdevice: typing.Union[str, torch.device, NoneType] = None )

Parametreler

  • num_inference_steps (int) — Ö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.

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: Tensortimestep: intsample: Tensorreturn_dict: bool = True ) → ~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput or tuple

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.
  • return_dict (bool, isteğe bağlı, varsayılan True) — ~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput veya tuple döndürülüp döndürülmemeye karar verir.

Dönüş değeri

~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput veya tuple

return_dict True ise ~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput döndürülür, aksi halde ilk öğesi örnek tensörü olan bir tuple döndürülü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.

Update on GitHub