# FlowMatchHeunDiscreteScheduler

`FlowMatchHeunDiscreteScheduler`, [EDM](https://huggingface.co/papers/2403.03206)'de tanıtılan akış eşleştirme örneklemesine dayanmaktadır.

## FlowMatchHeunDiscreteScheduler[[diffusers.FlowMatchHeunDiscreteScheduler]]

#### diffusers.FlowMatchHeunDiscreteScheduler[[diffusers.FlowMatchHeunDiscreteScheduler]]

```python
diffusers.FlowMatchHeunDiscreteScheduler(num_train_timesteps: int = 1000, shift: float = 1.0)
```

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

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

Heun zamanlayıcı.

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.

#### index_for_timestep[[diffusers.FlowMatchHeunDiscreteScheduler.index_for_timestep]]

```python
index_for_timestep(timestep: typing.Union[float, torch.FloatTensor], schedule_timesteps: typing.Optional[torch.FloatTensor] = None)
```

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

**Parametreler:**

timestep (`float` veya `torch.FloatTensor`) : Zamanlamada bulunacak timestep değeri.

schedule_timesteps (`torch.FloatTensor`, *isteğe bağlı*) : Aranacak zaman adımı zamanlaması. `None` ise `self.timesteps` kullanılır.

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

Zaman adımı planındaki zaman adımının indeksi.

Verilen zaman adımının zaman adımı zaman çizelgesindeki indeksini bulun.

#### scale_noise[[diffusers.FlowMatchHeunDiscreteScheduler.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_flow_match_heun_discrete.py#L106)

**Parametreler:**

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

timestep (`float` veya `torch.FloatTensor`) : Difüzyon zincirindeki mevcut zaman adımı.

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

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

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

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

#### set_begin_index[[diffusers.FlowMatchHeunDiscreteScheduler.set_begin_index]]

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

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

**Parametreler:**

begin_index (`int`, varsayılan `0`) : Zamanlayıcının 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_timesteps[[diffusers.FlowMatchHeunDiscreteScheduler.set_timesteps]]

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

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

**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.FlowMatchHeunDiscreteScheduler.step]]

```python
step(model_output: FloatTensor, timestep: typing.Union[float, torch.FloatTensor], sample: FloatTensor, s_churn: float = 0.0, s_tmin: float = 0.0, s_tmax: float = inf, s_noise: float = 1.0, generator: typing.Optional[torch.Generator] = None, return_dict: bool = True)
```

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

**Parametreler:**

model_output (`torch.FloatTensor`) : Öğrenen difüzyon modelinden gelen doğrudan çıktı.

timestep (`float` veya `torch.FloatTensor`) : 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`) : Örnekleme sırasında eklenen gürültü miktarını kontrol eden stokastisite parametresi. Daha yüksek değerler rastgeleliği artırır.

s_tmin (`float`) : Stokastisitenin uygulanması için minimum zaman adımı eşiği. Sadece bu değerin üzerindeki zaman adımlarına gürültü eklenir.

s_tmax (`float`) : Stokastisitenin uygulanması için maksimum zaman adımı eşiği. Sadece bu değerin altındaki zaman adımlarına gürültü eklenir.

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.

return_dict (`bool`) : `FlowMatchHeunDiscreteSchedulerOutput` demetinin döndürülüp döndürülmemesi.

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

return_dict `True` ise `FlowMatchHeunDiscreteSchedulerOutput` 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.

