# CogVideoXDDIMScheduler

`CogVideoXDDIMScheduler`, özellikle CogVideoX modelleri için [Denoising Diffusion Implicit Models](https://huggingface.co/papers/2010.02502) üzerine kuruludur.

## CogVideoXDDIMScheduler[[diffusers.CogVideoXDDIMScheduler]]

#### diffusers.CogVideoXDDIMScheduler[[diffusers.CogVideoXDDIMScheduler]]

```python
diffusers.CogVideoXDDIMScheduler(num_train_timesteps: int = 1000, beta_start: float = 0.00085, beta_end: float = 0.012, beta_schedule: typing.Literal['linear', 'scaled_linear', 'squaredcos_cap_v2'] = 'scaled_linear', trained_betas: numpy.ndarray | list[float] | None = None, clip_sample: bool = True, set_alpha_to_one: bool = True, steps_offset: int = 0, prediction_type: typing.Literal['epsilon', 'sample', 'v_prediction'] = 'epsilon', clip_sample_range: float = 1.0, sample_max_value: float = 1.0, timestep_spacing: typing.Literal['linspace', 'leading', 'trailing'] = 'leading', rescale_betas_zero_snr: bool = False, snr_shift_scale: float = 3.0)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_ddim_cogvideox.py#L133)

**Parametreler:**

num_train_timesteps (`int`, varsayılan 1000) : Modelin eğitileceği difüzyon adım sayısı.

beta_start (`float`, varsayılan 0.00085) : Çıkarımın başlangıç `beta` değeri.

beta_end (`float`, varsayılan 0.0120) : Son `beta` değeri.

beta_schedule (`str`, varsayılan `"scaled_linear"`) : Beta zamanlaması, modelin adım atması için beta aralığını beta dizisine eşleyen bir haritalamadır. `linear`, `scaled_linear` veya `squaredcos_cap_v2` seçeneklerinden birini seçin.

trained_betas (`np.ndarray`, *isteğe bağlı*) : `beta_start` ve `beta_end` parametrelerini atlamak için beta dizisini doğrudan yapılandırıcıya iletin.

clip_sample (`bool`, varsayılan `True`) : Sayısal kararlılık için tahmini ö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ı `1` olarak sabitlenir, aksi takdirde 0. adımdaki 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](https://huggingface.co/papers/2210.02303) paper).

thresholding (`bool`, varsayılan `False`) : "Dinik eşikleme" yönteminin kullanılıp kullanılmayacağını belirtir. Bu, Stable Diffusion gibi gizli uzay difüzyon modelleri için uygun değildir.

dynamic_thresholding_ratio (`float`, varsayılan 0.995) : Dinamik eşikleme yöntemi için oran. Yalnızca `thresholding=True` olduğunda geçerlidir.

sample_max_value (`float`, varsayılan 1.0) : Dinamik eşikleme için eşik değeri. Yalnızca `thresholding=True` olduğunda geçerlidir.

timestep_spacing (`str`, varsayılan `"leading"`) : Zaman adımlarının ölçeklendirilme yöntemi. Daha fazla bilgi için [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891) makalesindeki Tablo 2'ye bakın.

rescale_betas_zero_snr (`bool`, varsayılan `False`) : Betaların sıfır terminal SNR'ye sahip olacak şekilde yeniden ölçeklenip ölçeklenmeyeceğini belirtir. Bu, modelin orta parlaklıktaki örneklerle sınırlı kalmak yerine çok parlak ve karanlık örnekler üretmesini sağlar. [`--offset_noise`](https://github.com/huggingface/diffusers/blob/74fd735eb073eb1d774b1ab4154a0876eb82f055/examples/dreambooth/train_dreambooth.py#L506) ile gevşek bir şekilde ilişkilidir.

snr_shift_scale (`float`, varsayılan 3.0) : SNR için kaydırma ölçeği.

`DDIMScheduler`, gürültü azaltma difüzyon olasılıksal modellerinde (DDPM) tanıtılan gürültü azaltma işlemini, Markov olmayan yönlendirme ile genişletir.

Bu model [SchedulerMixin](/docs/diffusers/main/tr/api/schedulers/overview#diffusers.SchedulerMixin) ve [ConfigMixin](/docs/diffusers/main/tr/api/configuration#diffusers.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.

#### add_noise[[diffusers.CogVideoXDDIMScheduler.add_noise]]

```python
add_noise(original_samples: Tensor, noise: Tensor, timesteps: IntTensor)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_ddim_cogvideox.py#L428)

**Parametreler:**

original_samples (`torch.Tensor`) : Gürültü eklenecek orijinal örnekler.

noise (`torch.Tensor`) : Örneklere eklenecek gürültü.

timesteps (`torch.IntTensor`) : Her örnek için gürültü seviyesini gösteren zaman adımları.

**Dönüş:** `torch.Tensor`

Gürültülü örnekler.

Her zaman adımındaki gürültü büyüklüğüne göre orijinal örneklerin gürültü ekleyin (bu, ileri difüzyon sürecidir).

#### get_velocity[[diffusers.CogVideoXDDIMScheduler.get_velocity]]

```python
get_velocity(sample: Tensor, noise: Tensor, timesteps: IntTensor)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_ddim_cogvideox.py#L471)

**Parametreler:**

sample (`torch.Tensor`) : Girdi örneği.

noise (`torch.Tensor`) : Gürültü tensörü.

timesteps (`torch.IntTensor`) : Hız hesaplama için zaman adımları.

**Dönüş:** `torch.Tensor`

Hesaplanan hız.

Hız formülüne göre örnek ve gürültüden hız tahminini hesaplayın.

#### scale_model_input[[diffusers.CogVideoXDDIMScheduler.scale_model_input]]

```python
scale_model_input(sample: Tensor, timestep: int = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_ddim_cogvideox.py#L260)

**Parametreler:**

sample (`torch.Tensor`) : Girdi örneği.

timestep (`int`, *isteğe bağlı*) : Difüzyon zincirindeki mevcut zaman adımı.

**Dönüş:** `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[[diffusers.CogVideoXDDIMScheduler.set_timesteps]]

```python
set_timesteps(num_inference_steps: int, device: typing.Union[str, torch.device, NoneType] = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_ddim_cogvideox.py#L277)

**Parametreler:**

num_inference_steps (`int`) : Ön eğitilmiş bir modelle örnekler oluşturulurken kullanılan difüzyon adım sayısı.

device (`str` veya `torch.device`, *opsiyonel*) : Timestep'lerin taşınacağı cihaz. `None` ise timestep'ler 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[[diffusers.CogVideoXDDIMScheduler.step]]

```python
step(model_output: Tensor, timestep: int, sample: Tensor, eta: float = 0.0, use_clipped_model_output: bool = False, generator: typing.Optional[torch.Generator] = None, variance_noise: typing.Optional[torch.Tensor] = None, return_dict: bool = True)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_ddim_cogvideox.py#L328)

**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.

eta (`float`) : Difüzyon adımında eklenen gürültünün ağırlığı.

use_clipped_model_output (`bool`, varsayılan `False`) : `True` ise, kırpılmış tahmini orijinal örnekten "düzeltilmiş" `model_output` hesaplanır. `self.config.clip_sample` `True` olduğunda tahmini orijinal örnek [-1, 1] aralığına kırpıldığı için bu işlem gereklidir. Kırpma işlemi gerçekleşmediyse, "düzeltilmiş" `model_output` girdi olarak sağlananla aynı olur ve `use_clipped_model_output` hiçbir etki göstermez.

generator (`torch.Generator`, *isteğe bağlı*) : Rastgele sayı üreteci.

variance_noise (`torch.Tensor`) : `generator` ile gürültü üretmek yerine, varyans için gürültüyü doğrudan sağlayarak bunu yapmanın alternatifi. `CycleDiffusion` gibi yöntemler için faydalıdır.

return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : [DDIMSchedulerOutput](/docs/diffusers/main/tr/api/schedulers/ddim#diffusers.schedulers.scheduling_ddim.DDIMSchedulerOutput) mu yoksa `tuple` mu döndürüleceğini belirtir.

**Dönüş:** [DDIMSchedulerOutput](/docs/diffusers/main/tr/api/schedulers/ddim#diffusers.schedulers.scheduling_ddim.DDIMSchedulerOutput) veya `tuple`

return_dict `True` ise [DDIMSchedulerOutput](/docs/diffusers/main/tr/api/schedulers/ddim#diffusers.schedulers.scheduling_ddim.DDIMSchedulerOutput) 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.

