Buckets:
كتل خط الأنابيب
ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]]
diffusers.ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]]
diffusers.ModularPipelineBlocks()
الفئة الأساسية لجميع كتل خط الأنابيب: ConditionalPipelineBlocks، AutoPipelineBlocks، SequentialPipelineBlocks، LoopSequentialPipelineBlocks
يوفر ModularPipelineBlocks طريقةً لتحميل وحفظ تعريفات كتل خط المعالجة.
get_block_state[[diffusers.ModularPipelineBlocks.get_block_state]]
get_block_state(state: PipelineState)
احصل على جميع المدخلات والقيم الوسيطة في قاموس واحد
get_execution_blocks[[diffusers.ModularPipelineBlocks.get_execution_blocks]]
get_execution_blocks(**kwargs)
المعاملات:
- **kwargs : أسماء وقيم المدخلات. المدخلات المحفّزة فقط هي التي تؤثر على اختيار الكتلة.
احصل على الكتلة (أو الكتل) التي ستُنفَّذ بالنظر إلى المدخلات. يجب أن تُنفَّذ بواسطة الفئات الفرعية التي تدعم اختيار الكتل الشرطي.
get_workflow[[diffusers.ModularPipelineBlocks.get_workflow]]
get_workflow(workflow_name: str)
المعاملات:
workflow_name : اسم سير العمل المطلوب استرجاعه.
احصل على كتل التنفيذ لخط سير عمل محدد. يجب أن تُنفَّذ بواسطة الفئات الفرعية التي تُعرّف _workflow_map.
init_pipeline[[diffusers.ModularPipelineBlocks.init_pipeline]]
init_pipeline(pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None)
أنشئ ModularPipeline، مع قبول pretrained_model_name_or_path بشكل اختياري للتحميل من المستودع.
SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]]
diffusers.SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]]
diffusers.SequentialPipelineBlocks()
المعاملات:
block_classes : قائمة بفئات الكتل المستخدمة
block_names : قائمة بادئات لكل كتلة
كتلة خط أنابيب (Pipeline Blocks) تجمع بين فئات كتل خط الأنابيب المتعددة في كتلة واحدة. عند استدعائها، ستقوم باستدعاء كل كتلة على التوالي.
ترث هذه الفئة من ModularPipelineBlocks. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع كتل خط المعالجة (مثل التحميل أو الحفظ وما إلى ذلك).
from_blocks_dict[[diffusers.SequentialPipelineBlocks.from_blocks_dict]]
from_blocks_dict(blocks_dict: dict[str, typing.Any], description: str | None = None)
المعاملات:
blocks_dict : قاموس يربط أسماء الكتل بفئات الكتل أو مثيلاتها
يعيد:
مثال جديد من SequentialPipelineBlocks
ينشئ كائنًا من نوع SequentialPipelineBlocks من قاموس (dictionary) من الكتل.
get_execution_blocks[[diffusers.SequentialPipelineBlocks.get_execution_blocks]]
get_execution_blocks(**kwargs)
المعاملات:
- **kwargs : أسماء وقيم المدخلات. المدخلات المحفّزة فقط هي التي تؤثر على اختيار الكتلة.
يعيد:
SequentialPipelineBlocks تحتوي فقط على الكتل التي سيتم تنفيذها
احصل على الكتل التي ستُنفَّذ بالنظر إلى المدخلات المحددة.
عندما يتنقل الاستكشاف عبر الكتل المتسلسلة، تُضاف المخرجات الوسيطة من الكتل المُحلّة إلى المدخلات النشطة. وهذا يعني أن الكتل الشرطية التي تعتمد على الوسيط (مثل "تشغيل img2img إذا كان image_latents موجودًا") ستُحلّ بشكل صحيح، طالما أن الشرط مبني على الوجود/الغياب (None أو غير None)، وليس على القيمة الفعلية.
LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]]
diffusers.LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]]
diffusers.LoopSequentialPipelineBlocks()
المعاملات:
block_classes : قائمة بفئات الكتل المستخدمة
block_names : قائمة بادئات لكل كتلة
Pipeline هو كتلة تجمع بين فئات كتل الخطوط المتعددة في حلقة For . عند استدعائها، ستقوم باستدعاء كل كتلة على التوالي.
ترث هذه الفئة من ModularPipelineBlocks. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع كتل خط المعالجة (مثل التحميل أو الحفظ وما إلى ذلك).
from_blocks_dict[[diffusers.LoopSequentialPipelineBlocks.from_blocks_dict]]
from_blocks_dict(blocks_dict: dict[str, typing.Any])
المعاملات:
blocks_dict : قاموس يربط أسماء الكتل بأمثلة الكتل
يعيد:
مثال جديد من LoopSequentialPipelineBlocks
ينشئ كائنًا من نوع LoopSequentialPipelineBlocks من قاموس (dictionary) من الكتل.
AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]]
diffusers.AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]]
diffusers.AutoPipelineBlocks()
المعاملات:
block_classes : قائمة فئات الكتل المستخدمة. يجب أن تكون لها نفس طول block_names وblock_trigger_inputs.
block_names : قائمة بأسماء كل كتلة. يجب أن يكون لها نفس طول block_classes وblock_trigger_inputs.
block_trigger_inputs : قائمة بأسماء المدخلات حيث يحدد كل عنصر مدخل التشغيل للكتلة المقابلة. استخدم None لتحديد الكتلة الافتراضية.
كتل خط أنابيب (Pipeline Blocks) تختار تلقائيًا كتلةً لتنفيذها بناءً على وجود مدخلات التفعيل.
هذه نسخة متخصصة من ConditionalPipelineBlocks حيث:
- لكل كتلة مدخل محفّز واحد (تطابق 1:1)
- يتم تحديد الكتلة تلقائيًا: تُختار أول كتلة يكون مدخل المحفّز الخاص بها حاضرًا
- يجب أن يكون لـ
block_trigger_inputsنفس طولblock_namesوblock_classes - استخدم
Noneفيblock_trigger_inputsلتحديد الكتلة الافتراضية، أي الكتلة التي ستُنفَّذ إذا لم تكن هناك مدخلات محفّزة
مثال:
class MyAutoBlock(AutoPipelineBlocks):
block_classes = [InpaintEncoderBlock, ImageEncoderBlock, TextEncoderBlock]
block_names = ["inpaint", "img2img", "text2img"]
block_trigger_inputs = ["mask_image", "image", None] # text2img is the default
مع هذا التعريف:
- طالما تم توفير
mask_image، يتم تشغيل كتلة "inpaint" (سواء تم توفيرimageأم لا) - إذا لم يُقدَّم
mask_imageلكن تم تقديمimage، يتم تشغيل كتلة "img2img" - وإلا، يتم تشغيل كتلة "text2img" (الافتراضي، المحفّز هو
None)
select_block[[diffusers.AutoPipelineBlocks.select_block]]
select_block(**kwargs)
اختر الكتلة بناءً على مدخل المحفّز الموجود (غير None).
ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]]
diffusers.ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]]
diffusers.ConditionalPipelineBlocks()
المعاملات:
block_classes : قائمة فئات الكتل المستخدمة. يجب أن يكون طولها مطابقًا لطول block_names.
block_names : قائمة بأسماء كل كتلة. يجب أن يكون لها نفس طول block_classes.
block_trigger_inputs : قائمة بأسماء المدخلات التي يستخدمها select_block() لتحديد الكتلة التي يجب تشغيلها. في حالة ConditionalPipelineBlocks، لا يلزم أن تتوافق هذه القائمة مع block_names وblock_classes. أما في حالة AutoPipelineBlocks، فيجب أن تكون لها نفس طول block_names وblock_classes، حيث يحدد كل عنصر مدخل التشغيل للكتلة المقابلة.
default_block_name : اسم الكتلة الافتراضية التي تُنفَّذ عندما لا تتطابق أي مدخلات محفّزة. إذا كانت القيمة None، يمكن تخطي هذه الكتلة بالكامل عندما لا تُوفَّر أي مدخلات محفّزة.
كتل Pipeline التي تختار بشكل شرطي كتلةً لتنفيذها بناءً على المدخلات. يجب أن تنفّذ الفئات الفرعية طريقة select_block لتعريف منطق اختيار الكتلة. حاليًا، ندعم فقط منطق الاختيار بناءً على وجود المدخلات أو غيابها (أي، ما إذا كانت None أم لا)
ترث هذه الفئة من ModularPipelineBlocks. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع كتل خط المعالجة (مثل التحميل أو الحفظ وما إلى ذلك).
get_execution_blocks[[diffusers.ConditionalPipelineBlocks.get_execution_blocks]]
get_execution_blocks(**kwargs)
المعاملات:
- **kwargs : أسماء وقيم المدخلات. المدخلات المحفّزة فقط هي التي تؤثر على اختيار الكتلة.
يعيد: - ModularPipelineBlocks
كتلة ورقة أو SequentialPipelineBlocks محلول
None: إذا كان هذا الكتلة سيتم تخطيها (لم يتطابق أي محفّز ولا يوجد افتراضي)
احصل على الكتلة (أو الكتل) التي ستُنفَّذ بالنظر إلى المدخلات.
يحلل كتل ConditionalPipelineBlocks المتداخلة بشكل تكراري حتى الوصول إلى أحد ما يلي:
- كتلة ورقة (لا تحتوي على sub_blocks أو LoopSequentialPipelineBlocks) → تُرجع كتلة
ModularPipelineBlocksواحدة - A
SequentialPipelineBlocks→ تفوّض إلىget_execution_blocks()الخاص بها والذي يعيد aSequentialPipelineBlocksتحتوي على كتل التنفيذ المحلولة
select_block[[diffusers.ConditionalPipelineBlocks.select_block]]
select_block(**kwargs)
المعاملات:
- **kwargs : أسماء مدخلات التفعيل وقيمها من الحالة.
يعيد: str | None
اسم الكتلة التي سيتم تشغيلها، أو None لاستخدام الافتراضي/التخطي.
اختر الكتلة التي سيتم تشغيلها بناءً على مدخلات المحفّز. يجب على الفئات الفرعية تنفيذ هذه الطريقة لتعريف منطق اختيار الكتلة.
Note: When trigger inputs include intermediate outputs from earlier blocks, the selection logic should only depend on the presence or absence of the input (i.e., whether it is None or not), not on its actual value. This is because get_execution_blocks() resolves conditions statically by propagating intermediate output names without their runtime values.
Xet Storage Details
- Size:
- 14.4 kB
- Xet hash:
- 192513217c286c2e92c2e837dc6cf5ad76f9a3f42a870681428a053754568768
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.