Buckets:

mishig's picture
|
download
raw
14.4 kB

كتل خط الأنابيب

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() الخاص بها والذي يعيد a SequentialPipelineBlocks تحتوي على كتل التنفيذ المحلولة

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:
6852eec40d5b6e0428db27fc379691645a5e619ff526a7ab3752f0d8a1424c41

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.