Diffusers documentation

الموجّهون

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

الموجّهون

الموجِّهات هي مكوّنات في Modular Diffusers تتحكم في كيفية توجيه عملية الانتشار أثناء التوليد. فهي تنفّذ تقنيات توجيه مختلفة لتحسين جودة التوليد والتحكم فيه.

BaseGuidance

فئة diffusers.BaseGuidance

< >

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

فئة أساسية توفر الهيكل العام لتنفيذ تقنيات التوجيه.

cleanup_models

< >

( denoiser: torch.nn.Module )

ينظّم هذا النموذج لتقنية التوجيه بعد دفعة محددة من البيانات. يجب تجاوز هذه الطريقة في الفئات الفرعية لتنفيذ منطق تنظيف نموذجي محدد. وهي مفيدة لإزالة أي خطافات أو تعديلات أخرى ذات حالة تم إجراؤها أثناء prepare_models.

from_pretrained

< >

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

المعاملات

  • pretrained_model_name_or_path (str أو os.PathLike, اختياري) — يمكن أن يكون:
    • سلسلة نصية، وهي معرف النموذج (على سبيل المثال google/ddpm-celebahq-256) لنموذج مُدرَّب مسبقًا مستضاف على الـ Hub.
    • مسار إلى مجلد (على سبيل المثال ./my_model_directory) يحتوي على إعدادات guider المحفوظة باستخدام save_pretrained().
  • subfolder (str، اختياري) — موقع المجلد الفرعي لملف النموذج داخل مستودع نموذج أكبر على Hub أو محليًا.
  • return_unused_kwargs (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إرجاع معاملات kwargs التي لا تستهلكها فئة Python أم لا.
  • cache_dir (str | os.PathLike، اختياري) — المسار إلى مجلد حيث يتم تخزين إعدادات النموذج المُدرَّب مسبقًا المُحمَّل مؤقتًا إذا لم يُستخدم المجلد المؤقت القياسي.
  • force_download (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إجبار إعادة تنزيل أوزان النموذج وملفات الإعداد، مع تجاوز النسخ المخزنة مؤقتًا إذا كانت موجودة.
  • proxies (dict[str, str]، اختياري) — قاموس لخوادم الوكيل (proxy) للاستخدام حسب البروتوكول أو نقطة النهاية، على سبيل المثال {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. تُستخدم هذه الوكلاء في كل طلب.
  • output_loading_info(bool, اختياري، القيمة الافتراضية False) — ما إذا كان يجب إرجاع قاموس يحتوي على المفاتيح الناقصة والمفاتيح غير المتوقعة ورسائل الأخطاء أم لا.
  • local_files_only(bool, اختياري، القيمة الافتراضية False) — ما إذا كان سيتم تحميل أوزان النموذج وملفات الإعداد المحلية فقط أم لا. إذا تم ضبطه على True، فلن يتم تنزيل النموذج من Hub.
  • token (str أو bool، اختياري) — الرمز الذي يُستخدم كتفويض حامل HTTP للملفات البعيدة. إذا كان True، يُستخدم الرمز المولّد من diffusers-cli login (المخزّن في ~/.huggingface).
  • revision (str، اختياري، القيمة الافتراضية "main") — الإصدار المحدد من النموذج الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف commit، أو أي معرّف مسموح به بواسطة Git.

أنشئ كائن guider من ملف تكوين JSON مُعرَّف مسبقًا في مجلد محلي أو مستودع على Hub.

> لاستخدام النماذج الخاصة أو النماذج المُقيَّدة، سجّل الدخول باستخدام hf > auth login. كما يمكنك تفعيل وضع “offline-mode” الخاص لاستخدام هذه الطريقة في بيئة محمية بجدار ناري.

get_state

< >

( )

يعيد الحالة الحالية لتقنية التوجيه على شكل قاموس. سيتم تضمين متغيرات الحالة في طريقة repr. العائد: dict[str, Any]: قاموس يحتوي على متغيرات الحالة الحالية بما في ذلك:

  • step: خطوة الاستدلال الحالية
  • num_inference_steps: إجمالي عدد خطوات الاستدلال
  • timestep: متجه الخطوة الزمنية الحالية
  • count_prepared: عدد مرات استدعاء prepare_models
  • enabled: ما إذا كانت الإرشادات مفعّلة
  • num_conditions: عدد الشروط

جديد

< >

( **kwargs )

المعاملات

  • **kwargs — معلمات الإعداد التي يجب تجاوزها في النسخة الجديدة. إذا لم تُقدَّم أي معلمات kwargs، فسيُعاد نسخة مطابقة تمامًا مع نفس الإعداد.

ينشئ نسخة من هذا المثال الخاص بـ guider، مع إمكانية تعديل معاملات الإعداد اختياريًا.

مثال:

# 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 )

يُعدّ هذا النموذج لتقنية التوجيه على دفعة بيانات محددة. يجب تجاوز هذه الطريقة في الفئات الفرعية لتنفيذ منطق إعداد النموذج المحدد.

save_pretrained

< >

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

المعاملات

  • save_directory (str أو os.PathLike) — المجلد الذي سيتم حفظ ملف الإعدادات بصيغة JSON فيه (سيتم إنشاؤه إذا لم يكن موجودًا).
  • push_to_hub (bool، اختياري، الافتراضي False) — ما إذا كان سيتم دفع نموذجك إلى Hugging Face Hub بعد حفظه. يمكنك تحديد المستودع الذي تريد الدفع إليه باستخدام repo_id (سيكون الافتراضي هو اسم save_directory في نطاقك).
  • kwargs (dict[str, Any]، اختياري) — معلمات إضافية تُمرَّر إلى طريقة push_to_hub().

احفظ كائن إعدادات guider في مجلد بحيث يمكن إعادة تحميله باستخدام طريقة الفئة from_pretrained().

ClassifierFreeGuidance

فئة diffusers.ClassifierFreeGuidance

< >

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

المعاملات

  • guidance_scale (float، القيمة الافتراضية 7.5) — مقياس CFG الذي يطبّقه هذا الموجّه أثناء المعالجة اللاحقة. القيم الأعلى تعني تشديداً أقوى على شروط الموجّه النصي، لكنها قد تقلل من الجودة. النطاق النموذجي: 1.0-20.0.
  • guidance_rescale (float, defaults to 0.0) — Rescaling factor to prevent overexposure from high guidance scales. Based on Common Diffusion Noise Schedules and Sample Steps are Flawed. Range: 0.0 (no rescaling) to 1.0 (full rescaling).
  • use_original_formulation (bool، القيمة الافتراضية False) — إذا كانت True، يتم استخدام صياغة CFG الأصلية من الورقة البحثية. إذا كانت False (الافتراضي)، يتم استخدام الصياغة الأصلية لـ diffusers من ورقة Imagen.
  • start (float، القيمة الافتراضية 0.0) — النسبة من خطوات إزالة الضوضاء (0.0-1.0) التي يبدأ بعدها CFG. استخدم قيمة > 0.0 لتعطيل CFG في خطوات إزالة الضوضاء المبكرة.
  • stop (float، القيمة الافتراضية 1.0) — النسبة من خطوات إزالة الضوضاء (0.0-1.0) التي يتوقف عندها CFG. استخدم قيمة أقل من 1.0 لتعطيل CFG في خطوات إزالة الضوضاء المتأخرة.
  • enabled (bool، القيمة الافتراضية True) — ما إذا كان CFG مفعّلًا. اضبطه على False لتعطيل CFG بالكامل (يستخدم التنبؤات الشرطية فقط).

يُنفّذ التوجيه الحر من التصنيف (CFG) لنماذج الانتشار.

مرجع: https://huggingface.co/papers/2207.12598

تحسّن CFG جودة التوليد والالتزام بالموجّه من خلال تدريب النماذج بشكل مشترك على البيانات الشرطية وغير الشرطية، ثم دمج التنبؤات أثناء الاستدلال. وهذا يتيح الموازنة بين الجودة (التوجيه العالي) والتنوع (التوجيه المنخفض).

صياغتان لـ CFG:

  1. الصياغة الأصلية (من الورقة البحثية):
x_pred = x_cond + guidance_scale * (x_cond - x_uncond)
Moves conditional predictions further from unconditional ones.
  1. صياغة أصلية في Diffusers (الافتراضي، من ورقة Imagen):
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.

استخدم use_original_formulation=True للتبديل إلى الصياغة الأصلية.

ClassifierFreeZeroStarGuidance

فئة 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 )

المعاملات

  • guidance_scale (float، القيمة الافتراضية 7.5) — معامل المقياس للإرشاد الحر من التصنيف. تؤدي القيم الأعلى إلى تشديد أقوى على موجه النص، بينما تسمح القيم الأدنى بحرية أكبر في التوليد. قد تؤدي القيم الأعلى إلى تشبع وتدهور في جودة الصورة.
  • zero_init_steps (int، القيمة الافتراضية 1) — عدد خطوات الاستدلال التي تُصفَّر فيها توقعات الضوضاء (انظر القسم 4.2).
  • guidance_rescale (float, defaults to 0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool، القيمة الافتراضية False) — ما إذا كان سيتم استخدام الصياغة الأصلية للإرشاد الحر من التصنيف كما اقترحها الورقة البحثية. بشكل افتراضي، نستخدم التنفيذ الأصلي الخاص بـ diffusers الذي كان موجودًا في قاعدة الكود منذ فترة طويلة. راجع [~guiders.classifier_free_guidance.ClassifierFreeGuidance] لمزيد من التفاصيل.
  • start (float، القيمة الافتراضية 0.01) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يبدأ بعدها التوجيه.
  • stop (float، القيمة الافتراضية 0.2) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يتوقف بعدها التوجيه.

Classifier-free Zero(CFG-Zero): https://huggingface.co/papers/2503.18886

هذا تطبيق لتقنية التوجيه بدون مُصنِّف صفرية*، وهي نسخة من التوجيه بدون مُصنِّف. تقترح هذه التقنية تهيئة التنبؤات الضوضائية إلى الصفر في الخطوات الأولى من عملية الانتشار، كما تُدخل عامل إعادة تحجيم مثالي للتنبؤات الضوضائية، مما قد يساعد في تحسين جودة الصور المولَّدة.

يقترح مؤلفو الورقة البحثية تعيين تهيئة صفرية في أول 4% من خطوات الاستدلال.

SkipLayerGuidance

فئة 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 )

المعاملات

  • guidance_scale (float، القيمة الافتراضية 7.5) — معامل المقياس للإرشاد الحر من التصنيف. تؤدي القيم الأعلى إلى تشديد أقوى على موجه النص، بينما تسمح القيم الأدنى بحرية أكبر في التوليد. قد تؤدي القيم الأعلى إلى تشبع وتدهور في جودة الصورة.
  • skip_layer_guidance_scale (float، القيمة الافتراضية 2.8) — معامل المقياس لـ skip layer guidance. قد تتحسن تشريحية الهيكل وتكامله مع القيم الأعلى، لكن ذلك قد يؤدي أيضًا إلى الإفراط في التعريض والتشبع.
  • skip_layer_guidance_start (float، القيمة الافتراضية 0.01) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يبدأ بعدها توجيه طبقة التخطي.
  • skip_layer_guidance_stop (float، القيمة الافتراضية 0.2) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يتوقف بعدها توجيه طبقة التخطي.
  • skip_layer_guidance_layers (int أو list[int]، اختياري) — فهارس الطبقات التي سيتم تطبيق skip layer guidance عليها. يمكن أن يكون عددًا صحيحًا واحدًا أو قائمة من الأعداد الصحيحة. إذا لم يُقدَّم، يجب تقديم skip_layer_config. القيم الموصى بها هي [7, 8, 9] لـ Stable Diffusion 3.5 Medium.
  • skip_layer_config (LayerSkipConfig أو list[LayerSkipConfig]، اختياري) — إعدادات إرشاد تخطي الطبقة. يمكن أن تكون LayerSkipConfig واحدة أو قائمة من LayerSkipConfig. إذا لم تُقدَّم، يجب تقديم skip_layer_guidance_layers.
  • guidance_rescale (float, defaults to 0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool، القيمة الافتراضية False) — ما إذا كان سيتم استخدام الصياغة الأصلية للإرشاد الحر من التصنيف كما اقترحها الورقة البحثية. بشكل افتراضي، نستخدم التنفيذ الأصلي الخاص بـ diffusers الذي كان موجودًا في قاعدة الكود منذ فترة طويلة. راجع [~guiders.classifier_free_guidance.ClassifierFreeGuidance] لمزيد من التفاصيل.
  • start (float، القيمة الافتراضية 0.01) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يبدأ بعدها التوجيه.
  • stop (float، القيمة الافتراضية 0.2) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يتوقف بعدها التوجيه.

إرشاد تخطي الطبقة (SLG): https://github.com/Stability-AI/sd3.5

الإرشاد المكاني-الزمني (STG): https://huggingface.co/papers/2411.18664

تم تقديم SLG من قبل StabilityAI لتحسين تماسك البنية والتشريح في الصور المولّدة. ويعمل عن طريق تجاوز المرور الأمامي (forward pass) لكتل التحوّل (transformer blocks) المحددة أثناء عملية إزالة الضوضاء على دفعة بيانات شرطية إضافية، إلى جانب دفعات البيانات الشرطية وغير الشرطية المستخدمة بالفعل في CFG ([~guiders.classifier_free_guidance.ClassifierFreeGuidance])، ثم يتم تحجيم وتحويل تنبؤات CFG بناءً على الفرق بين تنبؤات الحالة الشرطية دون التجاوز وتنبؤات الحالة الشرطية مع التجاوز.

يمكن التفكير في الحدس الكامن وراء SLG على أنه تحريك تقديرات التوزيع المتوقع من CFG بعيدًا عن الإصدارات الأسوأ لتقديرات التوزيع الشرطي (لأن تخطي الطبقات يعادل استخدام إصدار أسوأ من النموذج للتنبؤ الشرطي).

يُعدّ STG تحسينًا وعملًا تابعًا يجمع بين الأفكار المستمدة من SLG وPAG وتقنيات مماثلة لتحسين جودة التوليد في نماذج الانتشار المرئي.

قراءات إضافية:

القيم الخاصة بـ skip_layer_guidance_scale وskip_layer_guidance_start وskip_layer_guidance_stop مُعيّنة افتراضيًا وفق التوصيات التي أصدرتها StabilityAI لنموذج Stable Diffusion 3.5 Medium.

SmoothedEnergyGuidance

فئة 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 )

المعاملات

  • guidance_scale (float، القيمة الافتراضية 7.5) — معامل المقياس للإرشاد الحر من التصنيف. تؤدي القيم الأعلى إلى تشديد أقوى على موجه النص، بينما تسمح القيم الأدنى بحرية أكبر في التوليد. قد تؤدي القيم الأعلى إلى تشبع وتدهور في جودة الصورة.
  • seg_guidance_scale (float، القيمة الافتراضية 3.0) — معامل التوجيه للطاقة المُنعّمة. قد تتحسن اتساق التشريح والبنية مع القيم الأعلى، لكن ذلك قد يؤدي أيضًا إلى الإفراط في التعريض والتشبع.
  • seg_blur_sigma (float، القيمة الافتراضية 9999999.0) — الكمية التي نضبط بها ضبابية أوزان الانتباه. ضبط هذه القيمة لتكون أكبر من 9999.0 يؤدي إلى ضبابية لا نهائية، مما يعني استعلامات موحدة. التحكم فيها بشكل أُسّي فعّال تجريبيًا.
  • seg_blur_threshold_inf (float، القيمة الافتراضية 9999.0) — العتبة التي إذا تجاوزها مقدار الضبابية يُعتبر لا نهائياً.
  • seg_guidance_start (float، القيمة الافتراضية 0.0) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي تبدأ بعدها إرشادات الطاقة المُنعّمة.
  • seg_guidance_stop (float، القيمة الافتراضية 1.0) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يتوقف بعدها التوجيه بالطاقة المُنعّمة.
  • seg_guidance_layers (int أو list[int]، اختياري) — فهارس الطبقات التي سيتم تطبيق توجيه الطاقة المُنعّم عليها. يمكن أن يكون عددًا صحيحًا واحدًا أو قائمة من الأعداد الصحيحة. إذا لم يُقدَّم، يجب تقديم seg_guidance_config. القيم الموصى بها هي [7, 8, 9] لـ Stable Diffusion 3.5 Medium.
  • seg_guidance_config (SmoothedEnergyGuidanceConfig أو list[SmoothedEnergyGuidanceConfig]، اختياري) — إعدادات توجيه طبقة الطاقة الملسّاة. يمكن أن تكون SmoothedEnergyGuidanceConfig واحدة أو قائمة من SmoothedEnergyGuidanceConfig. إذا لم تُقدَّم، يجب تقديم seg_guidance_layers.
  • guidance_rescale (float, defaults to 0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool، القيمة الافتراضية False) — ما إذا كان سيتم استخدام الصياغة الأصلية للإرشاد الحر من التصنيف كما اقترحها الورقة البحثية. بشكل افتراضي، نستخدم التنفيذ الأصلي الخاص بـ diffusers الذي كان موجودًا في قاعدة الكود منذ فترة طويلة. راجع [~guiders.classifier_free_guidance.ClassifierFreeGuidance] لمزيد من التفاصيل.
  • start (float، القيمة الافتراضية 0.01) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يبدأ بعدها التوجيه.
  • stop (float، القيمة الافتراضية 0.2) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يتوقف بعدها التوجيه.

إرشاد الطاقة المُنعّم (SEG): https://huggingface.co/papers/2408.00760

يُؤمَّن دعم SEG كميزة تجريبية نموذجية فقط في الوقت الحالي، لذا قد يتم تعديل التنفيذ في المستقبل دون سابق إنذار أو ضمان قابلية إعادة الإنتاج. يفترض هذا التنفيذ ما يلي:

  • الصور المولّدة مربعة (الارتفاع == العرض)
  • لا يجمع النموذج بين الوسائط المختلفة معًا (على سبيل المثال، لا يتم دمج تدفقات الكامنة للنص والصورة معًا كما في Flux)

PerturbedAttentionGuidance

فئة 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 )

المعاملات

  • guidance_scale (float، القيمة الافتراضية 7.5) — معامل المقياس للإرشاد الحر من التصنيف. تؤدي القيم الأعلى إلى تشديد أقوى على موجه النص، بينما تسمح القيم الأدنى بحرية أكبر في التوليد. قد تؤدي القيم الأعلى إلى تشبع وتدهور في جودة الصورة.
  • perturbed_guidance_scale (float، القيمة الافتراضية 2.8) — معامل المقياس للإرشاد الانتباه المُعطَّل.
  • perturbed_guidance_start (float، القيمة الافتراضية 0.01) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي تبدأ بعدها إرشادات الانتباه المضطربة.
  • perturbed_guidance_stop (float، القيمة الافتراضية 0.2) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يتوقف بعدها توجيه الانتباه المضطرب.
  • perturbed_guidance_layers (int أو list[int]، اختياري) — فهارس الطبقات التي سيتم تطبيق توجيه الانتباه المضطرب عليها. يمكن أن يكون عددًا صحيحًا واحدًا أو قائمة من الأعداد الصحيحة. إذا لم يُقدَّم، يجب تقديم perturbed_guidance_config.
  • perturbed_guidance_config (LayerSkipConfig أو list[LayerSkipConfig]، اختياري) — إعدادات التوجيه الانتباهي المُعطَّل. يمكن أن تكون LayerSkipConfig واحدة أو قائمة من LayerSkipConfig. إذا لم تُقدَّم، يجب تقديم perturbed_guidance_layers.
  • guidance_rescale (float, defaults to 0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool، القيمة الافتراضية False) — ما إذا كان سيتم استخدام الصياغة الأصلية للإرشاد الحر من التصنيف كما اقترحها الورقة البحثية. بشكل افتراضي، نستخدم التنفيذ الأصلي الخاص بـ diffusers الذي كان موجودًا في قاعدة الكود منذ فترة طويلة. راجع [~guiders.classifier_free_guidance.ClassifierFreeGuidance] لمزيد من التفاصيل.
  • start (float، القيمة الافتراضية 0.01) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يبدأ بعدها التوجيه.
  • stop (float، القيمة الافتراضية 0.2) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يتوقف بعدها التوجيه.

إرشاد الانتباه المضطرب (PAG): https://huggingface.co/papers/2403.17377

يمكن التفكير في الحدس الكامن وراء PAG على أنه تحريك تقديرات التوزيع المتوقع من CFG إلى أبعد من الإصدارات الأسوأ لتقديرات التوزيع الشرطي. كانت PAG من أوائل التقنيات التي أدخلت فكرة استخدام إصدار أسوأ من النموذج المدرَّب لتوجيه نفسه بشكل أفضل في عملية إزالة الضوضاء. فهي تُحدث اضطرابًا في درجات الانتباه لبُعد الكمون (latent stream) عن طريق استبدال مصفوفة الدرجات بمصفوفة الوحدة للطبقات المختارة انتقائيًا.

قراءات إضافية:

يُنفَّذ PAG بتنفيذ مشابه لتنفيذ SkipLayerGuidance بسبب التداخل في معاملات الإعداد وتفاصيل التنفيذ.

AdaptiveProjectedGuidance

فئة 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 )

المعاملات

  • guidance_scale (float، القيمة الافتراضية 7.5) — معامل المقياس للإرشاد الحر من التصنيف. تؤدي القيم الأعلى إلى تشديد أقوى على موجه النص، بينما تسمح القيم الأدنى بحرية أكبر في التوليد. قد تؤدي القيم الأعلى إلى تشبع وتدهور في جودة الصورة.
  • adaptive_projected_guidance_momentum (float، القيمة الافتراضية None) — معامل الزخم للإرشاد المُسقط التكيفي. يُعطَّل إذا تم تعيينه إلى None.
  • adaptive_projected_guidance_rescale (float، القيمة الافتراضية 15.0) — عامل إعادة التحديد الذي يُطبَّق على تنبؤات الضوضاء. يُستخدم هذا لتحسين جودة الصورة وإصلاح
  • adaptive_projected_guidance_norm_dim (int أو tuple[int]، اختياري) — الأبعاد التي يتم حساب معيار APG والإسقاط عليها. إذا تم تجاهله، تُستخدم جميع الأبعاد غير الدفعة (non-batch)، مما يحافظ على السلوك الأصلي.
  • guidance_rescale (float, defaults to 0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool، القيمة الافتراضية False) — ما إذا كان سيتم استخدام الصياغة الأصلية للإرشاد الحر من التصنيف كما اقترحها الورقة البحثية. بشكل افتراضي، نستخدم التنفيذ الأصلي الخاص بـ diffusers الذي كان موجودًا في قاعدة الكود منذ فترة طويلة. راجع [~guiders.classifier_free_guidance.ClassifierFreeGuidance] لمزيد من التفاصيل.
  • start (float، القيمة الافتراضية 0.0) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يبدأ بعدها التوجيه.
  • stop (float، القيمة الافتراضية 1.0) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يتوقف عندها التوجيه.

الإرشاد المُسقط التكيفي (APG): https://huggingface.co/papers/2410.02416

AutoGuidance

فئة 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 )

المعاملات

  • guidance_scale (float، القيمة الافتراضية 7.5) — معامل المقياس للإرشاد الحر من التصنيف. تؤدي القيم الأعلى إلى تشديد أقوى على موجه النص، بينما تسمح القيم الأدنى بحرية أكبر في التوليد. قد تؤدي القيم الأعلى إلى تشبع وتدهور في جودة الصورة.
  • auto_guidance_layers (int أو list[int]، اختياري) — فهارس الطبقات التي سيتم تطبيق إرشاد تخطي الطبقات عليها. يمكن أن يكون عددًا صحيحًا واحدًا أو قائمة من الأعداد الصحيحة. إذا لم يُقدَّم، يجب تقديم skip_layer_config.
  • auto_guidance_config (LayerSkipConfig أو list[LayerSkipConfig]، اختياري) — إعدادات إرشاد تخطي الطبقة. يمكن أن تكون LayerSkipConfig واحدة أو قائمة من LayerSkipConfig. إذا لم تُقدَّم، يجب تقديم skip_layer_guidance_layers.
  • dropout (float, اختياري) — احتمالية dropout للتوجيه التلقائي على طبقات التخطي المفعّلة (سواءً عبر auto_guidance_layers أو auto_guidance_config). إذا لم يُقدَّم، فسيتم تعيين احتمال dropout إلى 1.0.
  • guidance_rescale (float, defaults to 0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool، القيمة الافتراضية False) — ما إذا كان سيتم استخدام الصياغة الأصلية للإرشاد الحر من التصنيف كما اقترحها الورقة البحثية. بشكل افتراضي، نستخدم التنفيذ الأصلي الخاص بـ diffusers الذي كان موجودًا في قاعدة الكود منذ فترة طويلة. راجع [~guiders.classifier_free_guidance.ClassifierFreeGuidance] لمزيد من التفاصيل.
  • start (float، القيمة الافتراضية 0.0) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يبدأ بعدها التوجيه.
  • stop (float، القيمة الافتراضية 1.0) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يتوقف عندها التوجيه.

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

TangentialClassifierFreeGuidance

فئة diffusers.TangentialClassifierFreeGuidance

< >

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

المعاملات

  • guidance_scale (float، القيمة الافتراضية 7.5) — معامل المقياس للإرشاد الحر من التصنيف. تؤدي القيم الأعلى إلى تشديد أقوى على موجه النص، بينما تسمح القيم الأدنى بحرية أكبر في التوليد. قد تؤدي القيم الأعلى إلى تشبع وتدهور في جودة الصورة.
  • guidance_rescale (float, defaults to 0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed.
  • use_original_formulation (bool، القيمة الافتراضية False) — ما إذا كان سيتم استخدام الصياغة الأصلية للإرشاد الحر من التصنيف كما اقترحها الورقة البحثية. بشكل افتراضي، نستخدم التنفيذ الأصلي الخاص بـ diffusers الذي كان موجودًا في قاعدة الكود منذ فترة طويلة. راجع [~guiders.classifier_free_guidance.ClassifierFreeGuidance] لمزيد من التفاصيل.
  • start (float، القيمة الافتراضية 0.0) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يبدأ بعدها التوجيه.
  • stop (float، القيمة الافتراضية 1.0) — النسبة من إجمالي عدد خطوات إزالة الضوضاء التي يتوقف عندها التوجيه.

الموجّه الحرّ بدون مُصنِّف مماسّي (TCFG): https://huggingface.co/papers/2503.18137

LTX2Guidance

فئة 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 )

المعاملات

  • guidance_scale (float، القيمة الافتراضية 1.0) — مقياس CFG لهذا النمط. يتم تجاوز مسار CFG بالكامل عند 1.0.
  • stg_scale (float، القيمة الافتراضية 0.0) — مقياس التوجيه المكاني-الزمني لهذا النمط. يتم تجاوز مسار STG بالكامل عند 0.0.
  • modality_scale (float، القيمة الافتراضية 1.0) — مقياس توجيه عزل النمط لهذا النمط. يتم تجاوز تلك المرحلة بالكامل عند 1.0.
  • guidance_rescale (float, defaults to 0.0) — Rescaling factor to prevent overexposure from high guidance scales. Based on Common Diffusion Noise Schedules and Sample Steps are Flawed. Range: 0.0 (no rescaling) to 1.0 (full rescaling).
  • spatio_temporal_guidance_blocks (list[int], اختياري) — كتل Transformer التي سيتم إحداث اضطراب فيها في مسار STG. يعتمد كيفية استخدام القيمة على كتلة إزالة الضوضاء: فـ LTX-2 يُحدث اضطرابًا في الكتل كاملةً في تمريرة أمامية واحدة تغذي جميع الأنماط، لذا يقرأ هذا الإعداد من دليل الفيديو فقط — فإعداده على دليل الصوت لا يُحدث أي تأثير، وينضم ذلك الدليل إلى نفس التمريرة الأمامية لـ STG من خلال stg_scale الخاص به.
  • start (float، القيمة الافتراضية 0.0) — النسبة من خطوات إزالة الضوضاء (0.0-1.0) التي يبدأ بعدها التوجيه.
  • stop (float، القيمة الافتراضية 1.0) — النسبة من خطوات إزالة الضوضاء (0.0-1.0) التي يتوقف عندها التوجيه.
  • enabled (bool، القيمة الافتراضية True) — ما إذا كان هذا الموجِّه يطبّق التوجيه أم لا. عند تعيينه إلى False، يُنفَّذ المرور الشرطي فقط.

موجّه أحادي النمط لـ LTX-2.X. يجمع بين ثلاثة مصطلحات كحد أقصى عبر صيغة الدلتا:

  • الإرشاد الحر من التصنيف (CFG)،
  • التوجيه المكاني-الزمني (STG)، وهو مسار إضافي باستخدام مجموعة من كتل التحوّل (transformer blocks) المُعطَّبة،
  • إرشادات عزل النمط، وهي تمريرة إضافية مع تعطيل الانتباه المتقاطع بين A2V/V2A.

تتولى كل نسخة واحدة من الأنماط (modalities) قيادة نمط واحد، لذا فإن نقطة التفتيش متعددة الأنماط تحمل عدة نسخ: يقرن LTX-2.X مُوجِّه فيديو guider مع audio_guider، حيث يحتفظ كل منهما بمقاييسه الخاصة. يتم حساب تقدير التوجيه النهائي في الفضاء الذي يغذيه به المستدعي — يحول مُزيل الضوضاء في LTX-2 من السرعة إلى x0 قبل استدعاء هذه الدالة ثم يعكس العملية بعد ذلك، لذا تعمل forward على تنبؤات x0.

على عكس SkipLayerGuidance الذي يطبّق اضطراباته عبر الخطافات (hooks)، يتوقع LTX2Guidance أن تكون اضطراباته غير CFG قابلة للتهيئة عبر معاملات النموذج الأمامية (spatio_temporal_guidance_blocks وisolate_modalities في LTX2VideoTransformer3DModel). ويتحمل كتلة إزالة الضوضاء المستدعية مسؤولية تعيين معرّف لكل مسار؛ راجع LTX2LoopDenoiser كمثال على الاستخدام.

Update on GitHub