Buckets:
Được cấp phép theo Giấy phép Apache, Phiên bản 2.0 (gọi là "Giấy phép");
bạn có thể không sử dụng tệp này ngoại trừ tuân thủ theo Giấy phép.
Bạn có thể nhận được một bản sao của Giấy phép tại
http://www.apache.org/licenses/LICENSE-2.0
Trừ khi được yêu cầu bởi luật pháp có hiệu lực hoặc được thỏa thuận bằng văn bản, phần mềm
được phân phối theo Giấy phép được phân phối trên cơ sở
KHÔNG CÓ BẢO HÀNH HOẶC ĐIỀU KIỆN DƯỚI BẤT KỲ HÌNH THỨC NÀO, dù được nêu rõ hay ngụ ý.
Xem Giấy phép để biết ngôn ngữ cụ thể điều chỉnh các quyền và
giới hạn theo Giấy phép. -->
HiDreamImage
HiDream-I1 của HiDream.ai
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.
Các model khả dụng
Các mô hình sau đây có sẵn cho pipeline HiDreamImagePipeline:
| Tên mô hình | Mô tả |
|---|---|
HiDream-ai/HiDream-I1-Full |
- |
HiDream-ai/HiDream-I1-Dev |
- |
HiDream-ai/HiDream-I1-Fast |
- |
HiDreamImagePipeline[[diffusers.HiDreamImagePipeline]]
diffusers.HiDreamImagePipeline[[diffusers.HiDreamImagePipeline]]
diffusers.HiDreamImagePipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKL, text_encoder: CLIPTextModelWithProjection, tokenizer: CLIPTokenizer, text_encoder_2: CLIPTextModelWithProjection, tokenizer_2: CLIPTokenizer, text_encoder_3: T5EncoderModel, tokenizer_3: T5Tokenizer, text_encoder_4: LlamaForCausalLM, tokenizer_4: TokenizersBackend, transformer: HiDreamImageTransformer2DModel)
call[[diffusers.HiDreamImagePipeline.call]]
__call__(prompt: str | list[str] = None, prompt_2: str | list[str] | None = None, prompt_3: str | list[str] | None = None, prompt_4: str | list[str] | None = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 50, sigmas: list[float] | None = None, guidance_scale: float = 5.0, negative_prompt: str | list[str] | None = None, negative_prompt_2: str | list[str] | None = None, negative_prompt_3: str | list[str] | None = None, negative_prompt_4: str | list[str] | None = None, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, prompt_embeds_t5: typing.Optional[torch.FloatTensor] = None, prompt_embeds_llama3: typing.Optional[torch.FloatTensor] = None, negative_prompt_embeds_t5: typing.Optional[torch.FloatTensor] = None, negative_prompt_embeds_llama3: typing.Optional[torch.FloatTensor] = None, pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_pooled_prompt_embeds: typing.Optional[torch.FloatTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list[str] = ['latents'], max_sequence_length: int = 128, **kwargs)
Tham số:
prompt (str hoặc list[str], tùy chọn) : Prompt hoặc các prompt để hướng dẫn việc tạo ảnh. Nếu không được định nghĩa, bạn phải truyền prompt_embeds thay thế.
prompt_2 (str hoặc list[str], tùy chọn) : Prompt hoặc các prompt cần được gửi đến tokenizer_2 và text_encoder_2. Nếu không được định nghĩa, prompt sẽ được sử dụng thay thế.
prompt_3 (str hoặc list[str], tùy chọn) : Prompt hoặc các prompt cần được gửi đến tokenizer_3 và text_encoder_3. Nếu không được định nghĩa, prompt sẽ được sử dụng thay thế.
prompt_4 (str hoặc list[str], tùy chọn) : Prompt hoặc các prompt cần được gửi đến tokenizer_4 và text_encoder_4. Nếu không được định nghĩa, prompt sẽ được sử dụng thay thế.
height (int, optional, 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, optional, mặc định là self.unet.config.sample_size * self.vae_scale_factor) : Độ rộng tính bằng pixel của hình ảnh được tạo ra. Mặc định được đặt là 1024 để đạt kết quả tốt nhất.
num_inference_steps (int, optional, 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 cái giá là suy luận chậm hơn.
sigmas (list[float], optional) : 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ợ tham 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 vào sẽ được sử dụng.
guidance_scale (float, optional, mặc định là 3.5) : Thang độ dẫn hướng nhúng được kích hoạt bằng cách đặt guidance_scale > 1. Giá trị guidance_scale cao hơn khuyến khích mô hình tạo ra hình ảnh phù hợp hơn với prompt với cái giá là chất lượng hình ảnh thấp hơn. Các mô hình đã được chưng cất độ dẫn hướng xấp xỉ độ dẫn hướng không bộ phân loại thực cho guidance_scale > 1. Tham khảo bài báo để tìm hiểu thêm.
negative_prompt (str hoặc list[str], tùy chọn) : Prompt hoặc các prompt không được dùng để hướng dẫn việc tạo ảnh. Nếu không được định nghĩa, bạn phải truyền negative_prompt_embeds thay thế. Bỏ qua khi không sử dụng guidance (tức là bị bỏ qua nếu true_cfg_scale không lớn hơn 1).
negative_prompt_2 (str hoặc list[str], tùy chọn) : Prompt hoặc các prompt không được dùng để hướng dẫn tạo ảnh, sẽ được gửi đến tokenizer_2 và text_encoder_2. Nếu không được định nghĩa, negative_prompt sẽ được sử dụng trong tất cả các text-encoder.
negative_prompt_3 (str hoặc list[str], tùy chọn) : Prompt hoặc các prompt không được dùng để hướng dẫn tạo ảnh, sẽ được gửi đến tokenizer_3 và text_encoder_3. Nếu không được định nghĩa, negative_prompt sẽ được sử dụng trong tất cả các text-encoder.
negative_prompt_4 (str hoặc list[str], tùy chọn) : Prompt hoặc các prompt không được dùng để hướng dẫn việc tạo ảnh, sẽ được gửi đến tokenizer_4 và text_encoder_4. Nếu không được định nghĩa, negative_prompt sẽ được sử dụng trong tất cả các text-encoder.
num_images_per_prompt (int, tuỳ 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], tùy 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.FloatTensor, tùy chọn) : Các latents nhiễu đã được tạo trước, đượ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 ra bằng cách lấy mẫu sử dụng generator ngẫu nhiên được cung cấp.
prompt_embeds_t5 (torch.FloatTensor, tùy chọn) : Các embedding văn bản T5 đượ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, 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_llama3 (torch.FloatTensor, tùy chọn) : Các embedding văn bản LLaMA3 đã được tạo trước. Có thể được sử 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 sẽ được tạo từ đối số đầu vào prompt.
negative_prompt_embeds_t5 (torch.FloatTensor, tùy chọn) : Các vector nhúng văn bản T5 â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, vd. trọng số prompt. Nếu không được cung cấp, các vector nhúng sẽ được tạo từ đối số đầu vào negative_prompt.
negative_prompt_embeds_llama3 (torch.FloatTensor, tùy chọn) : Các vector nhúng văn bản âm LLaMA3 đã đượ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 vector nhúng sẽ được tạo từ đối số đầu vào negative_prompt.
pooled_prompt_embeds (torch.FloatTensor, tùy chọn) : Các embedding văn bản đã được pool sẵn. 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 đã pool sẽ được tạo ra từ đối số đầu vào prompt.
negative_pooled_prompt_embeds (torch.FloatTensor, tùy chọn) : Các embedding văn bản pooled âm đã được tạo trước. Có thể được sử 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, pooled negative_prompt_embeds sẽ được tạo từ đối 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.flux.FluxPipelineOutput 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 mà 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 một 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 đầu vào tensor 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.
max_sequence_length (int mặc định là 128) : Độ dài tối đa của chuỗi để sử dụng với prompt.
Trả về: ~pipelines.hidream_image.HiDreamImagePipelineOutput hoặc tuple
~pipelines.hidream_image.HiDreamImagePipelineOutput 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 đã được tạo.
Hàm được gọi khi gọi pipeline cho việc sinh.
Ví dụ:
>>> import torch
>>> from transformers import AutoTokenizer, LlamaForCausalLM
>>> from diffusers import HiDreamImagePipeline
>>> tokenizer_4 = AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3.1-8B-Instruct")
>>> text_encoder_4 = LlamaForCausalLM.from_pretrained(
... "meta-llama/Meta-Llama-3.1-8B-Instruct",
... output_hidden_states=True,
... output_attentions=True,
... torch_dtype=torch.bfloat16,
... )
>>> pipe = HiDreamImagePipeline.from_pretrained(
... "HiDream-ai/HiDream-I1-Full",
... tokenizer_4=tokenizer_4,
... text_encoder_4=text_encoder_4,
... torch_dtype=torch.bfloat16,
... )
>>> pipe.enable_model_cpu_offload()
>>> image = pipe(
... 'A cat holding a sign that says "Hi-Dreams.ai".',
... height=1024,
... width=1024,
... guidance_scale=5.0,
... num_inference_steps=50,
... generator=torch.Generator("cuda").manual_seed(0),
... ).images[0]
>>> image.save("output.png")
HiDreamImagePipelineOutput[[diffusers.pipelines.hidream_image.pipeline_output.HiDreamImagePipelineOutput]]
diffusers.pipelines.hidream_image.pipeline_output.HiDreamImagePipelineOutput[[diffusers.pipelines.hidream_image.pipeline_output.HiDreamImagePipelineOutput]]
diffusers.pipelines.hidream_image.pipeline_output.HiDreamImagePipelineOutput(images: list[PIL.Image.Image] | numpy.ndarray)
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 HiDreamImage.
Xet Storage Details
- Size:
- 14.7 kB
- Xet hash:
- 95409c75446a1d5532a03b6c43b9002871f70f01acc0f6fa53fcef1c5a38cecd
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.