Diffusers documentation
الموجّهون
الموجّهون
الموجِّهات هي مكوّنات في Modular Diffusers تتحكم في كيفية توجيه عملية الانتشار أثناء التوليد. فهي تنفّذ تقنيات توجيه مختلفة لتحسين جودة التوليد والتحكم فيه.
BaseGuidance
فئة أساسية توفر الهيكل العام لتنفيذ تقنيات التوجيه.
ينظّم هذا النموذج لتقنية التوجيه بعد دفعة محددة من البيانات. يجب تجاوز هذه الطريقة في الفئات الفرعية لتنفيذ منطق تنظيف نموذجي محدد. وهي مفيدة لإزالة أي خطافات أو تعديلات أخرى ذات حالة تم إجراؤها أثناء prepare_models.
from_pretrained
< source >( 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” الخاص لاستخدام هذه الطريقة في بيئة محمية بجدار ناري.
يعيد الحالة الحالية لتقنية التوجيه على شكل قاموس. سيتم تضمين متغيرات الحالة في
طريقة repr. العائد: dict[str, Any]: قاموس يحتوي على متغيرات الحالة الحالية بما في ذلك:
- step: خطوة الاستدلال الحالية
- num_inference_steps: إجمالي عدد خطوات الاستدلال
- timestep: متجه الخطوة الزمنية الحالية
- count_prepared: عدد مرات استدعاء prepare_models
- enabled: ما إذا كانت الإرشادات مفعّلة
- num_conditions: عدد الشروط
جديد
< source >( **kwargs )
ينشئ نسخة من هذا المثال الخاص بـ guider، مع إمكانية تعديل معاملات الإعداد اختياريًا.
يُعدّ هذا النموذج لتقنية التوجيه على دفعة بيانات محددة. يجب تجاوز هذه الطريقة في الفئات الفرعية لتنفيذ منطق إعداد النموذج المحدد.
save_pretrained
< source >( 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
< source >( 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 to0.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:
Moves conditional predictions further from unconditional ones.- صياغة أصلية في Diffusers (الافتراضي، من ورقة Imagen):
x_pred = x_uncond + guidance_scale * (x_cond - x_uncond)استخدم use_original_formulation=True للتبديل إلى الصياغة الأصلية.
ClassifierFreeZeroStarGuidance
فئة 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 )
المعاملات
- guidance_scale (
float، القيمة الافتراضية7.5) — معامل المقياس للإرشاد الحر من التصنيف. تؤدي القيم الأعلى إلى تشديد أقوى على موجه النص، بينما تسمح القيم الأدنى بحرية أكبر في التوليد. قد تؤدي القيم الأعلى إلى تشبع وتدهور في جودة الصورة. - zero_init_steps (
int، القيمة الافتراضية1) — عدد خطوات الاستدلال التي تُصفَّر فيها توقعات الضوضاء (انظر القسم 4.2). - guidance_rescale (
float, defaults to0.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
< 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 )
المعاملات
- 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 to0.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
< 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 )
المعاملات
- 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 to0.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
< 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 )
المعاملات
- 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 to0.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
< 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 )
المعاملات
- 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 to0.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
< 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 )
المعاملات
- 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 to0.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
< source >( 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 to0.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
< 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 )
المعاملات
- 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 to0.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 كمثال على الاستخدام.