Diffusers documentation

NucleusMoE-Image

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

NucleusMoE-Image

NucleusMoE-Image هو نموذج لتوليد الصور من النص يجمع بين DiT أحادي التيار وطبقات Mixture-of-Experts للتقدم الأمامي، وانتباه متقاطع مع مشفر النص Qwen3-VL، ومجدول أويلر المنفصل لمطابقة التدفق.

تأكد من الاطلاع على دليل المجدولين لمعرفة كيفية استكشاف التوازن بين سرعة المجدول وجودة النتائج، واطّلع على قسم إعادة استخدام المكونات عبر خطوط الأنابيب لمعرفة كيفية تحميل نفس المكونات بكفاءة في خطوط أنابيب متعددة.

NucleusMoEImagePipeline

فئة diffusers.NucleusMoEImagePipeline

< >

( transformer: NucleusMoEImageTransformer2DModelscheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLQwenImagetext_encoder: Qwen3VLForConditionalGenerationprocessor: Qwen3VLProcessor )

المعاملات

  • transformer (NucleusMoEImageTransformer2DModel) — بنية Transformer الشرطية (MMDiT) لإزالة الضوضاء من الكامنات المُرمّزة للصورة.
  • scheduler (FlowMatchEulerDiscreteScheduler) — جدول زمني يُستخدم بالاقتران مع transformer لإزالة الضوضاء من كائنات الصورة المُرمّزة.
  • vae (AutoencoderKLQwenImage) — نموذج الترميز التبايني التلقائي (VAE) لتشفير الصور وفك تشفيرها إلى تمثيلات كامنة ومنها.
  • text_encoder (Qwen3VLForConditionalGeneration) — مُشفِّر النص لحساب تمثيلات الموجهات.
  • processor (Qwen3VLProcessor) — معالج لتجزئة مدخلات النص.

خط أنابيب لتوليد الصور من النص باستخدام NucleusMoE.

تستخدم هذه المسار (Pipeline) نموذج DiT أحادي التيار (single-stream) مع طبقات تقدّم أمامي (feed-forward) من نوع مزيج الخبراء (Mixture-of-Experts)، وانتباه متقاطع (cross-attention) مع مُشفّر نصوص Qwen3-VL، ومجدول أويلر المنفصل (Euler discrete scheduler) المطابق للتدفق (flow-matching).

__call__

< >

( prompt: str | list[str] = Nonenegative_prompt: str | list[str] = Noneguidance_scale: float = 4.0height: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 50sigmas: list[float] | None = Nonenum_images_per_prompt: int = 1max_sequence_length: int | None = Nonereturn_index: int | None = Nonegenerator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneprompt_embeds: typing.Optional[torch.Tensor] = Noneprompt_embeds_mask: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds_mask: typing.Optional[torch.Tensor] = Noneoutput_type: str | None = 'pil'return_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = Nonecallback_on_step_end: typing.Optional[typing.Callable[[int, int, dict], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents'] ) → NucleusMoEImagePipelineOutput or tuple

المعاملات

  • prompt (str أو list[str]، اختياري) — الموجّه أو الموجّهات التي تُوجّه توليد الصورة. إذا لم يُعرَّف، يجب تمرير prompt_embeds.
  • negative_prompt (str أو list[str]، اختياري) — الموجّه أو الموجّهات التي لا ينبغي استخدامها لتوجيه توليد الصورة. إذا لم يُعرَّف، يُستخدم نص فارغ عندما يكون true_cfg_scale > 1.
  • guidance_scale (float، اختياري، القيمة الافتراضية 4.0) — مقياس التوجيه الحر من التصنيف. القيم الأكبر من 1 تفعّل CFG.
  • return_index (int, اختياري) — مؤشر الطبقة (Layer index) لمخرج مُشفِّر النص (text encoder) الذي سيُستخدم لتضمينات الموجه (prompt embeddings).
  • height (int، اختياري، القيمة الافتراضية هي self.default_sample_size * self.vae_scale_factor) — ارتفاع الصورة المولّدة بالبكسل.
  • width (int، اختياري، القيمة الافتراضية self.default_sample_size * self.vae_scale_factor) — عرض الصورة المولدة بالبكسل.
  • num_inference_steps (int، اختياري، القيمة الافتراضية 50) — عدد خطوات إزالة الضوضاء.
  • sigmas (list[float]، اختياري) — قيم sigmas مخصصة لجدول إزالة الضوضاء. إذا لم تُعرَّف، يُستخدم جدول خطي.
  • num_images_per_prompt (int، اختياري، القيمة الافتراضية 1) — عدد الصور التي سيتم توليدها لكل موجه.
  • generator (torch.Generator أو list[torch.Generator]، اختياري) — مولّد واحد أو قائمة من مولّدات torch لجعل التوليد حتميًا.
  • latents (torch.Tensor، اختياري) — كائنات ضجيج مُولّدة مسبقًا تُستخدم كمدخلات لتوليد الصور.
  • prompt_embeds (torch.Tensor، اختياري) — تضمينات نصية مُولّدة مسبقًا.
  • prompt_embeds_mask (torch.Tensor، اختياري) — قناع الانتباه (Attention mask) لتضمينات النص المُولَّدة مسبقًا.
  • negative_prompt_embeds (torch.Tensor، اختياري) — تضمينات نصية سلبية مُولّدة مسبقًا.
  • negative_prompt_embeds_mask (torch.Tensor، اختياري) — قناع الانتباه (Attention mask) لتضمينات النص السلبية المُولَّدة مسبقًا.
  • output_type (str، اختياري، الافتراضي "pil") — صيغة مخرجات الصورة المولّدة. اختر بين "pil" أو "np" أو "latent".
  • return_dict (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع NucleusMoEImagePipelineOutput بدلاً من tuple عادي.
  • attention_kwargs (dict، اختياري) — كلمات مفتاحية تُمرَّر إلى معالج الانتباه.
  • callback_on_step_end (Callable، اختياري) — دالة تُستدعى في نهاية كل خطوة إزالة ضوضاء.
  • callback_on_step_end_tensor_inputs (list، اختياري) — مدخلات المصفوفات (Tensor) لدالة callback_on_step_end.
  • max_sequence_length (int، القيمة الافتراضية 512) — الحد الأقصى لطول التسلسل للموجّه النصي.

يعيد

NucleusMoEImagePipelineOutput أو tuple

NucleusMoEImagePipelineOutput إذا كان return_dict هو True، وإلا فسيكون tuple حيث يكون العنصر الأول قائمة بالصور المولّدة.

الدالة التي تُستدعى عند استدعاء خط الأنابيب للتوليد.

أمثلة:

>>> import torch
>>> from diffusers import NucleusMoEImagePipeline

>>> pipe = NucleusMoEImagePipeline.from_pretrained("NucleusAI/NucleusMoE-Image", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> prompt = "A cat holding a sign that says hello world"
>>> image = pipe(prompt, num_inference_steps=50).images[0]
>>> image.save("nucleus_moe.png")

encode_prompt

< >

( prompt: str | list[str] = Nonedevice: typing.Optional[torch.device] = Nonenum_images_per_prompt: int = 1prompt_embeds: typing.Optional[torch.Tensor] = Noneprompt_embeds_mask: typing.Optional[torch.Tensor] = Nonemax_sequence_length: int | None = Nonereturn_index: int | None = None )

المعاملات

  • prompt (str أو list[str]، اختياري) — الموجّه أو الموجّهات التي سيتم ترميزها.
  • device (torch.device، اختياري) — جهاز Torch للمصفوفات الناتجة.
  • num_images_per_prompt (int، القيمة الافتراضية 1) — عدد الصور التي سيتم توليدها لكل موجه.
  • prompt_embeds (torch.Tensor، اختياري) — تضمينات نصية مُولّدة مسبقًا. يتخطى الترميز عند توفيرها.
  • prompt_embeds_mask (torch.Tensor، اختياري) — قناع الانتباه للتضمينات المُولَّدة مسبقًا.
  • max_sequence_length (int، القيمة الافتراضية 1024) — الحد الأقصى لطول الرموز (tokens) للموجّه المُرمَّز.

ترميز موجهات النص إلى تمثيلات باستخدام مُرمِّز النص في Qwen3-VL.

NucleusMoEImagePipelineOutput

class diffusers.pipelines.nucleusmoe_image.pipeline_output.NucleusMoEImagePipelineOutput

< >

( images: list[PIL.Image.Image] | numpy.ndarray )

المعاملات

  • images (list[PIL.Image.Image] أو np.ndarray) — قائمة من صور PIL منزوعة الضوضاء بطول batch_size أو مصفوفة numpy بأبعاد (batch_size, height, width, num_channels). تمثل صور PIL أو مصفوفة numpy الصور منزوعة الضوضاء من خط أنابيب الانتشار.

فئة الإخراج لخطوط أنابيب NucleusMoE Image.

Update on GitHub