Diffusers documentation
DDIMInverseScheduler
DDIMInverseScheduler
DDIMInverseScheduler adalah scheduler terbalik dari Denoising Diffusion Implicit Models (DDIM) oleh Jiaming Song, Chenlin Meng, dan Stefano Ermon.
Implementasinya sebagian besar didasarkan pada definisi inversi DDIM dari Null-text Inversion for Editing Real Images using Guided Diffusion Models.
DDIMInverseScheduler
kelas diffusers.DDIMInverseScheduler
< source >( 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 )
Parameter
- num_train_timesteps (
int, defaultnya 1000) — Jumlah langkah difusi untuk melatih model. - beta_start (
float, defaultnya 0.0001) — Nilaibetaawal untuk inferensi. - beta_end (
float, defaultnya 0.02) — Nilaibetaakhir. - beta_schedule (
str, defaultnya"linear") — Jadwal beta, pemetaan dari rentang beta ke urutan beta untuk melangkahkan model. Pilih darilinear,scaled_linear, atausquaredcos_cap_v2. - trained_betas (
np.ndarray, opsional) — Lewatibeta_startdanbeta_enddengan meneruskan array betas langsung ke konstruktor. - clip_sample (
bool, defaultnyaTrue) — Memotong sampel yang diprediksi untuk stabilitas numerik. - clip_sample_range (
float, default 1.0) — Magnitudo maksimum untuk pemotongan sampel. Hanya valid ketikaclip_sample=True. - set_alpha_to_one (
bool, defaultTrue) — Setiap langkah difusi menggunakan nilai produk alfa pada langkah tersebut dan pada langkah sebelumnya. Untuk langkah terakhir, tidak ada alfa sebelumnya. Ketika opsi iniTrue, produk alfa sebelumnya ditetapkan ke 0, selain itu menggunakan nilai alfa pada langkahnum_train_timesteps - 1. - steps_offset (
int, defaultnya 0) — Offset yang ditambahkan ke langkah inferensi, sesuai kebutuhan beberapa keluarga model. - prediction_type (
str, defaults toepsilon, optional) — Prediction type of the scheduler function; can beepsilon(predicts the noise of the diffusion process),sample(directly predicts the noisy sample) orv_prediction` (see section 2.4 of Imagen Video paper). - timestep_spacing (
str, defaultnya"leading") — Cara timestep harus diskalakan. Lihat Tabel 2 dari Common Diffusion Noise Schedules and Sample Steps are Flawed untuk informasi lebih lanjut. - rescale_betas_zero_snr (
bool, defaultnyaFalse) — Apakah akan menskalakan ulang betas agar memiliki SNR terminal nol. Hal ini memungkinkan model untuk menghasilkan sampel yang sangat terang dan gelap, alih-alih membatasi pada sampel dengan kecerahan sedang. Terkait secara longgar dengan--offset_noise.
DDIMInverseScheduler adalah scheduler kebalikan dari DDIMScheduler.
Model ini mewarisi dari SchedulerMixin dan ConfigMixin. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan pustaka ini untuk semua scheduler, seperti pemuatan dan penyimpanan.
scale_model_input
< source >( sample: Tensortimestep: int | None = None ) → torch.Tensor
Memastikan interoperabilitas dengan scheduler yang perlu menskalakan input model denoising berdasarkan timestep saat ini.
set_timesteps
< source >( num_inference_steps: intdevice: typing.Union[str, torch.device, NoneType] = None )
Menetapkan langkah waktu diskrit yang digunakan untuk rantai difusi (untuk dijalankan sebelum inferensi).
langkah
< source >( model_output: Tensortimestep: intsample: Tensorreturn_dict: bool = True ) → ~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput or tuple
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. - return_dict (
bool, opsional, defaultTrue) — Apakah akan mengembalikan~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutputatautuple.
Mengembalikan
~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput atau tuple
Jika True, ~schedulers.scheduling_ddim_inverse.DDIMInverseSchedulerOutput dikembalikan, selain itu sebuah tuple dikembalikan di mana elemen pertama adalah tensor sampel.
Prediksi sampel dari langkah waktu sebelumnya dengan membalik SDE. Fungsi ini menyebarkan proses difusi dari keluaran model yang dipelajari (paling sering berupa noise yang diprediksi).