Diffusers documentation

EntropyBoundScheduler

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

EntropyBoundScheduler

EntropyBoundScheduler, ortak entropisi entropy_bound altında kalan en düşük entropili konumları onaylar; böylece yaklaşık bağımsız jetonlar 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 doğru düşürür ve bu, yayınlanan kontrol noktasının örnekleme cihazıyla eşleşir. Accelerated Sampling from Masked Diffusion Models via Entropy Bounded Unmasking makalesinde önerilmiştir.

Bu zamanlayıcı DiffusionGemmaPipeline tarafından kullanılır.

EntropyBoundScheduler

sınıf diffusers.EntropyBoundScheduler

< >

( entropy_bound: float = 0.1t_max: float = 0.8t_min: float = 0.4num_inference_steps: int = 32 )

Parametreler

  • entropy_bound (float, varsayılan 0.1) — Kabul edilen tokenların kabul edilebilir 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) — Gürültü azaltma adımlarının maksimum 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”de önerilmiştir (https://huggingface.co/papers/2505.24857).

Ö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 logitlere uygulanır.

adım

< >

( model_output: torch.Tensortimestep: int | torch.Tensorsample: torch.LongTensorentropy_bound: float | None = Nonegenerator: torch.Generator | None = Nonereturn_dict: bool = True )

Parametreler

  • model_output (torch.Tensor, şekli (batch_size, block_length, vocab_size)) — Mevcut blok için modelden gelen ham logitler.
  • timestep (int veya torch.Tensor) — Gürültü azaltma zaman çizelgesindeki mevcut adım indeksi; tavlama örneklemesinin sıcaklığını belirler.
  • sample (torch.LongTensor, şekli (batch_size, block_length)) — Güncel 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 döndürülüp döndürülmediği ya da düz bir tuple döndürülüp döndürülmediği.

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

EntropyBoundSchedulerOutput

sınıf diffusers.EntropyBoundSchedulerOutput

< >

( prev_sample: torch.LongTensoraccepted_index: torch.BoolTensorsampled_tokens: torch.LongTensorsampled_probs: torch.Tensorpred_logits: torch.Tensor )

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 logit'lerinden örneklenen token kimlikleri.
  • sampled_probs (torch.Tensor, şekli (batch_size, block_length)) — Örnekleme yapılan 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ı.

Update on GitHub