Diffusers documentation

Rehberler

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

Rehberler

Guiders, Modular Diffusers içindeki, üretim sırasında difüzyon sürecinin nasıl yönlendirileceğini kontrol eden bileşenlerdir. Üretim kalitesini ve kontrolünü iyileştirmek için çeşitli yönlendirme tekniklerini uygularlar.

BaseGuidance

sınıf diffusers.BaseGuidance

< >

( start: float = 0.0stop: float = 1.0enabled: bool = True )

Yönlendirme tekniklerini uygulamak için iskeleti sağlayan temel sınıf.

cleanup_models

< >

( denoiser: torch.nn.Module )

Verilen bir veri grubundan sonra rehberlik tekniği için modelleri temizler. Bu yöntem, belirli model temizleme mantığını uygulamak için alt sınıflarda yeniden tanımlanmalıdır. prepare_models sırasında yapılan kancaların (hook) veya diğer durumlu değişikliklerin kaldırılması için faydalıdır.

from_pretrained

< >

( pretrained_model_name_or_path: str | os.PathLike | None = Nonesubfolder: str | None = Nonereturn_unused_kwargs = False**kwargs )

Parametreler

  • pretrained_model_name_or_path (str veya os.PathLike, isteğe bağlı) — Şu seçeneklerden biri olabilir:
    • Bir dize, Hub üzerinde barındırılan önceden eğitilmiş bir modelin model kimliği (örneğin google/ddpm-celebahq-256).
    • save_pretrained() ile kaydedilen guider yapılandırmasını içeren bir dizin (örneğin ./my_model_directory) yoluna
  • subfolder (str, isteğe bağlı) — Hub'da veya yerel olarak daha büyük bir model deposu içindeki bir model dosyasının alt klasör konumu.
  • return_unused_kwargs (bool, isteğe bağlı, varsayılan False) — Python sınıfı tarafından tüketilmeyen kwargs'nın geri döndürülüp döndürülmeyeceği.
  • cache_dir (str | os.PathLike, isteğe bağlı) — Standart önbellek kullanılmıyorsa, indirilen önceden eğitilmiş model yapılandırmasının önbelleğe alındığı dizinin yolu.
  • force_download (bool, isteğe bağlı, varsayılan False) — Model ağırlıklarının ve yapılandırma dosyalarının (yeniden) indirilmesinin zorlanıp zorlanmayacağını belirler; önbellekteki sürümler varsa bunların üzerine yazar.
  • proxies (dict[str, str], isteğe bağlı) — Protokole veya uç noktaya göre kullanılacak vekil sunucuların sözlüğü, örneğin {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Vekiller her istekte kullanılır.
  • output_loading_info(bool, opsiyonel, varsayılan olarak False) — Eksik anahtarlar, beklenmeyen anahtarlar ve hata mesajlarını içeren bir sözlüğü de döndürülüp döndürülmeyeceğini belirtir.
  • local_files_only(bool, isteğe bağlı, varsayılan False) — Yalnızca yerel model ağırlıkları ve yapılandırma dosyalarının yüklenip yüklenmeyeceğini belirtir. True olarak ayarlanırsa, model Hub'dan indirilmez.
  • token (str veya bool, isteğe bağlı) — Uzak dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton. True ise, diffusers-cli login ile oluşturulan jeton ( ~/.huggingface içinde saklanır) kullanılır.
  • revision (str, isteğe bağlı, varsayılan "main") — Kullanılacak belirli model sürümü. Bir dal adı, etiket adı, commit kimliği veya Git tarafından izin verilen herhangi bir tanımlayıcı olabilir.

Yerel bir dizindeki veya Hub deposundaki önceden tanımlı bir JSON yapılandırma dosyasından bir guider örneği oluşturun.

> Özel veya kısıtlı modelleri kullanmak için hf > auth login ile oturum açın. Ayrıca, bu yöntemi duvarlı bir ortamda kullanmak için özel > “çevrimdışı mod”u etkinleştirebilirsiniz.

get_state

< >

( )

Rehberlik tekniğinin mevcut durumunu bir sözlük olarak döndürür. Durum değişkenleri repr metodunda yer alır. Döndürülen: dict[str, Any]: Şunları içeren mevcut durum değişkenlerini barındıran bir sözlük:

  • step: Geçerli çıkarım adımı
  • num_inference_steps: Toplam çıkarım adımı sayısı
  • timestep: Mevcut timestep tensörü
  • count_prepared: prepare_models'in kaç kez çağrıldığı
  • enabled: Rehberliğin etkin olup olmadığı
  • num_conditions: Koşul sayısı

yeni

< >

( **kwargs )

Parametreler

  • **kwargs — Yeni örnekte geçersiz kılınacak yapılandırma parametreleri. Hiçbir kwargs sağlanmazsa, aynı yapılandırmaya sahip tam bir kopya döndürülür.

Bu guider örneğinin bir kopyasını oluşturur, isteğe bağlı olarak değiştirilmiş yapılandırma parametreleriyle.

Örnek:

# Create a CFG guider
guider = ClassifierFreeGuidance(guidance_scale=3.5)

# Create an exact copy
same_guider = guider.new()

# Create a copy with different start step, keeping other config the same
new_guider = guider.new(guidance_scale=5)

prepare_models

< >

( denoiser: torch.nn.Module )

Verilen bir veri grubu için modelleri rehberlik tekniğine hazırlar. Bu yöntem, belirli model hazırlama mantığını uygulamak için alt sınıflarda yeniden tanımlanmalıdır.

save_pretrained

< >

( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )

Parametreler

  • save_directory (str veya os.PathLike) — Yapılandırma JSON dosyasının kaydedileceği dizin (varsa oluşturulur).
  • push_to_hub (bool, isteğe bağlı, varsayılan False) — Modelinizi kaydettikten sonra Hugging Face Hub'a gönderip göndermeyeceğinizi belirtir. Göndermek istediğiniz depoyu repo_id ile belirtebilirsiniz (varsayılan olarak ad alanınızdaki save_directory adını kullanır).
  • kwargs (dict[str, Any], isteğe bağlı) — push_to_hub() yöntemine iletilen ek anahtar kelime argümanları.

Bir guider yapılandırma nesnesini, from_pretrained() sınıf yöntemi kullanılarak yeniden yüklenebilmesi için bir dizine kaydedin.

ClassifierFreeGuidance

sınıf diffusers.ClassifierFreeGuidance

< >

( guidance_scale: float = 7.5guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

Parametreler

  • guidance_scale (float, varsayılan 7.5) — Bu yönlendiricinin (guider) son işleme sırasında uyguladığı CFG ölçeği. Daha yüksek değerler = daha güçlü istem koşullandırması, ancak kaliteyi düşürebilir. Tipik aralık: 1.0-20.0.
  • guidance_rescale (float, varsayılan 0.0) — Yüksek rehberlik ölçeklerinden kaynaklanan aşırı pozlamayı önlemek için yeniden ölçeklendirme faktörü. Common Diffusion Noise Schedules and Sample Steps are Flawed makalesine dayanır. Aralık: 0.0 (yeniden ölçeklendirme yok) ile 1.0 (tam yeniden ölçeklendirme) arasında.
  • use_original_formulation (bool, varsayılan False) — True ise, makaledeki orijinal CFG formülasyonunu kullanır. False (varsayılan) ise, Imagen makalesindeki diffusers yerel formülasyonunu kullanır.
  • start (float, varsayılan 0.0) — CFG'nin başlatıldığı gürültü giderme adımlarının oranı (0.0-1.0). Erken gürültü giderme adımlarında CFG'yi devre dışı bırakmak için > 0.0 kullanın.
  • stop (float, varsayılan 1.0) — CFG'nin duracağı gürültü azaltma adımlarının oranı (0.0-1.0). Geç gürültü azaltma adımlarında CFG'yi devre dışı bırakmak için < 1.0 kullanın.
  • enabled (bool, varsayılan True) — CFG'nin etkin olup olmadığı. CFG'yi tamamen devre dışı bırakmak için False olarak ayarlayın (yalnızca koşullu tahminleri kullanır).

Difüzyon modelleri için Sınıflandırıcı-Ücretsiz Yönlendirme (CFG) uygular.

Referans: https://huggingface.co/papers/2207.12598

CFG, modelleri hem koşullu hem de koşulsuz veriler üzerinde birlikte eğitip çıkarım sırasında tahminleri birleştirerek üretim kalitesini ve istem uyumunu iyileştirir. Bu, kalite (yüksek yönlendirme) ve çeşitlilik (düşük yönlendirme) arasında ödünleşim yapmayı mümkün kılar.

İki CFG Formülasyonu:

  1. Orijinal formülasyon (makaleden):
x_pred = x_cond + guidance_scale * (x_cond - x_uncond)
Moves conditional predictions further from unconditional ones.
  1. Diffusers yerel formülasyonu (varsayılan, Imagen makalesinden):
x_pred = x_uncond + guidance_scale * (x_cond - x_uncond)
Moves unconditional predictions toward conditional ones, effectively suppressing negative features (e.g., "bad quality", "watermarks"). Equivalent in theory but more intuitive.

Orijinal formülasyona geçmek için use_original_formulation=True kullanın.

ClassifierFreeZeroStarGuidance

sınıf diffusers.ClassifierFreeZeroStarGuidance

< >

( guidance_scale: float = 7.5zero_init_steps: int = 1guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

Parametreler

  • guidance_scale (float, varsayılan 7.5) — Sınıflandırıcı-özgür yönlendirme için ölçek parametresi. Daha yüksek değerler, metin istemine daha güçlü bir koşullandırmaya yol açarken, daha düşük değerler üretimde daha fazla özgürlük sağlar. Daha yüksek değerler, doygunluğa ve görüntü kalitesinin bozulmasına neden olabilir.
  • zero_init_steps (int, varsayılan 1) — Gürültü tahminlerinin sıfırlandığı çıkarım adım sayısı (Bölüm 4.2'ye bakın).
  • guidance_rescale (float, varsayılan 0.0) — Gürültü tahminlerine uygulanan yeniden ölçeklendirme faktörü. Bu, görüntü kalitesini iyileştirmek ve aşırı pozlamayı düzeltmek için kullanılır. Common Diffusion Noise Schedules and Sample Steps are Flawed makalesinin 3.4 bölümüne dayanmaktadır.
  • use_original_formulation (bool, varsayılan False) — Makalede önerilen classifier-free guidance'nin orijinal formülasyonunun kullanılıp kullanılmayacağını belirtir. Varsayılan olarak, kod tabanında uzun süredir bulunan diffusers yerel uygulamasını kullanır. Daha fazla ayrıntı için [~guiders.classifier_free_guidance.ClassifierFreeGuidance] bölümüne bakın.
  • start (float, varsayılan 0.01) — Güdülmenin (guidance) başlatıldığı, toplam gürültü azaltma adım sayısının kesri.
  • stop (float, varsayılan 0.2) — Gürültü azaltma adımlarının toplam sayısının, yönlendirmenin duracağı kesri.

Serbest sınıflandırıcı sıfır(CFG-Zero): https://huggingface.co/papers/2503.18886

Bu, sınıflandırıcı-özgür yönlendirme (classifier-free guidance) tekniğinin bir varyantı olan Classifier-Free Zero* yönlendirme tekniğinin bir uygulamasıdır. Bu teknik, difüzyon sürecinin ilk birkaç adımında gürültü tahminlerinin sıfır ile başlatılmasını önerir ve ayrıca üretilen görüntülerin kalitesini iyileştirmeye yardımcı olabilecek, gürültü tahminleri için bir optimum yeniden ölçeklendirme katsayısı tanıtır.

Makalenin yazarları, çıkarım adımlarının ilk %4'ünde sıfır başlatma ayarlamasını önermektedir.

SkipLayerGuidance

sınıf diffusers.SkipLayerGuidance

< >

( guidance_scale: float = 7.5skip_layer_guidance_scale: float = 2.8skip_layer_guidance_start: float = 0.01skip_layer_guidance_stop: float = 0.2skip_layer_guidance_layers: int | list[int] | None = Noneskip_layer_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

Parametreler

  • guidance_scale (float, varsayılan 7.5) — Sınıflandırıcı-özgür yönlendirme için ölçek parametresi. Daha yüksek değerler, metin istemine daha güçlü bir koşullandırmaya yol açarken, daha düşük değerler üretimde daha fazla özgürlük sağlar. Daha yüksek değerler, doygunluğa ve görüntü kalitesinin bozulmasına neden olabilir.
  • skip_layer_guidance_scale (float, varsayılan 2.8) — Skip layer guidance için ölçek parametresi. Daha yüksek değerler anatomik ve yapısal tutarlılığı iyileştirebilir, ancak aşırı pozlama ve doygunluğa da yol açabilir.
  • skip_layer_guidance_start (float, varsayılan 0.01) — Skip layer guidance'in başlangıç noktası olarak, toplam gürültü azaltma adım sayısının ne kadarlık bir oranı.
  • skip_layer_guidance_stop (float, varsayılan 0.2) — Gürültü azaltma adımlarının toplam sayısının, skip layer guidance'in duracağı kesri.
  • skip_layer_guidance_layers (int veya list[int], isteğe bağlı) — Skip layer guidance uygulamanın istediği katman indeksleri. Tek bir tamsayı veya tamsayı listesi olabilir. Verilmezse, skip_layer_config sağlanmalıdır. Stable Diffusion 3.5 Medium için önerilen değerler [7, 8, 9]'dir.
  • skip_layer_config (LayerSkipConfig veya list[LayerSkipConfig], isteğe bağlı) — Katman atlama yönlendirmesi için yapılandırma. Tek bir LayerSkipConfig veya LayerSkipConfig listesi olabilir. Sağlanmazsa, skip_layer_guidance_layers sağlanmalıdır.
  • guidance_rescale (float, varsayılan 0.0) — Gürültü tahminlerine uygulanan yeniden ölçeklendirme faktörü. Bu, görüntü kalitesini iyileştirmek ve aşırı pozlamayı düzeltmek için kullanılır. Common Diffusion Noise Schedules and Sample Steps are Flawed makalesinin 3.4 bölümüne dayanmaktadır.
  • use_original_formulation (bool, varsayılan False) — Makalede önerilen classifier-free guidance'nin orijinal formülasyonunun kullanılıp kullanılmayacağını belirtir. Varsayılan olarak, kod tabanında uzun süredir bulunan diffusers yerel uygulamasını kullanır. Daha fazla ayrıntı için [~guiders.classifier_free_guidance.ClassifierFreeGuidance] bölümüne bakın.
  • start (float, varsayılan 0.01) — Güdülmenin (guidance) başlatıldığı, toplam gürültü azaltma adım sayısının kesri.
  • stop (float, varsayılan 0.2) — Gürültü azaltma adımlarının toplam sayısının, yönlendirmenin duracağı kesri.

Katman Yönlendirmesini Atla (SLG): https://github.com/Stability-AI/sd3.5

Zaman-Uzamsal Yönlendirme (STG): https://huggingface.co/papers/2411.18664

SLG, üretilen görsellerde yapı ve anatomi tutarlılığını iyileştirmek için StabilityAI tarafından tanıtılmıştır. Çalışma prensibi, CFG'de ([~guiders.classifier_free_guidance.ClassifierFreeGuidance]) zaten kullanılan koşullu ve koşulsuz toplulukların yanı sıra, gürültü giderme sürecinde ek bir koşullu veri topluluğu üzerinde, belirtilen dönüştürücü blokların ileri geçişini atlayarak ve ardından koşullu (atlama olmadan) ile koşullu (atlama ile) tahminler arasındaki farka dayalı olarak CFG tahminlerini ölçekleyip kaydırarak gerçekleşir.

SLG'nin arkasındaki sezgi, CFG'nin tahmin ettiği dağılım tahminlerini, koşullu dağılım tahminlerinin daha kötü versiyonlarından daha uzağa kaydırmak olarak düşünülebilir (katman atlamanın, koşullu tahmin için modelin daha kötü bir versiyonunu kullanmaya eşdeğer olması nedeniyle).

STG, video difüzyon modellerinde üretim kalitesini iyileştirmek için SLG, PAG ve benzeri tekniklerden gelen fikirleri birleştiren bir iyileştirme ve devam çalışmasıdır.

Ek okuma:

skip_layer_guidance_scale, skip_layer_guidance_start ve skip_layer_guidance_stop değerleri, StabilityAI'nin Stable Diffusion 3.5 Medium için yaptığı önerilere göre varsayılan olarak ayarlanmıştır.

SmoothedEnergyGuidance

sınıf diffusers.SmoothedEnergyGuidance

< >

( guidance_scale: float = 7.5seg_guidance_scale: float = 2.8seg_blur_sigma: float = 9999999.0seg_blur_threshold_inf: float = 9999.0seg_guidance_start: float = 0.0seg_guidance_stop: float = 1.0seg_guidance_layers: int | list[int] | None = Noneseg_guidance_config: SmoothedEnergyGuidanceConfig | list[SmoothedEnergyGuidanceConfig] = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

Parametreler

  • guidance_scale (float, varsayılan 7.5) — Sınıflandırıcı-özgür yönlendirme için ölçek parametresi. Daha yüksek değerler, metin istemine daha güçlü bir koşullandırmaya yol açarken, daha düşük değerler üretimde daha fazla özgürlük sağlar. Daha yüksek değerler, doygunluğa ve görüntü kalitesinin bozulmasına neden olabilir.
  • seg_guidance_scale (float, varsayılan 3.0) — Yumuşatılmış enerji yönlendirmesi için ölçek parametresi. Daha yüksek değerler anatomik ve yapısal tutarlılığı iyileştirebilir, ancak aşırı pozlama ve doygunluğa da yol açabilir.
  • seg_blur_sigma (float, varsayılan 9999999.0) — Dikkat ağırlıklarını bulanlaştırma miktarı. Bu değeri 9999.0'dan büyük olarak ayarlamak sonsuz bulanıklığa yol açar; bu da eşit sorgular anlamına gelir. Bu değerin üstel olarak kontrol edilmesinin ampirik olarak etkili olduğu görülmüştür.
  • seg_blur_threshold_inf (float, varsayılan 9999.0) — Bulanıklığın sonsuz olarak kabul edildiği eşik değeri.
  • seg_guidance_start (float, varsayılan 0.0) — Yumuşatılmış enerji yönlendirmesinin başlangıcının, toplam gürültü azaltma adım sayısının ne kadarlık bir oranından sonra gerçekleşeceğini belirtir.
  • seg_guidance_stop (float, varsayılan 1.0) — Yumuşatılmış enerji yönlendirmesinin duracağı, toplam gürültü azaltma adım sayısının oranı.
  • seg_guidance_layers (int veya list[int], isteğe bağlı) — Yumuşatılmış enerji yönlendirmesinin uygulanacağı katman indeksleri. Tek bir tamsayı veya tamsayı listesi olabilir. Belirtilmezse, seg_guidance_config sağlanmalıdır. Stable Diffusion 3.5 Medium için önerilen değerler [7, 8, 9]'dir.
  • seg_guidance_config (SmoothedEnergyGuidanceConfig veya list[SmoothedEnergyGuidanceConfig], isteğe bağlı) — Yumuşatılmış enerji katmanı yönlendirmesi için yapılandırma. Tek bir SmoothedEnergyGuidanceConfig veya SmoothedEnergyGuidanceConfig listesinden oluşabilir. Sağlanmazsa, seg_guidance_layers sağlanmalıdır.
  • guidance_rescale (float, varsayılan 0.0) — Gürültü tahminlerine uygulanan yeniden ölçeklendirme faktörü. Bu, görüntü kalitesini iyileştirmek ve aşırı pozlamayı düzeltmek için kullanılır. Common Diffusion Noise Schedules and Sample Steps are Flawed makalesinin 3.4 bölümüne dayanmaktadır.
  • use_original_formulation (bool, varsayılan False) — Makalede önerilen classifier-free guidance'nin orijinal formülasyonunun kullanılıp kullanılmayacağını belirtir. Varsayılan olarak, kod tabanında uzun süredir bulunan diffusers yerel uygulamasını kullanır. Daha fazla ayrıntı için [~guiders.classifier_free_guidance.ClassifierFreeGuidance] bölümüne bakın.
  • start (float, varsayılan 0.01) — Güdülmenin (guidance) başlatıldığı, toplam gürültü azaltma adım sayısının kesri.
  • stop (float, varsayılan 0.2) — Gürültü azaltma adımlarının toplam sayısının, yönlendirmenin duracağı kesri.

Yumuşatılmış Enerji Rehberliği (SEG): https://huggingface.co/papers/2408.00760

SEG şu anda yalnızca deneysel bir prototip özellik olarak desteklenmektedir, bu nedenle uygulama gelecekte uyarı veya yeniden üretilebilirlik garantisi verilmeden değiştirilebilir. Bu uygulama şunları varsayar:

  • Oluşturulan görüntüler kare şeklindedir (height == width)
  • Model, farklı modaliteleri bir arada birleştirmiyor (örneğin, Flux'taki gibi metin ve görüntü latent akışları birleştirilmiyor)

PerturbedAttentionGuidance

sınıf diffusers.PerturbedAttentionGuidance

< >

( guidance_scale: float = 7.5perturbed_guidance_scale: float = 2.8perturbed_guidance_start: float = 0.01perturbed_guidance_stop: float = 0.2perturbed_guidance_layers: int | list[int] | None = Noneperturbed_guidance_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

Parametreler

  • guidance_scale (float, varsayılan 7.5) — Sınıflandırıcı-özgür yönlendirme için ölçek parametresi. Daha yüksek değerler, metin istemine daha güçlü bir koşullandırmaya yol açarken, daha düşük değerler üretimde daha fazla özgürlük sağlar. Daha yüksek değerler, doygunluğa ve görüntü kalitesinin bozulmasına neden olabilir.
  • perturbed_guidance_scale (float, varsayılan 2.8) — Perturbed attention guidance için ölçek parametresi.
  • perturbed_guidance_start (float, varsayılan 0.01) — Perturbe edilmiş dikkat yönlendirmesinin başlangıç noktası olarak, toplam gürültü giderme adım sayısının ne kadarlık bir oranı.
  • perturbed_guidance_stop (float, varsayılan 0.2) — Perturbe edilmiş dikkat yönlendirmesinin duracağı, toplam gürültü giderme adım sayısının oranı.
  • perturbed_guidance_layers (int veya list[int], isteğe bağlı) — Perturbed attention guidance uygulanacak katman indeksleri. Tek bir tamsayı veya tamsayı listesi olabilir. Verilmezse, perturbed_guidance_config sağlanmalıdır.
  • perturbed_guidance_config (LayerSkipConfig veya list[LayerSkipConfig], isteğe bağlı) — Perturbed attention guidance yapılandırması. Tek bir LayerSkipConfig veya LayerSkipConfig listesi olabilir. Sağlanmazsa, perturbed_guidance_layers sağlanmalıdır.
  • guidance_rescale (float, varsayılan 0.0) — Gürültü tahminlerine uygulanan yeniden ölçeklendirme faktörü. Bu, görüntü kalitesini iyileştirmek ve aşırı pozlamayı düzeltmek için kullanılır. Common Diffusion Noise Schedules and Sample Steps are Flawed makalesinin 3.4 bölümüne dayanmaktadır.
  • use_original_formulation (bool, varsayılan False) — Makalede önerilen classifier-free guidance'nin orijinal formülasyonunun kullanılıp kullanılmayacağını belirtir. Varsayılan olarak, kod tabanında uzun süredir bulunan diffusers yerel uygulamasını kullanır. Daha fazla ayrıntı için [~guiders.classifier_free_guidance.ClassifierFreeGuidance] bölümüne bakın.
  • start (float, varsayılan 0.01) — Güdülmenin (guidance) başlatıldığı, toplam gürültü azaltma adım sayısının kesri.
  • stop (float, varsayılan 0.2) — Gürültü azaltma adımlarının toplam sayısının, yönlendirmenin duracağı kesri.

Perturbed Attention Guidance (PAG): https://huggingface.co/papers/2403.17377

PAG'nin arkasındaki sezgi, CFG'nin tahmin ettiği dağılım tahminlerini, koşullu dağılım tahminlerinin daha kötü versiyonlarından daha da uzaklaştırmak olarak düşünülebilir. PAG, gürültü giderme sürecinde kendini daha iyi yönlendirmek için eğitilmiş modelin daha kötü bir versiyonunu kullanma fikrini tanıtan ilk tekniklerden biriydi. Seçilen katmanlar için skor matrisini birim matrisle değiştirerek latent akışın dikkat skorlarını bozar.

Ek okuma:

PAG, yapılandırma parametrelerindeki ve uygulama detaylarındaki örtüşme nedeniyle SkipLayerGuidance ile benzer bir uygulamaya sahiptir.

AdaptiveProjectedGuidance

sınıf diffusers.AdaptiveProjectedGuidance

< >

( guidance_scale: float = 7.5adaptive_projected_guidance_momentum: float | None = Noneadaptive_projected_guidance_rescale: float = 15.0adaptive_projected_guidance_norm_dim: int | tuple[int, ...] | None = Noneeta: float = 1.0guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

Parametreler

  • guidance_scale (float, varsayılan 7.5) — Sınıflandırıcı-özgür yönlendirme için ölçek parametresi. Daha yüksek değerler, metin istemine daha güçlü bir koşullandırmaya yol açarken, daha düşük değerler üretimde daha fazla özgürlük sağlar. Daha yüksek değerler, doygunluğa ve görüntü kalitesinin bozulmasına neden olabilir.
  • adaptive_projected_guidance_momentum (float, varsayılan None) — Adaptif projeksiyonlu yönlendirme için momentum parametresi. None olarak ayarlanırsa devre dışı bırakılır.
  • adaptive_projected_guidance_rescale (float, varsayılan 15.0) — Gürültü tahminlerine uygulanan yeniden ölçeklendirme faktörü. Bu, görüntü kalitesini iyileştirmek ve düzeltmek için
  • adaptive_projected_guidance_norm_dim (int veya tuple[int], isteğe bağlı) — APG normu ve projeksiyonunun hesaplanacağı boyut(lar). Atlanırsa, orijinal davranışı korumak için tüm batch dışı boyutlar kullanılır.
  • guidance_rescale (float, varsayılan 0.0) — Gürültü tahminlerine uygulanan yeniden ölçeklendirme faktörü. Bu, görüntü kalitesini iyileştirmek ve aşırı pozlamayı düzeltmek için kullanılır. Common Diffusion Noise Schedules and Sample Steps are Flawed makalesinin 3.4 bölümüne dayanmaktadır.
  • use_original_formulation (bool, varsayılan False) — Makalede önerilen classifier-free guidance'nin orijinal formülasyonunun kullanılıp kullanılmayacağını belirtir. Varsayılan olarak, kod tabanında uzun süredir bulunan diffusers yerel uygulamasını kullanır. Daha fazla ayrıntı için [~guiders.classifier_free_guidance.ClassifierFreeGuidance] bölümüne bakın.
  • start (float, varsayılan 0.0) — Güdülmenin (guidance) başlatıldığı, toplam gürültü azaltma adım sayısının kesri.
  • stop (float, varsayılan 1.0) — Güdülmenin duracağı, toplam gürültü azaltma adım sayısının kesri.

Adaptif Projeksiyonlu Rehberlik (APG): https://huggingface.co/papers/2410.02416

AutoGuidance

sınıf diffusers.AutoGuidance

< >

( guidance_scale: float = 7.5auto_guidance_layers: int | list[int] | None = Noneauto_guidance_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = Nonedropout: float | None = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

Parametreler

  • guidance_scale (float, varsayılan 7.5) — Sınıflandırıcı-özgür yönlendirme için ölçek parametresi. Daha yüksek değerler, metin istemine daha güçlü bir koşullandırmaya yol açarken, daha düşük değerler üretimde daha fazla özgürlük sağlar. Daha yüksek değerler, doygunluğa ve görüntü kalitesinin bozulmasına neden olabilir.
  • auto_guidance_layers (int veya list[int], isteğe bağlı) — Skip layer guidance uygulanacak katman indeksleri. Tek bir tamsayı veya tamsayı listesi olabilir. Verilmezse, skip_layer_config sağlanmalıdır.
  • auto_guidance_config (LayerSkipConfig veya list[LayerSkipConfig], isteğe bağlı) — Katman atlama yönlendirmesi için yapılandırma. Tek bir LayerSkipConfig veya LayerSkipConfig listesi olabilir. Sağlanmazsa, skip_layer_guidance_layers sağlanmalıdır.
  • dropout (float, isteğe bağlı) — Etkin atlanan katmanlarda (ya auto_guidance_layers ile ya da auto_guidance_config ile) autoguidance için dropout olasılığı. Verilmezse, dropout olasılığı 1.0 olarak ayarlanır.
  • guidance_rescale (float, varsayılan 0.0) — Gürültü tahminlerine uygulanan yeniden ölçeklendirme faktörü. Bu, görüntü kalitesini iyileştirmek ve aşırı pozlamayı düzeltmek için kullanılır. Common Diffusion Noise Schedules and Sample Steps are Flawed makalesinin 3.4 bölümüne dayanmaktadır.
  • use_original_formulation (bool, varsayılan False) — Makalede önerilen classifier-free guidance'nin orijinal formülasyonunun kullanılıp kullanılmayacağını belirtir. Varsayılan olarak, kod tabanında uzun süredir bulunan diffusers yerel uygulamasını kullanır. Daha fazla ayrıntı için [~guiders.classifier_free_guidance.ClassifierFreeGuidance] bölümüne bakın.
  • start (float, varsayılan 0.0) — Güdülmenin (guidance) başlatıldığı, toplam gürültü azaltma adım sayısının kesri.
  • stop (float, varsayılan 1.0) — Güdülmenin duracağı, toplam gürültü azaltma adım sayısının kesri.

AutoGuidance: https://huggingface.co/papers/2406.02507

TangentialClassifierFreeGuidance

sınıf diffusers.TangentialClassifierFreeGuidance

< >

( guidance_scale: float = 7.5guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )

Parametreler

  • guidance_scale (float, varsayılan 7.5) — Sınıflandırıcı-özgür yönlendirme için ölçek parametresi. Daha yüksek değerler, metin istemine daha güçlü bir koşullandırmaya yol açarken, daha düşük değerler üretimde daha fazla özgürlük sağlar. Daha yüksek değerler, doygunluğa ve görüntü kalitesinin bozulmasına neden olabilir.
  • guidance_rescale (float, varsayılan 0.0) — Gürültü tahminlerine uygulanan yeniden ölçeklendirme faktörü. Bu, görüntü kalitesini iyileştirmek ve aşırı pozlamayı düzeltmek için kullanılır. Common Diffusion Noise Schedules and Sample Steps are Flawed makalesinin 3.4 bölümüne dayanmaktadır.
  • use_original_formulation (bool, varsayılan False) — Makalede önerilen classifier-free guidance'nin orijinal formülasyonunun kullanılıp kullanılmayacağını belirtir. Varsayılan olarak, kod tabanında uzun süredir bulunan diffusers yerel uygulamasını kullanır. Daha fazla ayrıntı için [~guiders.classifier_free_guidance.ClassifierFreeGuidance] bölümüne bakın.
  • start (float, varsayılan 0.0) — Güdülmenin (guidance) başlatıldığı, toplam gürültü azaltma adım sayısının kesri.
  • stop (float, varsayılan 1.0) — Güdülmenin duracağı, toplam gürültü azaltma adım sayısının kesri.

Tangential Classifier Free Guidance (TCFG): https://huggingface.co/papers/2503.18137

LTX2Guidance

sınıf diffusers.LTX2Guidance

< >

( guidance_scale: float = 1.0stg_scale: float = 0.0modality_scale: float = 1.0guidance_rescale: float = 0.0spatio_temporal_guidance_blocks: list[int] | None = Nonestart: float = 0.0stop: float = 1.0enabled: bool = True )

Parametreler

  • guidance_scale (float, varsayılan 1.0) — Bu modalite için CFG ölçeği. 1.0 değerinde CFG adımı tamamen atlanır.
  • stg_scale (float, varsayılan 0.0) — Bu modalite için uzamsal-zamansal yönlendirme ölçeği. 0.0 değerinde STG adımı tamamen atlanır.
  • modality_scale (float, varsayılan 1.0) — Bu modalite için modalite izolasyonu yönlendirme ölçeği. 1.0 değerinde bu geçiş tamamen atlanır.
  • guidance_rescale (float, varsayılan 0.0) — Yüksek rehberlik ölçeklerinden kaynaklanan aşırı pozlamayı önlemek için yeniden ölçeklendirme faktörü. Common Diffusion Noise Schedules and Sample Steps are Flawed makalesine dayanır. Aralık: 0.0 (yeniden ölçeklendirme yok) ile 1.0 (tam yeniden ölçeklendirme) arasında.
  • spatio_temporal_guidance_blocks (list[int], isteğe bağlı) — STG geçişinde bozulacak Transformer blokları. Değerin nasıl kullanıldığı, gürültü giderme bloğuna bağlıdır: LTX-2, tüm modalitelere besleme yapan tek bir ileri geçişte tüm blokları bozar, bu yüzden bu değeri yalnızca video rehberinden okur — ses rehbirinde ayarlanmasının bir etkisi yoktur ve bu rehbir, kendi stg_scale değeriyle aynı STG ileri geçişine katılır.
  • start (float, varsayılan 0.0) — Gürültü azaltma adımlarının (0.0-1.0) hangi kesrinde rehberliğin başlayacağını belirtir.
  • stop (float, varsayılan 1.0) — Gürültü azaltma adımlarının (0.0-1.0) hangi kesrinde rehberliğin duracağı.
  • enabled (bool, varsayılan True) — Bu yönlendiricinin (guider) yönlendirme uygulayıp uygulamayacağını belirtir. False olduğunda yalnızca koşullu geçiş (conditional pass) çalışır.

LTX-2.X için tek modallı yönlendirici. Delta formülasyonu aracılığıyla en fazla üç terimi birleştirir:

  • classifier-free guidance (CFG),
  • uzamsal-zamansal yönlendirme (STG), bozulmuş bir transformer bloğu setiyle ek bir geçiş,
  • modality-isolation yönlendirmesi, A2V/V2A çapraz-dikkat devre dışı bırakılarak ek bir geçiş.

Bir örnek bir modaliteyi sürer, bu nedenle çok modallı bir checkpoint birden fazlasını taşır: LTX-2.X, video guider'ı bir audio_guider ile eşleştirir ve her biri kendi ölçeklerini barındırır. Nihai rehberlik tahmini, çağıranın girdi sağladığı uzayda hesaplanır — LTX-2 gürültü azaltıcı, bunu çağırmadan önce hız->x0'a dönüştürür ve sonrasında geri çevirir, böylece forward x0 tahminleri üzerinde çalışır.

SkipLayerGuidance aksine, perturbasyonlarını hook'lar aracılığıyla uygulayan bu yöntemten farklı olarak, LTX2Guidance CFG dışı perturbasyonlarının model forward argümanları (LTX2VideoTransformer3DModel içindeki spatio_temporal_guidance_blocks ve isolate_modalities) üzerinden yapılandırılabilir olmasını bekler. Çağıran denoiser bloğu, bu geçit başına tanımlayıcıları ayarlamaktan sorumludur; kullanım örneği için LTX2LoopDenoiser'a bakınız.

Update on GitHub