# MiniMaxH3Scheduler

`MiniMaxH3Scheduler`, [MiniMax-H3](https://huggingface.co/MiniMaxAI) tarafından kullanılan, üstel sigma kaydırması (`sigma' = s * sigma / (1 + (s - 1) * sigma)`) içeren düzeltilmiş akış Euler zamanlayıcısıdır (`eta = 0`).

MiniMax-H3 pipeline'ları bunlardan **ikisini** kaydeder, çünkü video ve ses latentleri, adım başına tek bir transformer çağrısı içinde iki farklı zaman çizelgesi üzerinden ilerler: `scheduler` video zaman çizelgesini (`shift=12.0` yayınlanan checkpoint'lerde) ve `audio_scheduler` ses zaman çizelgesini (`shift=3.0`) taşır.

## MiniMaxH3Scheduler[[diffusers.MiniMaxH3Scheduler]]

#### diffusers.MiniMaxH3Scheduler[[diffusers.MiniMaxH3Scheduler]]

```python
diffusers.MiniMaxH3Scheduler(shift: float = 12.0, stochastic_sampling: bool = False, shift_provided_sigmas: bool | None = None)
```

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

**Parametreler:**

shift (`float`, varsayılan `12.0`) : Sigma ızgarasına uygulanan üstel kaydırma, `sigma' = s*sigma / (1 + (s-1)*sigma)`. Yayınlanan kontrol noktaları, video latentleri için `12.0` ve ses latentleri için `3.0` kullanır.

stochastic_sampling (`bool`, varsayılan `False`) : Euler karışımını yeniden gürültüleme güncellemesiyle değiştirir: temiz örneği tahmin eder, ardından onu yeni gürültüyle bir sonraki sigmaya yeniden gürültüler. Az adımlı Pika H3 Flex adaptörleri bu güncelleme için eğitildi; temel denetim noktaları eğitilmedi.

shift_provided_sigmas (`bool`, *isteğe bağlı*) : [set_timesteps()](/docs/diffusers/main/tr/api/schedulers/minimax_h3#diffusers.MiniMaxH3Scheduler.set_timesteps) fonksiyonuna iletilen açık `sigmas` değerlerinin, zamanlayıcının `linspace` ızgarası gibi kaydırıldığı bir temel ızgara mı yoksa olduğu gibi alınan tamamlanmış bir zaman çizelgesi mi olduğunu belirtir. Ayarlanmamışsa, bir kullanım dışı bırakma uyarısıyla birlikte olduğu gibi alınır; varsayılan değer 0.44.0 sürümünde `True` olur.

MiniMax-H3 tarafından kullanılan, üstel sigma kaymasına sahip düzeltilmiş akış Euler zamanlayıcısı (`eta = 0`).

#### index_for_timestep[[diffusers.MiniMaxH3Scheduler.index_for_timestep]]

```python
index_for_timestep(timestep: typing.Union[float, torch.Tensor])
```

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

**Parametreler:**

timestep (`float` veya `torch.Tensor`) : `self.timesteps` içinden alınan bir değer. Zamanlama tablosu `t` açısından katı şekilde artan olduğundan, eşleşme benzersizdir.

**Dönüş:** `int`

`timestep` dizini.

Bir zaman adımı değerini, zaman çizelgesindeki indeksine eşleyin.

#### scale_noise[[diffusers.MiniMaxH3Scheduler.scale_noise]]

```python
scale_noise(sample: FloatTensor, timestep: typing.Union[float, torch.FloatTensor], noise: FloatTensor)
```

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

**Parametreler:**

sample (`torch.FloatTensor`) : Temiz örnek `x_0`.

timestep (`float` veya `torch.FloatTensor`) : `[0, 1]` aralığındaki hedef zaman; `1`, `sample`'i değiştirmeden döndürür.

noise (`torch.FloatTensor`) : Karıştırılacak gürültü.

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

Gürültülü örnek.

MiniMax-H3'ün `t` sözleşmesine göre düzeltilmiş akış ileri süreci: `x_t = t*x_0 + (1 - t)*noise`.

MiniMax-H3, koşullama çapalarını gürültülemek için bunu kullanır; burada `t`, bir zaman çizelgesi girdisi değil, `noise_aug` seviyesidir, bu nedenle `timestep` olduğu gibi alınır ve `self.timesteps` içinde *araştırılmaz*.

#### set_begin_index[[diffusers.MiniMaxH3Scheduler.set_begin_index]]

```python
set_begin_index(begin_index: int = 0)
```

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

**Parametreler:**

begin_index (`int`, varsayılan `0`) : Zamanlayıcının başlangıç indeksi.

Zamanlayıcının başlangıç indeksini ayarlar.

#### set_shift[[diffusers.MiniMaxH3Scheduler.set_shift]]

```python
set_shift(shift: float)
```

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

**Parametreler:**

shift (`float`) : Bir sonraki zaman çizelgesi için kullanılacak üstel kaydırma.

Yapılandırılmış sigma kaydırmasını geçersiz kılar; [set_timesteps()](/docs/diffusers/main/tr/api/schedulers/minimax_h3#diffusers.MiniMaxH3Scheduler.set_timesteps) çağrısından önce çağrılmalıdır.

MiniMax-H3 bunu her istek için `flow_shift` (video) / `audio_flow_shift` (ses) olarak sunar.

#### set_timesteps[[diffusers.MiniMaxH3Scheduler.set_timesteps]]

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

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

**Parametreler:**

num_inference_steps (`int`, *isteğe bağlı*) : Sigma ızgara noktası sayısı, son `0` dahil. `sigmas` verildiğinde yok sayılır.

device (`str` veya `torch.device`, *opsiyonel*) : Zaman çizelgesi tensörlerinin taşınacağı cihaz. Izgara her zaman CPU üzerinde float32 olarak oluşturulduğundan, zaman çizelgesi hızlandırıcıya bağlı değildir.

sigmas (`list[float]` veya `torch.Tensor`, *isteğe bağlı*) : Açıkça tanımlanmış, katı şekilde azalan ve `0.0` ile sonlanan bir ızgara. `shift_provided_sigmas=True` kullanıldığında, `linspace` ızgarası gibi kaydırma işleminden geçen `[0, 1]` aralığında bir temel ızgara olur; aksi halde olduğu gibi kullanılır (kullanımı durdurulan varsayılan).

Sigma / timestep zaman çizelgesini oluşturun.

Izgara, üst üste gelen ardışık kopyalar birleştirilerek üstel kaydırma (exponential shift) üzerinden geçirilen `linspace(1, 0, num_inference_steps)` veya `shift_provided_sigmas` ayarlandığında benzer şekilde kaydırılan açık `sigmas` değerleridir. Son `0` değeri zaten ızgaranın bir parçasıdır — kaydırma `0` değerini tam olarak `0` değerine eşler — bu nedenle zaman çizelgesi `num_inference_steps` sigma içerir ve `num_inference_steps - 1` model değerlendirmesini yönlendirir; bu değerler `self.timesteps = 1 - sigmas[:-1]` olarak dışa açılır.

#### adım[[diffusers.MiniMaxH3Scheduler.step]]

```python
step(model_output: FloatTensor, timestep: typing.Union[float, torch.FloatTensor], sample: FloatTensor, generator: typing.Optional[torch.Generator] = None, return_dict: bool = True)
```

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

**Parametreler:**

model_output (`torch.FloatTensor`) : `timestep` anında dönüştürücünün hız tahmini.

timestep (`float` veya `torch.FloatTensor`) : Güncel zaman adımı, `self.timesteps` değerlerinden biri (dolayısıyla `timestep == 1 - sigma`).

sample (`torch.FloatTensor`) : Mevcut örnek `x_t`.

generator (`torch.Generator`, *isteğe bağlı*) : `stochastic_sampling` ile yeni gürültünün çekildiği üreteç; aksi halde kullanılmaz.

return_dict (`bool`, varsayılan `True`) : Düz bir tuple yerine `MiniMaxH3SchedulerOutput` döndürülüp döndürülmemesi.

**Dönüş:** `MiniMaxH3SchedulerOutput` veya `tuple`

sonraki adım için örnek.

Bir Euler (`eta = 0`) adımı veya `stochastic_sampling` ile bir yeniden gürültüleme adımı alın.

Model çıktısı veri-yanı hızıdır, bu nedenle gürültüden arındırılmış tahmin `x0 = x_t + (1 - t) * v` şeklindedir — `+` işaretine dikkat edin, bu, yaygın akış-eşleşme (flow-match) sözleşmesinin tersidir. Güncelleme, `r = sigma_next / sigma` ile `x_next = r*x_t + (1 - r)*x0` karışımıdır ve yarı hassasiyetli örnekler için float32'de değerlendirilir. `stochastic_sampling` kullanıldığında güncelleme, `generator`'dan gelen taze gürültü ile `x_next = (1 - sigma_next) * x0 + sigma_next * noise` şeklindedir; her şey float32'dedir, bu nedenle son adım (`sigma_next = 0`) `x0` değerini döndürür.

## MiniMaxH3SchedulerOutput[[diffusers.schedulers.scheduling_minimax_h3.MiniMaxH3SchedulerOutput]]

#### diffusers.schedulers.scheduling_minimax_h3.MiniMaxH3SchedulerOutput[[diffusers.schedulers.scheduling_minimax_h3.MiniMaxH3SchedulerOutput]]

```python
diffusers.schedulers.scheduling_minimax_h3.MiniMaxH3SchedulerOutput(prev_sample: FloatTensor)
```

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

**Parametreler:**

prev_sample (`torch.FloatTensor`) : Gürültü azaltma döngüsünün sonraki adımı için hesaplanan örnek `x_{t+1}`.

Zamanlayıcının `step` işlevi çıktısı için çıktı sınıfı.

