Diffusers documentation

HunyuanImage2.1

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

HunyuanImage2.1

HunyuanImage-2.1 هو نموذج نص إلى صورة بحجم 17 مليار معلمة، قادر على توليد صور بدقة 2K (2048 x 2048)

يتوفر HunyuanImage-2.1 في المتغيرات التالية:

نوع النموذجمعرف النموذج
HunyuanImage-2.1hunyuanvideo-community/HunyuanImage-2.1-Diffusers
HunyuanImage-2.1-Distilledhunyuanvideo-community/HunyuanImage-2.1-Distilled-Diffusers
HunyuanImage-2.1-Refinerhunyuanvideo-community/HunyuanImage-2.1-Refiner-Diffusers

يمكن أن يسرّع التخزين المؤقت الاستدلال أيضًا من خلال تخزين المخرجات الوسيطة وإعادة استخدامها.

HunyuanImage-2.1

يطبّق HunyuanImage-2.1 تقنية Adaptive Projected Guidance (APG) معClassifier-Free Guidance (CFG) في حلقة إزالة الضوضاء. يحتوي HunyuanImagePipeline على مكوّن guider (اقرأ المزيد حول Guider) ولا يقبل معامل guidance_scale وقت التشغيل. لتغيير المعاملات المتعلقة بـ guider، مثل guidance_scale، يمكنك بدلاً من ذلك تحديث تكوين guider.

import torch
from diffusers import HunyuanImagePipeline

pipe = HunyuanImagePipeline.from_pretrained(
    "hunyuanvideo-community/HunyuanImage-2.1-Diffusers", 
    dtype=torch.bfloat16
)
pipe = pipe.to("cuda")  # or "mps", "xpu", "cpu"

يمكنك فحص كائن guider:

>>> pipe.guider
AdaptiveProjectedMixGuidance {
  "_class_name": "AdaptiveProjectedMixGuidance",
  "_diffusers_version": "0.36.0.dev0",
  "adaptive_projected_guidance_momentum": -0.5,
  "adaptive_projected_guidance_rescale": 10.0,
  "adaptive_projected_guidance_scale": 10.0,
  "adaptive_projected_guidance_start_step": 5,
  "enabled": true,
  "eta": 0.0,
  "guidance_rescale": 0.0,
  "guidance_scale": 3.5,
  "start": 0.0,
  "stop": 1.0,
  "use_original_formulation": false
}

State:
  step: None
  num_inference_steps: None
  timestep: None
  count_prepared: 0
  enabled: True
  num_conditions: 2
  momentum_buffer: None
  is_apg_enabled: False
  is_cfg_enabled: True

لتحديث الموجّه بإعداد مختلف، استخدم طريقة new(). على سبيل المثال، لتوليد صورة مع guidance_scale=5.0 مع الإبقاء على جميع معاملات التوجيه الافتراضية الأخرى:

import torch
from diffusers import HunyuanImagePipeline

pipe = HunyuanImagePipeline.from_pretrained(
    "hunyuanvideo-community/HunyuanImage-2.1-Diffusers", 
    dtype=torch.bfloat16
)
pipe = pipe.to("cuda")  # or "mps", "xpu", "cpu"

# Update the guider configuration
pipe.guider = pipe.guider.new(guidance_scale=5.0)

prompt = (
    "A cute, cartoon-style anthropomorphic penguin plush toy with fluffy fur, standing in a painting studio, "
    "wearing a red knitted scarf and a red beret with the word 'Tencent' on it, holding a paintbrush with a "
    "focused expression as it paints an oil painting of the Mona Lisa, rendered in a photorealistic photographic style."
)

image = pipe(
    prompt=prompt, 
    num_inference_steps=50, 
    height=2048, 
    width=2048,
).images[0]
image.save("image.png")

HunyuanImage-2.1-Distilled

استخدم distilled_guidance_scale مع نقطة الفحص المُقطّرة للإرشاد،

import torch
from diffusers import HunyuanImagePipeline
pipe = HunyuanImagePipeline.from_pretrained("hunyuanvideo-community/HunyuanImage-2.1-Distilled-Diffusers", dtype=torch.bfloat16)
pipe = pipe.to("cuda")  # or "mps", "xpu", "cpu"

prompt = (
    "A cute, cartoon-style anthropomorphic penguin plush toy with fluffy fur, standing in a painting studio, "
    "wearing a red knitted scarf and a red beret with the word 'Tencent' on it, holding a paintbrush with a "
    "focused expression as it paints an oil painting of the Mona Lisa, rendered in a photorealistic photographic style."
)

out = pipe(
    prompt,
    num_inference_steps=8,
    distilled_guidance_scale=3.25,
    height=2048,
    width=2048,
    generator=generator,
).images[0]

HunyuanImagePipeline

فئة diffusers.HunyuanImagePipeline

< >

( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLHunyuanImagetext_encoder: Qwen2_5_VLForConditionalGenerationtokenizer: Qwen2Tokenizertext_encoder_2: T5EncoderModeltokenizer_2: ByT5Tokenizertransformer: HunyuanImageTransformer2DModelguider: AdaptiveProjectedMixGuidance | None = Noneocr_guider: AdaptiveProjectedMixGuidance | None = None )

المعاملات

  • transformer (HunyuanImageTransformer2DModel) — بنية Transformer الشرطية (MMDiT) لإزالة الضوضاء من كامنات الصورة المُرمّزة.
  • scheduler (FlowMatchEulerDiscreteScheduler) — جدول زمني يُستخدم بالاقتران مع transformer لإزالة الضوضاء من كائنات الصورة المُرمّزة.
  • vae (AutoencoderKLHunyuanImage) — نموذج الترميز التبايني التلقائي (VAE) لتشفير وفك تشفير الصور إلى تمثيلات كامنة ومنها.
  • text_encoder (Qwen2.5-VL-7B-Instruct) — Qwen2.5-VL-7B-Instruct، وتحديداً متغير Qwen2.5-VL-7B-Instruct.
  • tokenizer (Qwen2Tokenizer) — مُجزِّئ من الفئة [Qwen2Tokenizer].
  • text_encoder_2 (T5EncoderModel) — نسخة T5EncoderModel.
  • tokenizer_2 (ByT5Tokenizer) — مُقسِّم من الفئة [ByT5Tokenizer]
  • guider (AdaptiveProjectedMixGuidance) — [AdaptiveProjectedMixGuidance]يُستخدم لتوجيه توليد الصورة.
  • ocr_guider (AdaptiveProjectedMixGuidance، اختياري) — [AdaptiveProjectedMixGuidance] يُستخدم لتوجيه توليد الصورة عند الحاجة إلى عرض النص.

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

__call__

< >

( prompt: str | list[str] = Nonenegative_prompt: str | list[str] = Noneheight: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 50distilled_guidance_scale: float | None = 3.25sigmas: list[float] | None = Nonenum_images_per_prompt: int = 1generator: torch.Generator | list[torch.Generator] | None = Nonelatents: torch.Tensor | None = Noneprompt_embeds: torch.Tensor | None = Noneprompt_embeds_mask: torch.Tensor | None = Nonenegative_prompt_embeds: torch.Tensor | None = Nonenegative_prompt_embeds_mask: torch.Tensor | None = Noneprompt_embeds_2: torch.Tensor | None = Noneprompt_embeds_mask_2: torch.Tensor | None = Nonenegative_prompt_embeds_2: torch.Tensor | None = Nonenegative_prompt_embeds_mask_2: torch.Tensor | None = Noneoutput_type: str | None = 'pil'return_dict: bool = Trueattention_kwargs: dict[str, Any] | None = Nonecallback_on_step_end: Callable[[int, int], None] | None = Nonecallback_on_step_end_tensor_inputs: list[str] = ['latents'] ) → ~pipelines.hunyuan_image.HunyuanImagePipelineOutput or tuple

المعاملات

  • prompt (str أو list[str]، اختياري) — الموجّه أو الموجّهات التي توجّه توليد الصورة. إذا لم يُعرَّف، يجب تمرير prompt_embeds بدلاً من ذلك.
  • negative_prompt (str أو list[str]، اختياري) — الموجّه أو الموجّهات التي لا ينبغي استخدامها لتوجيه توليد الصورة. إذا لم يُعرَّف ولم يُقدَّم negative_prompt_embeds، فسيتم استخدام موجّه سلبي فارغ. يتم تجاهله عند عدم استخدام التوجيه. ).
  • height (int، اختياري، القيمة الافتراضية هي self.unet.config.sample_size * self.vae_scale_factor) — ارتفاع الصورة المولّدة بالبكسلات. يتم ضبطه على 1024 افتراضيًا للحصول على أفضل النتائج.
  • width (int، اختياري، القيمة الافتراضية هي self.unet.config.sample_size * self.vae_scale_factor) — عرض الصورة المولدة بالبكسلات. يتم ضبطه على 1024 افتراضيًا للحصول على أفضل النتائج.
  • num_inference_steps (int، اختياري، القيمة الافتراضية 50) — عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى صورة بجودة أعلى على حساب بطء الاستدلال.
  • sigmas (list[float]، اختياري) — قيم sigmas مخصصة لاستخدامها في عملية إزالة الضوضاء مع المجدولين الذين يدعمون معامل sigmas في طريقة set_timesteps الخاصة بهم. إذا لم يُعرَّف، فسيتم استخدام السلوك الافتراضي عند تمرير num_inference_steps.
  • distilled_guidance_scale (float, اختياري، القيمة الافتراضية None) — قيمة مقياس التوجيه (guidance scale) للنماذج المُقطَّرة للتوجيه. على عكس التوجيه الحر من التصنيف (classifier-free guidance) التقليدي حيث يُطبَّق مقياس التوجيه أثناء الاستدلال من خلال إعادة تحجيم تنبؤ الضوضاء، فإن النماذج المُقطَّرة للتوجيه تتخذ مقياس التوجيه مباشرةً كمدخل معياري أثناء المرور الأمامي. يتم تفعيل التوجيه عن طريق تعيين distilled_guidance_scale > 1. يشجّع مقياس توجيه أعلى على توليد صور مرتبطة ارتباطًا وثيقًا بنص prompt، وعادةً على حساب انخفاض جودة الصورة. بالنسبة للنماذج المُقطَّرة للتوجيه، هذا المعامل مطلوب. أما بالنسبة للنماذج غير المُقطَّرة، فسيتم تجاهل هذا المعامل.
  • num_images_per_prompt (int، اختياري، القيمة الافتراضية 1) — عدد الصور التي سيتم توليدها لكل موجه.
  • generator (torch.Generator أو list[torch.Generator]، اختياري) — مولّد واحد أو قائمة من مولّدات torch لجعل التوليد حتميًا.
  • latents (torch.Tensor، اختياري) — كائنات latents ضجيجية مُولّدة مسبقًا، مُستخرجة من توزيع غاوسي، تُستخدم كمدخلات لتوليد الصور. يمكن استخدامها لتعديل نفس التوليد باستخدام أوامر مختلفة. إذا لم تُقدَّم، سيتم توليد كائن latents عن طريق الاستخراج باستخدام generator العشوائي المُقدَّم.
  • prompt_embeds (torch.Tensor، اختياري) — تضمينات نصية مُولَّدة مسبقًا. يمكن استخدامها لتعديل مدخلات النص بسهولة، مثلًا وزن الموجه. إذا لم تُقدَّم، فسيتم توليد تضمينات النص من معامل الإدخال prompt.
  • prompt_embeds_mask (torch.Tensor، اختياري) — قناع لتضمينات النص المُولَّدة مسبقًا. يمكن استخدامه لتعديل مدخلات النص بسهولة، مثلًا وزن الموجه. إذا لم يُقدَّم، سيتم توليد قناع تضمينات النص من معامل الإدخال prompt.
  • prompt_embeds_2 (torch.Tensor، اختياري) — تضمينات نصية مُولّدة مسبقًا لـ ocr. يمكن استخدامها لتعديل مدخلات النص بسهولة، مثلًا وزن المحفّز. إذا لم تُقدَّم، فسيتم توليد تضمينات النص لـ ocr من معامل الإدخال prompt.
  • prompt_embeds_mask_2 (torch.Tensor، اختياري) — قناع التضمينات النصية المُولَّدة مسبقًا لـ ocr. يمكن استخدامه لتعديل مدخلات النص بسهولة، مثلًا وزن المحفّز. إذا لم يُقدَّم، سيتم توليد قناع التضمينات النصية لـ ocr من معامل الإدخال prompt.
  • negative_prompt_embeds (torch.Tensor، اختياري) — تضمينات نصية سلبية مُولّدة مسبقًا. يمكن استخدامها لتعديل مدخلات النص بسهولة، مثلًا وزن الموجه. إذا لم تُقدَّم، فسيتم توليد negative_prompt_embeds من معامل الإدخال negative_prompt.
  • negative_prompt_embeds_mask (torch.Tensor، اختياري) — قناع لتضمينات النص السلبية المُولَّدة مسبقًا. يمكن استخدامه لتعديل مدخلات النص بسهولة، مثلًا وزن الموجه. إذا لم يُقدَّم، سيتم توليد قناع تضمينات النص السلبية من معامل الإدخال negative_prompt.
  • negative_prompt_embeds_2 (torch.Tensor، اختياري) — تضمينات نصية سلبية مُولّدة مسبقًا لـ ocr. يمكن استخدامها لتعديل مدخلات النص بسهولة، مثلًا وزن المحفّز. إذا لم تُقدَّم، فسيتم توليد تضمينات النص السلبية لـ ocr من معامل الإدخال negative_prompt.
  • negative_prompt_embeds_mask_2 (torch.Tensor، اختياري) — قناع مُولّد مسبقًا لتضمينات النص السلبية الخاصة بـ ocr. يمكن استخدامه لتعديل مدخلات النص بسهولة، مثلًا وزن الموجه. إذا لم يُقدَّم، فسيتم توليد قناع تضمينات النص السلبية الخاصة بـ ocr من معامل الإدخال negative_prompt.
  • output_type (str، اختياري، القيمة الافتراضية "pil") — صيغة مخرجات توليد الصورة. اختر بين PIL: PIL.Image.Image أو np.array.
  • return_dict (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع ~pipelines.qwenimage.QwenImagePipelineOutput بدلاً من tuple عادي.
  • attention_kwargs (dict، اختياري) — قاموس kwargs يُمرَّر إلى AttentionProcessor إذا تم تحديده، كما هو معرَّف تحت self.processor في diffusers.models.attention_processor.
  • callback_on_step_end (Callable، اختياري) — دالة تُستدعى في نهاية كل خطوة إزالة ضوضاء أثناء الاستدلال. تُستدعى الدالة بالحجج التالية: callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). ستتضمن callback_kwargs قائمة بجميع المصفوفات كما حددتها callback_on_step_end_tensor_inputs.
  • callback_on_step_end_tensor_inputs (List, اختياري) — قائمة مدخلات المصفوفات (tensors) لدالة callback_on_step_end. سيتم تمرير المصفوفات المحددة في القائمة كحجة callback_kwargs. لن تتمكن من تضمين سوى المتغيرات المدرجة في خاصية ._callback_tensor_inputs لفئة خط الأنابيب (pipeline) الخاص بك.

يعيد

~pipelines.hunyuan_image.HunyuanImagePipelineOutput أو tuple

~pipelines.hunyuan_image.HunyuanImagePipelineOutput إذا كان return_dict هو True، وإلا tuple. عند إرجاع tuple، يكون العنصر الأول قائمة تحتوي على الصور المولّدة.

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

أمثلة:

>>> import torch
>>> from diffusers import HunyuanImagePipeline

>>> pipe = HunyuanImagePipeline.from_pretrained(
...     "hunyuanvideo-community/HunyuanImage-2.1-Diffusers", torch_dtype=torch.bfloat16
... )
>>> pipe.to("cuda")
>>> prompt = "A cat holding a sign that says hello world"
>>> # Depending on the variant being used, the pipeline call will slightly vary.
>>> # Refer to the pipeline documentation for more details.
>>> image = pipe(prompt, negative_prompt="", num_inference_steps=50).images[0]
>>> image.save("hunyuanimage.png")

encode_prompt

< >

( prompt: str | list[str]device: torch.device | None = Nonebatch_size: int = 1num_images_per_prompt: int = 1prompt_embeds: torch.Tensor | None = Noneprompt_embeds_mask: torch.Tensor | None = Noneprompt_embeds_2: torch.Tensor | None = Noneprompt_embeds_mask_2: torch.Tensor | None = None )

المعاملات

  • prompt (str أو list[str]، اختياري) — الموجّه الذي سيتم ترميزه
  • device — (torch.device): جهاز torch
  • batch_size (int) — حجم الدفعة للموجّهات، القيمة الافتراضية هي 1
  • num_images_per_prompt (int) — عدد الصور التي يجب توليدها لكل موجه
  • prompt_embeds (torch.Tensor، اختياري) — تضمينات نصية مُولَّدة مسبقًا. إذا لم تُقدَّم، فسيتم توليد تضمينات النص من معامل الإدخال prompt.
  • prompt_embeds_mask (torch.Tensor، اختياري) — قناع نصي مُولّد مسبقًا. إذا لم يُقدَّم، فسيتم توليد قناع النص من معامل الإدخال prompt.
  • prompt_embeds_2 (torch.Tensor، اختياري) — تضمينات نص رمزي مُولّدة مسبقًا من ByT5. إذا لم تُقدَّم، فستُولَّد من حجة الإدخال prompt باستخدام self.tokenizer_2 وself.text_encoder_2.
  • prompt_embeds_mask_2 (torch.Tensor، اختياري) — قناع نص الرموز المُولَّد مسبقًا من ByT5. إذا لم يُقدَّم، فسيتم توليده من حجة الإدخال prompt باستخدام self.tokenizer_2 وself.text_encoder_2.

HunyuanImageRefinerPipeline

فئة diffusers.HunyuanImageRefinerPipeline

< >

( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLHunyuanImageRefinertext_encoder: Qwen2_5_VLForConditionalGenerationtokenizer: Qwen2Tokenizertransformer: HunyuanImageTransformer2DModelguider: AdaptiveProjectedMixGuidance | None = None )

المعاملات

  • transformer (HunyuanImageTransformer2DModel) — بنية Transformer الشرطية (MMDiT) لإزالة الضوضاء من كامنات الصورة المُرمّزة.
  • scheduler (FlowMatchEulerDiscreteScheduler) — جدول زمني يُستخدم بالاقتران مع transformer لإزالة الضوضاء من كائنات الصورة المُرمّزة.
  • vae (AutoencoderKLHunyuanImageRefiner) — نموذج الترميز التبايني التلقائي (VAE) لتشفير وفك تشفير الصور إلى تمثيلات كامنة ومنها.
  • text_encoder (Qwen2.5-VL-7B-Instruct) — Qwen2.5-VL-7B-Instruct، وتحديداً متغير Qwen2.5-VL-7B-Instruct.
  • tokenizer (Qwen2Tokenizer) — مُجزِّئ من الفئة [Qwen2Tokenizer].

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

__call__

< >

( prompt: str | list[str] = Nonenegative_prompt: str | list[str] = Nonedistilled_guidance_scale: float | None = 3.25image: PipelineImageInput | None = Noneheight: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 4sigmas: list[float] | None = Nonenum_images_per_prompt: int = 1generator: torch.Generator | list[torch.Generator] | None = Nonelatents: torch.Tensor | None = Noneprompt_embeds: torch.Tensor | None = Noneprompt_embeds_mask: torch.Tensor | None = Nonenegative_prompt_embeds: torch.Tensor | None = Nonenegative_prompt_embeds_mask: torch.Tensor | None = Noneoutput_type: str | None = 'pil'return_dict: bool = Trueattention_kwargs: dict[str, Any] | None = Nonecallback_on_step_end: Callable[[int, int], None] | None = Nonecallback_on_step_end_tensor_inputs: list[str] = ['latents'] ) → ~pipelines.hunyuan_image.HunyuanImagePipelineOutput or tuple

المعاملات

  • prompt (str أو list[str]، اختياري) — الموجّه أو الموجّهات التي توجّه توليد الصورة. إذا لم يُعرَّف، يجب تمرير prompt_embeds بدلاً من ذلك.
  • negative_prompt (str أو list[str]، اختياري) — الموجّه أو الموجّهات التي لا ينبغي استخدامها لتوجيه توليد الصورة. إذا لم يُعرَّف، فسيتم استخدام موجّه سلبي فارغ. يتم تجاهله عند عدم استخدام التوجيه.
  • distilled_guidance_scale (float, اختياري، القيمة الافتراضية None) — قيمة مقياس التوجيه (guidance scale) للنماذج المُقطَّرة للتوجيه. على عكس التوجيه الحر من التصنيف (classifier-free guidance) التقليدي حيث يُطبَّق مقياس التوجيه أثناء الاستدلال من خلال إعادة تحجيم تنبؤ الضوضاء، فإن النماذج المُقطَّرة للتوجيه تتخذ مقياس التوجيه مباشرةً كمدخل معياري أثناء المرور الأمامي. يتم تفعيل التوجيه عن طريق تعيين distilled_guidance_scale > 1. يشجّع مقياس توجيه أعلى على توليد صور مرتبطة ارتباطًا وثيقًا بنص prompt، وعادةً على حساب انخفاض جودة الصورة. بالنسبة للنماذج المُقطَّرة للتوجيه، هذا المعامل مطلوب. أما بالنسبة للنماذج غير المُقطَّرة، فسيتم تجاهل هذا المعامل.
  • image (PipelineImageInput، اختياري) — الصورة المدخلة التي سيتم تحسينها.
  • num_images_per_prompt (int، اختياري، القيمة الافتراضية 1) —
  • height (int، اختياري، القيمة الافتراضية هي self.unet.config.sample_size * self.vae_scale_factor) — ارتفاع الصورة المولّدة بالبكسلات. يتم ضبطه على 1024 افتراضيًا للحصول على أفضل النتائج.
  • width (int، اختياري، القيمة الافتراضية هي self.unet.config.sample_size * self.vae_scale_factor) — عرض الصورة المولدة بالبكسلات. يتم ضبطه على 1024 افتراضيًا للحصول على أفضل النتائج.
  • num_inference_steps (int، اختياري، القيمة الافتراضية 50) — عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى صورة بجودة أعلى على حساب بطء الاستدلال.
  • sigmas (list[float]، اختياري) — قيم sigmas مخصصة لاستخدامها في عملية إزالة الضوضاء مع المجدولين الذين يدعمون معامل sigmas في طريقة set_timesteps الخاصة بهم. إذا لم يُعرَّف، فسيتم استخدام السلوك الافتراضي عند تمرير num_inference_steps.
  • num_images_per_prompt (int، اختياري، القيمة الافتراضية 1) — عدد الصور التي سيتم توليدها لكل موجه.
  • generator (torch.Generator أو list[torch.Generator]، اختياري) — مولّد واحد أو قائمة من مولّدات torch لجعل التوليد حتميًا.
  • latents (torch.Tensor، اختياري) — كائنات latents ضجيجية مُولّدة مسبقًا، مُستخرجة من توزيع غاوسي، تُستخدم كمدخلات لتوليد الصور. يمكن استخدامها لتعديل نفس التوليد باستخدام أوامر مختلفة. إذا لم تُقدَّم، سيتم توليد كائن latents عن طريق الاستخراج باستخدام generator العشوائي المُقدَّم.
  • prompt_embeds (torch.Tensor، اختياري) — تضمينات نصية مُولَّدة مسبقًا. يمكن استخدامها لتعديل مدخلات النص بسهولة، مثلًا وزن الموجه. إذا لم تُقدَّم، فسيتم توليد تضمينات النص من معامل الإدخال prompt.
  • prompt_embeds_mask (torch.Tensor، اختياري) — قناع الانتباه لـ prompt_embeds.
  • negative_prompt_embeds (torch.Tensor، اختياري) — تضمينات نصية سلبية مُولّدة مسبقًا. يمكن استخدامها لتعديل مدخلات النص بسهولة، مثلًا وزن الموجه. إذا لم تُقدَّم، فسيتم توليد negative_prompt_embeds من معامل الإدخال negative_prompt.
  • negative_prompt_embeds_mask (torch.Tensor، اختياري) — قناع الانتباه لـ negative_prompt_embeds.
  • output_type (str، اختياري، القيمة الافتراضية "pil") — صيغة مخرجات توليد الصورة. اختر بين PIL: PIL.Image.Image أو np.array.
  • return_dict (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع ~pipelines.qwenimage.QwenImagePipelineOutput بدلاً من tuple عادي.
  • attention_kwargs (dict، اختياري) — قاموس kwargs يُمرَّر إلى AttentionProcessor إذا تم تحديده، كما هو معرَّف تحت self.processor في diffusers.models.attention_processor.
  • callback_on_step_end (Callable، اختياري) — دالة تُستدعى في نهاية كل خطوة إزالة ضوضاء أثناء الاستدلال. تُستدعى الدالة بالحجج التالية: callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). ستتضمن callback_kwargs قائمة بجميع المصفوفات كما حددتها callback_on_step_end_tensor_inputs.
  • callback_on_step_end_tensor_inputs (List, اختياري) — قائمة مدخلات المصفوفات (tensors) لدالة callback_on_step_end. سيتم تمرير المصفوفات المحددة في القائمة كحجة callback_kwargs. لن تتمكن من تضمين سوى المتغيرات المدرجة في خاصية ._callback_tensor_inputs لفئة خط الأنابيب (pipeline) الخاص بك.

يعيد

~pipelines.hunyuan_image.HunyuanImagePipelineOutput أو tuple

~pipelines.hunyuan_image.HunyuanImagePipelineOutput إذا كان return_dict هو True، وإلا tuple. عند إرجاع tuple، يكون العنصر الأول قائمة تحتوي على الصور المولّدة.

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

أمثلة:

>>> import torch
>>> from diffusers import HunyuanImageRefinerPipeline

>>> pipe = HunyuanImageRefinerPipeline.from_pretrained(
...     "hunyuanvideo-community/HunyuanImage-2.1-Refiner-Diffusers", torch_dtype=torch.bfloat16
... )
>>> pipe.to("cuda")
>>> prompt = "A cat holding a sign that says hello world"
>>> image = load_image("path/to/image.png")
>>> # Depending on the variant being used, the pipeline call will slightly vary.
>>> # Refer to the pipeline documentation for more details.
>>> image = pipe(prompt, image=image, num_inference_steps=4).images[0]
>>> image.save("hunyuanimage.png")

encode_prompt

< >

( prompt: str | list[str] | None = Nonedevice: torch.device | None = Nonebatch_size: int = 1num_images_per_prompt: int = 1prompt_embeds: torch.Tensor | None = Noneprompt_embeds_mask: torch.Tensor | None = None )

المعاملات

  • prompt (str أو list[str]، اختياري) — الموجّه الذي سيتم ترميزه
  • device — (torch.device): جهاز torch
  • batch_size (int) — حجم الدفعة للموجّهات، القيمة الافتراضية هي 1
  • num_images_per_prompt (int) — عدد الصور التي يجب توليدها لكل موجه
  • prompt_embeds (torch.Tensor، اختياري) — تضمينات نصية مُولَّدة مسبقًا. إذا لم تُقدَّم، فسيتم توليد تضمينات النص من معامل الإدخال prompt.
  • prompt_embeds_mask (torch.Tensor، اختياري) — قناع نصي مُولّد مسبقًا. إذا لم يُقدَّم، فسيتم توليد قناع النص من معامل الإدخال prompt.
  • prompt_embeds_2 (torch.Tensor، اختياري) — تضمينات نص رمزي مُولّدة مسبقًا من ByT5. إذا لم تُقدَّم، فستُولَّد من حجة الإدخال prompt باستخدام self.tokenizer_2 وself.text_encoder_2.
  • prompt_embeds_mask_2 (torch.Tensor، اختياري) — قناع نص الرموز المُولَّد مسبقًا من ByT5. إذا لم يُقدَّم، فسيتم توليده من حجة الإدخال prompt باستخدام self.tokenizer_2 وself.text_encoder_2.

HunyuanImagePipelineOutput

فئة diffusers.pipelines.hunyuan_image.pipeline_output.HunyuanImagePipelineOutput

< >

( images: list )

المعاملات

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

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

Update on GitHub