Diffusers documentation
Rehberler
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
Yönlendirme tekniklerini uygulamak için iskeleti sağlayan temel sınıf.
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
< source >( pretrained_model_name_or_path: str | os.PathLike | None = Nonesubfolder: str | None = Nonereturn_unused_kwargs = False**kwargs )
Parametreler
- pretrained_model_name_or_path (
strveyaos.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
- Bir dize, Hub üzerinde barındırılan önceden eğitilmiş bir modelin model kimliği (örneğin
- 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ılanFalse) — 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ılanFalse) — 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 olarakFalse) — 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ılanFalse) — Yalnızca yerel model ağırlıkları ve yapılandırma dosyalarının yüklenip yüklenmeyeceğini belirtir.Trueolarak ayarlanırsa, model Hub'dan indirilmez. - token (
strveya bool, isteğe bağlı) — Uzak dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton.Trueise,diffusers-cli loginile oluşturulan jeton (~/.huggingfaceiç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 loginile oturum açın. Ayrıca, bu yöntemi duvarlı bir ortamda kullanmak için özel > “çevrimdışı mod”u etkinleştirebilirsiniz.
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
< source >( **kwargs )
Bu guider örneğinin bir kopyasını oluşturur, isteğe bağlı olarak değiştirilmiş yapılandırma parametreleriyle.
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
< source >( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )
Parametreler
- save_directory (
strveyaos.PathLike) — Yapılandırma JSON dosyasının kaydedileceği dizin (varsa oluşturulur). - push_to_hub (
bool, isteğe bağlı, varsayılanFalse) — Modelinizi kaydettikten sonra Hugging Face Hub'a gönderip göndermeyeceğinizi belirtir. Göndermek istediğiniz depoyurepo_idile belirtebilirsiniz (varsayılan olarak ad alanınızdakisave_directoryadı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
< source >( 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ılan7.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ılan0.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ılanFalse) —Trueise, makaledeki orijinal CFG formülasyonunu kullanır.False(varsayılan) ise, Imagen makalesindeki diffusers yerel formülasyonunu kullanır. - start (
float, varsayılan0.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ılan1.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ılanTrue) — CFG'nin etkin olup olmadığı. CFG'yi tamamen devre dışı bırakmak içinFalseolarak 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:
Moves conditional predictions further from unconditional ones.- Diffusers yerel formülasyonu (varsayılan, Imagen makalesinden):
x_pred = x_uncond + guidance_scale * (x_cond - x_uncond)Orijinal formülasyona geçmek için use_original_formulation=True kullanın.
ClassifierFreeZeroStarGuidance
sınıf diffusers.ClassifierFreeZeroStarGuidance
< source >( 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ılan7.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ılan1) — 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ılan0.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ılanFalse) — 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ılan0.01) — Güdülmenin (guidance) başlatıldığı, toplam gürültü azaltma adım sayısının kesri. - stop (
float, varsayılan0.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
< source >( 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ılan7.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ılan2.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ılan0.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ılan0.2) — Gürültü azaltma adımlarının toplam sayısının, skip layer guidance'in duracağı kesri. - skip_layer_guidance_layers (
intveyalist[int], isteğe bağlı) — Skip layer guidance uygulamanın istediği katman indeksleri. Tek bir tamsayı veya tamsayı listesi olabilir. Verilmezse,skip_layer_configsağlanmalıdır. Stable Diffusion 3.5 Medium için önerilen değerler[7, 8, 9]'dir. - skip_layer_config (
LayerSkipConfigveyalist[LayerSkipConfig], isteğe bağlı) — Katman atlama yönlendirmesi için yapılandırma. Tek birLayerSkipConfigveyaLayerSkipConfiglistesi olabilir. Sağlanmazsa,skip_layer_guidance_layerssağlanmalıdır. - guidance_rescale (
float, varsayılan0.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ılanFalse) — 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ılan0.01) — Güdülmenin (guidance) başlatıldığı, toplam gürültü azaltma adım sayısının kesri. - stop (
float, varsayılan0.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
< source >( 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ılan7.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ılan3.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ılan9999999.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ılan9999.0) — Bulanıklığın sonsuz olarak kabul edildiği eşik değeri. - seg_guidance_start (
float, varsayılan0.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ılan1.0) — Yumuşatılmış enerji yönlendirmesinin duracağı, toplam gürültü azaltma adım sayısının oranı. - seg_guidance_layers (
intveyalist[int], isteğe bağlı) — Yumuşatılmış enerji yönlendirmesinin uygulanacağı katman indeksleri. Tek bir tamsayı veya tamsayı listesi olabilir. Belirtilmezse,seg_guidance_configsağlanmalıdır. Stable Diffusion 3.5 Medium için önerilen değerler[7, 8, 9]'dir. - seg_guidance_config (
SmoothedEnergyGuidanceConfigveyalist[SmoothedEnergyGuidanceConfig], isteğe bağlı) — Yumuşatılmış enerji katmanı yönlendirmesi için yapılandırma. Tek birSmoothedEnergyGuidanceConfigveyaSmoothedEnergyGuidanceConfiglistesinden oluşabilir. Sağlanmazsa,seg_guidance_layerssağlanmalıdır. - guidance_rescale (
float, varsayılan0.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ılanFalse) — 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ılan0.01) — Güdülmenin (guidance) başlatıldığı, toplam gürültü azaltma adım sayısının kesri. - stop (
float, varsayılan0.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
< source >( 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ılan7.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ılan2.8) — Perturbed attention guidance için ölçek parametresi. - perturbed_guidance_start (
float, varsayılan0.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ılan0.2) — Perturbe edilmiş dikkat yönlendirmesinin duracağı, toplam gürültü giderme adım sayısının oranı. - perturbed_guidance_layers (
intveyalist[int], isteğe bağlı) — Perturbed attention guidance uygulanacak katman indeksleri. Tek bir tamsayı veya tamsayı listesi olabilir. Verilmezse,perturbed_guidance_configsağlanmalıdır. - perturbed_guidance_config (
LayerSkipConfigveyalist[LayerSkipConfig], isteğe bağlı) — Perturbed attention guidance yapılandırması. Tek birLayerSkipConfigveyaLayerSkipConfiglistesi olabilir. Sağlanmazsa,perturbed_guidance_layerssağlanmalıdır. - guidance_rescale (
float, varsayılan0.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ılanFalse) — 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ılan0.01) — Güdülmenin (guidance) başlatıldığı, toplam gürültü azaltma adım sayısının kesri. - stop (
float, varsayılan0.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
< source >( 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ılan7.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ılanNone) — Adaptif projeksiyonlu yönlendirme için momentum parametresi.Noneolarak ayarlanırsa devre dışı bırakılır. - adaptive_projected_guidance_rescale (
float, varsayılan15.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 (
intveyatuple[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ılan0.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ılanFalse) — 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ılan0.0) — Güdülmenin (guidance) başlatıldığı, toplam gürültü azaltma adım sayısının kesri. - stop (
float, varsayılan1.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
< source >( 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ılan7.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 (
intveyalist[int], isteğe bağlı) — Skip layer guidance uygulanacak katman indeksleri. Tek bir tamsayı veya tamsayı listesi olabilir. Verilmezse,skip_layer_configsağlanmalıdır. - auto_guidance_config (
LayerSkipConfigveyalist[LayerSkipConfig], isteğe bağlı) — Katman atlama yönlendirmesi için yapılandırma. Tek birLayerSkipConfigveyaLayerSkipConfiglistesi olabilir. Sağlanmazsa,skip_layer_guidance_layerssağlanmalıdır. - dropout (
float, isteğe bağlı) — Etkin atlanan katmanlarda (yaauto_guidance_layersile ya daauto_guidance_configile) autoguidance için dropout olasılığı. Verilmezse, dropout olasılığı 1.0 olarak ayarlanır. - guidance_rescale (
float, varsayılan0.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ılanFalse) — 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ılan0.0) — Güdülmenin (guidance) başlatıldığı, toplam gürültü azaltma adım sayısının kesri. - stop (
float, varsayılan1.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
< source >( 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ılan7.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ılan0.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ılanFalse) — 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ılan0.0) — Güdülmenin (guidance) başlatıldığı, toplam gürültü azaltma adım sayısının kesri. - stop (
float, varsayılan1.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
< source >( 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ılan1.0) — Bu modalite için CFG ölçeği.1.0değerinde CFG adımı tamamen atlanır. - stg_scale (
float, varsayılan0.0) — Bu modalite için uzamsal-zamansal yönlendirme ölçeği.0.0değerinde STG adımı tamamen atlanır. - modality_scale (
float, varsayılan1.0) — Bu modalite için modalite izolasyonu yönlendirme ölçeği.1.0değerinde bu geçiş tamamen atlanır. - guidance_rescale (
float, varsayılan0.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, kendistg_scaledeğeriyle aynı STG ileri geçişine katılır. - start (
float, varsayılan0.0) — Gürültü azaltma adımlarının (0.0-1.0) hangi kesrinde rehberliğin başlayacağını belirtir. - stop (
float, varsayılan1.0) — Gürültü azaltma adımlarının (0.0-1.0) hangi kesrinde rehberliğin duracağı. - enabled (
bool, varsayılanTrue) — Bu yönlendiricinin (guider) yönlendirme uygulayıp uygulamayacağını belirtir.Falseolduğ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.