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 là một mô hình text-to-image 17B có khả năng tạo ra các hình ảnh với độ phân giải 2K (2048 x 2048)

HunyuanImage-2.1 có các biến thể sau:

loại modelmodel id
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

Caching cũng có thể tăng tốc suy luận bằng cách lưu trữ và tái sử dụng các kết quả trung gian.

HunyuanImage-2.1

HunyuanImage-2.1 áp dụng Adaptive Projected Guidance (APG) kết hợp với Classifier-Free Guidance (CFG) trong vòng lặp khử nhiễu. HunyuanImagePipeline có thành phần guider (xem thêm về Guider) và không nhận tham số guidance_scale khi chạy. Để thay đổi các tham số liên quan đến guider, ví dụ guidance_scale, bạn có thể cập nhật cấu hình guider thay thế.

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"

Bạn có thể kiểm tra đối tượng 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

Để cập nhật guider với một cấu hình khác, hãy sử dụng phương thức new(). Ví dụ, để tạo một hình ảnh với guidance_scale=5.0 trong khi giữ nguyên tất cả các tham số guidance mặc định khác:

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

sử dụng distilled_guidance_scale với checkpoint guidance-distilled,

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

lớp diffusers.HunyuanImagePipeline

< >

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

Tham số

  • transformer (HunyuanImageTransformer2DModel) — Kiến trúc Conditional Transformer (MMDiT) để khử nhiễu các latents ảnh đã mã hóa.
  • scheduler (FlowMatchEulerDiscreteScheduler) — Một scheduler được sử dụng kết hợp với transformer để khử nhiễu các latents ảnh đã được mã hóa.
  • vae (AutoencoderKLHunyuanImage) — Mô hình Variational Auto-Encoder (VAE) để mã hóa và giải mã hình ảnh sang và từ các biểu diễn ẩn.
  • text_encoder (Qwen2.5-VL-7B-Instruct) — Qwen2.5-VL-7B-Instruct, cụ thể là biến thể Qwen2.5-VL-7B-Instruct.
  • tokenizer (Qwen2Tokenizer) — Tokenizer của lớp [Qwen2Tokenizer].
  • text_encoder_2 (T5EncoderModel) — biến thể T5EncoderModel.
  • tokenizer_2 (ByT5Tokenizer) — Tokenizer của lớp [ByT5Tokenizer]
  • guider (AdaptiveProjectedMixGuidance) — [AdaptiveProjectedMixGuidance] được sử dụng để điều hướng quá trình tạo ảnh.
  • ocr_guider (AdaptiveProjectedMixGuidance, tuỳ chọn) — [AdaptiveProjectedMixGuidance] được sử dụng để hướng dẫn tạo hình ảnh khi cần hiển thị văn bản.

Pipeline HunyuanImage cho việc tạo ảnh từ văn bản.

__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

Tham số

  • prompt (str hoặc list[str], tùy chọn) — Prompt hoặc các prompt để định hướng việc tạo ảnh. Nếu không được định nghĩa, bạn phải truyền prompt_embeds thay thế.
  • negative_prompt (str hoặc list[str], tùy chọn) — Prompt hoặc các prompt không dùng để định hướng việc tạo ảnh. Nếu không được định nghĩa và negative_prompt_embeds không được cung cấp, sẽ sử dụng một negative prompt rỗng. Bị bỏ qua khi không sử dụng guidance. ).
  • height (int, tùy chọn, mặc định là self.unet.config.sample_size * self.vae_scale_factor) — Chiều cao của hình ảnh được tạo ra, tính bằng pixel. Giá trị mặc định là 1024 để đạt kết quả tốt nhất.
  • width (int, tùy chọn, mặc định là self.unet.config.sample_size * self.vae_scale_factor) — Chiều rộng của hình ảnh được tạo ra, tính bằng pixel. Giá trị mặc định là 1024 để đạt kết quả tốt nhất.
  • num_inference_steps (int, tùy chọn, mặc định là 50) — Số bước khử nhiễu. Số bước khử nhiễu nhiều hơn thường dẫn đến hình ảnh có chất lượng cao hơn với chi phí là suy luận chậm hơn.
  • sigmas (list[float], tùy chọn) — Các sigma tùy chỉnh để sử dụng cho quá trình khử nhiễu với các trình lập lịch hỗ trợ đối số sigmas trong phương thức set_timesteps của chúng. Nếu không được định nghĩa, hành vi mặc định khi num_inference_steps được truyền sẽ được sử dụng.
  • distilled_guidance_scale (float, tuỳ chọn, mặc định là None) — Giá trị guidance scale cho các mô hình guidance đã được distilled. Khác với classifier-free guidance truyền thống, nơi guidance scale được áp dụng trong quá trình suy luận thông qua việc rescaling dự đoán nhiễu, các mô hình guidance distilled nhận guidance scale trực tiếp như một tham số đầu vào trong bước forward. Guidance được kích hoạt bằng cách đặt distilled_guidance_scale > 1. Guidance scale cao hơn khuyến khích tạo ra các hình ảnh gắn kết chặt chẽ với prompt văn bản, thường phải đánh đổi bằng chất lượng hình ảnh thấp hơn. Đối với các mô hình guidance distilled, tham số này là bắt buộc. Đối với các mô hình không distilled, tham số này sẽ bị bỏ qua.
  • num_images_per_prompt (int, tùy chọn, mặc định là 1) — Số lượng hình ảnh cần tạo cho mỗi prompt.
  • generator (torch.Generator hoặc list[torch.Generator], tuỳ chọn) — Một hoặc một danh sách torch generator để đảm bảo quá trình sinh là tất định.
  • latents (torch.Tensor, tùy chọn) — Các latents nhiễu đã được tạo trước, lấy mẫu từ phân phối Gaussian, dùng làm đầu vào cho việc tạo ảnh. Có thể dùng để tinh chỉnh cùng một quá trình tạo với các prompt khác nhau. Nếu không được cung cấp, một tensor latents sẽ được tạo bằng cách lấy mẫu sử dụng generator ngẫu nhiên được cung cấp.
  • prompt_embeds (torch.Tensor, tùy chọn) — Các embedding văn bản đã được tạo trước. Có thể dùng để dễ dàng điều chỉnh đầu vào văn bản, vd. trọng số prompt. Nếu không được cung cấp, các embedding văn bản sẽ được tạo từ đối số đầu vào prompt.
  • prompt_embeds_mask (torch.Tensor, tùy chọn) — Mặt nạ (mask) cho các embedding văn bản đã được tạo trước. Có thể dùng để dễ dàng điều chỉnh đầu vào văn bản, ví dụ như trọng số prompt. Nếu không được cung cấp, mặt nạ embedding văn bản sẽ được tạo từ đối số đầu vào prompt.
  • prompt_embeds_2 (torch.Tensor, tùy chọn) — Các embedding văn bản đã tạo sẵn cho ocr. Có thể dùng để dễ dàng điều chỉnh đầu vào văn bản, vd. trọng số prompt. Nếu không được cung cấp, các embedding văn bản cho ocr sẽ được tạo từ đối số đầu vào prompt.
  • prompt_embeds_mask_2 (torch.Tensor, tùy chọn) — Mặt nạ (mask) cho nhúng văn bản đã tạo trước dành cho ocr. Có thể dùng để dễ dàng điều chỉnh đầu vào văn bản, vd. trọng số prompt. Nếu không được cung cấp, mặt nạ nhúng văn bản cho ocr sẽ được tạo từ đối số đầu vào prompt.
  • negative_prompt_embeds (torch.Tensor, tùy chọn) — Các embedding văn bản âm đã được tạo trước. Có thể dùng để dễ dàng điều chỉnh đầu vào văn bản, vd. trọng số prompt. Nếu không được cung cấp, negative_prompt_embeds sẽ được tạo từ đối số đầu vào negative_prompt.
  • negative_prompt_embeds_mask (torch.Tensor, tùy chọn) — Mặt nạ (mask) cho các embedding văn bản âm đã được tạo trước. Có thể dùng để dễ dàng điều chỉnh các đầu vào văn bản, ví dụ như trọng số prompt. Nếu không được cung cấp, mặt nạ cho các embedding văn bản âm sẽ được tạo từ đối số đầu vào negative_prompt.
  • negative_prompt_embeds_2 (torch.Tensor, tùy chọn) — Các embedding văn bản âm đã tạo sẵn cho ocr. Có thể dùng để dễ dàng điều chỉnh các đầu vào văn bản, vd. trọng số prompt. Nếu không được cung cấp, các embedding văn bản âm cho ocr sẽ được tạo từ đối số đầu vào negative_prompt.
  • negative_prompt_embeds_mask_2 (torch.Tensor, tùy chọn) — Mặt nạ (mask) cho các vector nhúng văn bản âm đã tạo sẵn dành cho ocr. Có thể dùng để dễ dàng điều chỉnh các đầu vào văn bản, ví dụ như trọng số của prompt. Nếu không được cung cấp, mặt nạ cho các vector nhúng văn bản âm dành cho ocr sẽ được tạo từ tham số đầu vào negative_prompt.
  • output_type (str, tùy chọn, mặc định là "pil") — Định dạng đầu ra của hình ảnh được tạo. Chọn giữa PIL: PIL.Image.Image hoặc np.array.
  • return_dict (bool, tùy chọn, mặc định là True) — Có nên trả về một ~pipelines.qwenimage.QwenImagePipelineOutput thay vì một tuple thông thường hay không.
  • attention_kwargs (dict, tùy chọn) — Một từ điển kwargs, nếu được chỉ định, sẽ được truyền đến AttentionProcessor như đã định nghĩa dưới self.processor trong diffusers.models.attention_processor.
  • callback_on_step_end (Callable, tùy chọn) — Một hàm được gọi vào cuối mỗi bước khử nhiễu trong quá trình suy luận. Hàm này được gọi với các đối số sau: callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). callback_kwargs sẽ bao gồm danh sách tất cả các tensor như được chỉ định bởi callback_on_step_end_tensor_inputs.
  • callback_on_step_end_tensor_inputs (List, optional) — Danh sách các tensor đầu vào cho hàm callback_on_step_end. Các tensor được chỉ định trong danh sách sẽ được truyền dưới dạng tham số callback_kwargs. Bạn chỉ có thể bao gồm các biến được liệt kê trong thuộc tính ._callback_tensor_inputs của lớp pipeline của bạn.

Trả về

~pipelines.hunyuan_image.HunyuanImagePipelineOutput hoặc tuple

~pipelines.hunyuan_image.HunyuanImagePipelineOutput nếu return_dict là True, ngược lại là một tuple. Khi trả về tuple, phần tử đầu tiên là một danh sách chứa các hình ảnh đã tạo.

Hàm được gọi khi gọi pipeline cho việc sinh.

Ví dụ:

>>> 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 )

Tham số

  • prompt (str hoặc list[str], tùy chọn) — prompt cần được mã hóa
  • device — (torch.device): thiết bị torch
  • batch_size (int) — Kích thước batch của các prompt, mặc định là 1
  • num_images_per_prompt (int) — số lượng hình ảnh cần được tạo cho mỗi prompt
  • prompt_embeds (torch.Tensor, tùy chọn) — Các embedding văn bản đã được tạo trước. Nếu không được cung cấp, các embedding văn bản sẽ được tạo từ đối số đầu vào prompt.
  • prompt_embeds_mask (torch.Tensor, tùy chọn) — Mặt nạ văn bản đã tạo trước. Nếu không được cung cấp, mặt nạ văn bản sẽ được tạo từ đối số đầu vào prompt.
  • prompt_embeds_2 (torch.Tensor, tùy chọn) — Các embedding văn bản glyph được tạo trước từ ByT5. Nếu không được cung cấp, chúng sẽ được tạo từ đối số đầu vào prompt bằng cách sử dụng self.tokenizer_2 và self.text_encoder_2.
  • prompt_embeds_mask_2 (torch.Tensor, tùy chọn) — Mặt nạ văn bản glyph được tạo trước từ ByT5. Nếu không được cung cấp, sẽ được tạo từ đối số đầu vào prompt bằng cách sử dụng self.tokenizer_2 và self.text_encoder_2.

HunyuanImageRefinerPipeline

lớp diffusers.HunyuanImageRefinerPipeline

< >

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

Tham số

Pipeline HunyuanImage cho việc tạo ảnh từ văn bản.

__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

Tham số

  • prompt (str hoặc list[str], tùy chọn) — Prompt hoặc các prompt để định hướng việc tạo ảnh. Nếu không được định nghĩa, bạn phải truyền prompt_embeds thay thế.
  • negative_prompt (str hoặc list[str], tùy chọn) — Prompt hoặc các prompt không dùng để định hướng việc tạo ảnh. Nếu không được định nghĩa, sẽ sử dụng một negative prompt rỗng. Bị bỏ qua khi không sử dụng guidance.
  • distilled_guidance_scale (float, tuỳ chọn, mặc định là None) — Giá trị guidance scale cho các mô hình guidance đã được distilled. Khác với classifier-free guidance truyền thống, nơi guidance scale được áp dụng trong quá trình suy luận thông qua việc rescaling dự đoán nhiễu, các mô hình guidance distilled nhận guidance scale trực tiếp như một tham số đầu vào trong bước forward. Guidance được kích hoạt bằng cách đặt distilled_guidance_scale > 1. Guidance scale cao hơn khuyến khích tạo ra các hình ảnh gắn kết chặt chẽ với prompt văn bản, thường phải đánh đổi bằng chất lượng hình ảnh thấp hơn. Đối với các mô hình guidance distilled, tham số này là bắt buộc. Đối với các mô hình không distilled, tham số này sẽ bị bỏ qua.
  • image (PipelineImageInput, tùy chọn) — Hình ảnh đầu vào cần được tinh chỉnh.
  • num_images_per_prompt (int, tùy chọn, mặc định là 1) —
  • height (int, tùy chọn, mặc định là self.unet.config.sample_size * self.vae_scale_factor) — Chiều cao của hình ảnh được tạo ra, tính bằng pixel. Giá trị mặc định là 1024 để đạt kết quả tốt nhất.
  • width (int, tùy chọn, mặc định là self.unet.config.sample_size * self.vae_scale_factor) — Chiều rộng của hình ảnh được tạo ra, tính bằng pixel. Giá trị mặc định là 1024 để đạt kết quả tốt nhất.
  • num_inference_steps (int, tùy chọn, mặc định là 50) — Số bước khử nhiễu. Số bước khử nhiễu nhiều hơn thường dẫn đến hình ảnh có chất lượng cao hơn với chi phí là suy luận chậm hơn.
  • sigmas (list[float], tùy chọn) — Các sigma tùy chỉnh để sử dụng cho quá trình khử nhiễu với các trình lập lịch hỗ trợ đối số sigmas trong phương thức set_timesteps của chúng. Nếu không được định nghĩa, hành vi mặc định khi num_inference_steps được truyền sẽ được sử dụng.
  • num_images_per_prompt (int, tùy chọn, mặc định là 1) — Số lượng hình ảnh cần tạo cho mỗi prompt.
  • generator (torch.Generator hoặc list[torch.Generator], tuỳ chọn) — Một hoặc một danh sách torch generator để đảm bảo quá trình sinh là tất định.
  • latents (torch.Tensor, tùy chọn) — Các latents nhiễu đã được tạo trước, lấy mẫu từ phân phối Gaussian, dùng làm đầu vào cho việc tạo ảnh. Có thể dùng để tinh chỉnh cùng một quá trình tạo với các prompt khác nhau. Nếu không được cung cấp, một tensor latents sẽ được tạo bằng cách lấy mẫu sử dụng generator ngẫu nhiên được cung cấp.
  • prompt_embeds (torch.Tensor, tùy chọn) — Các embedding văn bản đã được tạo trước. Có thể dùng để dễ dàng điều chỉnh đầu vào văn bản, vd. trọng số prompt. Nếu không được cung cấp, các embedding văn bản sẽ được tạo từ đối số đầu vào prompt.
  • prompt_embeds_mask (torch.Tensor, tùy chọn) — Mặt nạ chú ý cho prompt_embeds.
  • negative_prompt_embeds (torch.Tensor, tùy chọn) — Các embedding văn bản âm đã được tạo trước. Có thể dùng để dễ dàng điều chỉnh đầu vào văn bản, vd. trọng số prompt. Nếu không được cung cấp, negative_prompt_embeds sẽ được tạo từ đối số đầu vào negative_prompt.
  • negative_prompt_embeds_mask (torch.Tensor, tùy chọn) — Mặt nạ chú ý cho negative_prompt_embeds.
  • output_type (str, tùy chọn, mặc định là "pil") — Định dạng đầu ra của hình ảnh được tạo. Chọn giữa PIL: PIL.Image.Image hoặc np.array.
  • return_dict (bool, tùy chọn, mặc định là True) — Có nên trả về một ~pipelines.qwenimage.QwenImagePipelineOutput thay vì một tuple thông thường hay không.
  • attention_kwargs (dict, tùy chọn) — Một từ điển kwargs, nếu được chỉ định, sẽ được truyền đến AttentionProcessor như đã định nghĩa dưới self.processor trong diffusers.models.attention_processor.
  • callback_on_step_end (Callable, tùy chọn) — Một hàm được gọi vào cuối mỗi bước khử nhiễu trong quá trình suy luận. Hàm này được gọi với các đối số sau: callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). callback_kwargs sẽ bao gồm danh sách tất cả các tensor như được chỉ định bởi callback_on_step_end_tensor_inputs.
  • callback_on_step_end_tensor_inputs (List, optional) — Danh sách các tensor đầu vào cho hàm callback_on_step_end. Các tensor được chỉ định trong danh sách sẽ được truyền dưới dạng tham số callback_kwargs. Bạn chỉ có thể bao gồm các biến được liệt kê trong thuộc tính ._callback_tensor_inputs của lớp pipeline của bạn.

Trả về

~pipelines.hunyuan_image.HunyuanImagePipelineOutput hoặc tuple

~pipelines.hunyuan_image.HunyuanImagePipelineOutput nếu return_dict là True, ngược lại là một tuple. Khi trả về tuple, phần tử đầu tiên là một danh sách chứa các hình ảnh đã tạo.

Hàm được gọi khi gọi pipeline cho việc sinh.

Ví dụ:

>>> 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 )

Tham số

  • prompt (str hoặc list[str], tùy chọn) — prompt cần được mã hóa
  • device — (torch.device): thiết bị torch
  • batch_size (int) — Kích thước batch của các prompt, mặc định là 1
  • num_images_per_prompt (int) — số lượng hình ảnh cần được tạo cho mỗi prompt
  • prompt_embeds (torch.Tensor, tùy chọn) — Các embedding văn bản đã được tạo trước. Nếu không được cung cấp, các embedding văn bản sẽ được tạo từ đối số đầu vào prompt.
  • prompt_embeds_mask (torch.Tensor, tùy chọn) — Mặt nạ văn bản đã tạo trước. Nếu không được cung cấp, mặt nạ văn bản sẽ được tạo từ đối số đầu vào prompt.
  • prompt_embeds_2 (torch.Tensor, tùy chọn) — Các embedding văn bản glyph được tạo trước từ ByT5. Nếu không được cung cấp, chúng sẽ được tạo từ đối số đầu vào prompt bằng cách sử dụng self.tokenizer_2 và self.text_encoder_2.
  • prompt_embeds_mask_2 (torch.Tensor, tùy chọn) — Mặt nạ văn bản glyph được tạo trước từ ByT5. Nếu không được cung cấp, sẽ được tạo từ đối số đầu vào prompt bằng cách sử dụng self.tokenizer_2 và self.text_encoder_2.

HunyuanImagePipelineOutput

lớp diffusers.pipelines.hunyuan_image.pipeline_output.HunyuanImagePipelineOutput

< >

( images: list )

Tham số

  • images (list[PIL.Image.Image] hoặc np.ndarray) — Danh sách các hình ảnh PIL đã khử nhiễu có độ dài batch_size hoặc mảng numpy có hình dạng (batch_size, height, width, num_channels). Các hình ảnh PIL hoặc mảng numpy thể hiện các hình ảnh đã khử nhiễu của pipeline khuếch tán.

Lớp đầu ra cho các pipeline của HunyuanImage.

Update on GitHub