# EntropyBoundScheduler

`EntropyBoundScheduler`, ortak entropisi `entropy_bound` altında kalan en düşük entropili konumları onaylar; böylece yaklaşık bağımsız tokenlar birlikte kabul edilir, geri kalanlar ise yeniden gürültülenir. Örnekleme sıcaklığını ilk adımda `t_max` değerinden son adımda `t_min` değerine kadar düşürür ve bu sayede yayınlanan checkpoint'in örnekleme cihazıyla eşleşir. [Accelerated Sampling from Masked Diffusion Models via Entropy Bounded Unmasking](https://huggingface.co/papers/2505.24857) makalesinde önerilmiştir.

Bu zamanlayıcı [DiffusionGemmaPipeline](/docs/diffusers/main/tr/api/pipelines/diffusion_gemma#diffusers.DiffusionGemmaPipeline) tarafından kullanılır.

## EntropyBoundScheduler[[diffusers.EntropyBoundScheduler]]

#### diffusers.EntropyBoundScheduler[[diffusers.EntropyBoundScheduler]]

```python
diffusers.EntropyBoundScheduler(entropy_bound: float = 0.1, t_max: float = 0.8, t_min: float = 0.4, num_inference_steps: int = 32)
```

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

**Parametreler:**

entropy_bound (`float`, varsayılan 0.1) : Kabul edilen tokenların tolere edilen maksimum ortak entropisi. Daha büyük değerler, adım başına daha fazla token kabul eder.

t_max (`float`, varsayılan 0.8) : İlk gürültü azaltma adımında örneklem sıcaklığı.

t_min (`float`, varsayılan 0.4) : Son gürültü azaltma adımında örneklem sıcaklığı.

num_inference_steps (`int`, varsayılan 32) : Maksimum gürültü azaltma adımı sayısı.

Düz bozulma süreci için entropi sınırı zamanlayıcı.

Her adımda zamanlayıcı, her konum için aday bir token örnekler ve `sum_i^k entropy_i - max(entropy_1, ..., entropy_k) <= entropy_bound` koşulunu sağlayan `k` en düşük entropili konumu kabul eder. Sol taraf, kabul edilen tokenlar arasındaki ortak karşılıklı bilgiyi üstten sınırlar, bu nedenle tokenlar yaklaşık olarak bağımsızdır. Kabul edilen konumlar örneklenen tokenlarını korur; diğerleri ise düzgün rastgele tokenlarla yeniden gürültülenir (mask token yoktur).

"Entropy Bounded Unmasking ile Maskeli Difüzyon Modellerinden Hızlandırılmış Örnekleme" (https://huggingface.co/papers/2505.24857) makalesinde önerilmiştir.

Örnekleme sıcaklığı, ilk adımda `t_max` değerinden son adımda `t_min` değerine kadar aşamalı olarak düşürülür; bu, yayınlanan kontrol noktasının örnekleme cihazıyla (gürültü giderme ilerledikçe daha keskin örnekleme) uyumludur. Bu değer, hem aday örnekleme hem de kabulü yönlendiren entropi için logit'lere uygulanır.

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

```python
step(model_output: torch.Tensor, timestep: int | torch.Tensor, sample: torch.LongTensor, entropy_bound: float | None = None, generator: torch.Generator | None = None, return_dict: bool = True)
```

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

**Parametreler:**

model_output (`torch.Tensor`, şekli `(batch_size, block_length, vocab_size)`) : Modelin mevcut blok için ham logit'leri.

timestep (`int` veya `torch.Tensor`) : Gürültü azaltma zamanlamasındaki (denoising schedule) mevcut adım indeksi; tavlama (annealed) örneklem sıcaklığını belirler.

sample (`torch.LongTensor`, şekli `(batch_size, block_length)`) : Mevcut blok token kimlikleri.

entropy_bound (`float`, *isteğe bağlı*) : Bu adım için yapılandırılmış entropi sınırını geçersiz kılar.

generator (`torch.Generator`, *isteğe bağlı*) : Örnekleme için RNG.

return_dict (`bool`) : [EntropyBoundSchedulerOutput](/docs/diffusers/main/tr/api/schedulers/entropy_bound#diffusers.EntropyBoundSchedulerOutput) döndürülecek mi yoksa düz bir tuple mı döndürülecek.

Entropi sınırının altındaki en düşük entropili konumları kabul edin ve kalanları yeniden gürültüleyin.

## EntropyBoundSchedulerOutput[[diffusers.EntropyBoundSchedulerOutput]]

#### diffusers.EntropyBoundSchedulerOutput[[diffusers.EntropyBoundSchedulerOutput]]

```python
diffusers.EntropyBoundSchedulerOutput(prev_sample: torch.LongTensor, accepted_index: torch.BoolTensor, sampled_tokens: torch.LongTensor, sampled_probs: torch.Tensor, pred_logits: torch.Tensor)
```

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

**Parametreler:**

prev_sample (`torch.LongTensor`, şekli `(batch_size, block_length)`) : Güncel gürültü azaltma adımından sonra güncellenmiş blok jetonları.

accepted_index (`torch.BoolTensor`, şekli `(batch_size, block_length)`) : Bu adımda kabul edilen (taahhüt edilen) konumların Boole maskesi.

sampled_tokens (`torch.LongTensor`, şekli `(batch_size, block_length)`) : Model logitlerinden örneklenen token kimlikleri.

sampled_probs (`torch.Tensor`, şekli `(batch_size, block_length)`) : Örneklenen tokenların olasılıkları.

pred_logits (`torch.Tensor`, şekli `(batch_size, block_length, vocab_size)`) : Bir sonraki adımın kendine koşullandırılması için adayların çekildiği, sıcaklık ölçekli logitler.

Entropi sınırı zamanlayıcısı için çıktı sınıfı.

