Buckets:

mishig's picture
|
download
raw
13.7 kB

Apache License, Version 2.0("라이선스")에 따라 라이선스가 부여됩니다.

이 파일은 라이선스에 따라만 사용할 수 있습니다.

라이선스 사본은 다음에서 가져올 수 있습니다

http://www.apache.org/licenses/LICENSE-2.0

적용 가능한 법률에 의해 요구되거나 서면으로 합의되지 않는 한, 소프트웨어

라이선스에 따라 배포되는 본 소프트웨어는 "있는 그대로"

명시적이든 묵시적이든 어떠한 종류의 보증이나 조건도 없이 제공됩니다.

권한을 관리하는 특정 언어에 대한 라이선스를 참조하세요

라이선스 하의 제한 사항. -->

HiDreamImage

HiDream.ai의 HiDream-I1

Caching은 중간 결과를 저장하고 재사용하여 추론 속도를 높이는 데에도 도움이 될 수 있습니다.

사용 가능한 모델

다음 모델들이 HiDreamImagePipeline 파이프라인에서 사용할 수 있습니다:

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)

소스

호출[[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)

소스

매개변수:

prompt (str 또는 list[str], 선택 사항) : 이미지 생성을 안내할 프롬프트입니다. 정의되지 않은 경우 prompt_embeds를 대신 전달해야 합니다.

prompt_2 (str 또는 list[str], 선택 사항) : tokenizer_2와 text_encoder_2에 전송할 프롬프트입니다. 정의되지 않은 경우 prompt가 대신 사용됩니다.

prompt_3 (str 또는 list[str], 선택 사항) : tokenizer_3 및 text_encoder_3에 전송할 프롬프트입니다. 정의되지 않은 경우 prompt가 대신 사용됩니다.

prompt_4 (str 또는 list[str], 선택 사항) : tokenizer_4 및 text_encoder_4에 전송할 프롬프트입니다. 정의되지 않은 경우 prompt가 대신 사용됩니다.

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], 선택 사항) : set_timesteps 메서드에 sigmas 인수를 지원하는 스케줄러의 노이즈 제거 과정에 사용할 커스텀 시그마입니다. 정의되지 않은 경우, num_inference_steps가 전달될 때의 기본 동작이 사용됩니다.

guidance_scale (float, 선택 사항, 기본값 3.5) : guidance_scale > 1로 설정하면 임베디드 가이던스 스케일이 활성화됩니다. guidance_scale 값이 높을수록 모델은 이미지 품질이 낮아지는 대신 prompt와 더 정렬된 이미지를 생성하도록 유도됩니다. 가이던스 디스틸레이션 모델은 guidance_scale > 1인 경우 진정한 클래스퍼-프리 가이던스를 근사합니다. 자세한 내용은 논문을 참고하세요.

negative_prompt (str 또는 list[str], 선택) : 이미지 생성을 유도하지 않을 프롬프트입니다. 정의되지 않은 경우 대신 negative_prompt_embeds를 전달해야 합니다. 가이던스를 사용하지 않을 때 무시됩니다(즉, true_cfg_scale가 1보다 크지 않으면 무시됩니다).

negative_prompt_2 (str 또는 list[str], 선택) : tokenizer_2와 text_encoder_2에 전송할 이미지 생성을 유도하지 않을 프롬프트입니다. 정의되지 않은 경우, 모든 text-encoder에서 negative_prompt가 사용됩니다.

negative_prompt_3 (str 또는 list[str], 선택) : tokenizer_3와 text_encoder_3에 전송할 이미지 생성을 유도하지 않을 프롬프트입니다. 정의되지 않은 경우, 모든 text-encoder에서 negative_prompt가 사용됩니다.

negative_prompt_4 (str 또는 list[str], 선택) : tokenizer_4 및 text_encoder_4에 전송할 이미지 생성을 유도하지 않을 프롬프트입니다. 정의되지 않은 경우, 모든 text-encoder에서 negative_prompt가 사용됩니다.

num_images_per_prompt (int, 선택 사항, 기본값 1) : 프롬프트당 생성할 이미지의 수.

generator (torch.Generator 또는 list[torch.Generator], 선택 사항) : 생성을 결정적으로 만들기 위한 torch generator 하나 또는 목록.

latents (torch.FloatTensor, 선택 사항) : 이미지 생성의 입력으로 사용할 가우시안 분포에서 샘플링된 사전 생성된 노이즈된 latents입니다. 동일한 생성을 다른 프롬프트로 조정하는 데 사용할 수 있습니다. 제공되지 않으면, 제공된 랜덤 generator를 사용하여 샘플링하여 latents 텐서가 생성됩니다.

prompt_embeds_t5 (torch.FloatTensor, 선택) : 미리 생성된 T5 텍스트 임베딩입니다. 텍스트 입력을 쉽게 조정하는 데 사용할 수 있으며, 예를 들어 프롬프트 가중치를 설정할 수 있습니다. 제공되지 않으면 prompt 입력 인자에서 텍스트 임베딩이 생성됩니다.

prompt_embeds_llama3 (torch.FloatTensor, 선택) : 미리 생성된 LLaMA3 텍스트 임베딩입니다. 예를 들어 프롬프트 가중치를 쉽게 조정하는 데 사용할 수 있습니다. 제공되지 않으면 prompt 입력 인자에서 텍스트 임베딩이 생성됩니다.

negative_prompt_embeds_t5 (torch.FloatTensor, 선택) : 미리 생성된 negative T5 텍스트 임베딩입니다. 텍스트 입력을 쉽게 조정하는 데 사용할 수 있으며, 예를 들어 프롬프트 가중치 설정에 활용할 수 있습니다. 제공되지 않으면 negative_prompt 입력 인자로부터 임베딩이 생성됩니다.

negative_prompt_embeds_llama3 (torch.FloatTensor, 선택) : 미리 생성된 negative LLaMA3 텍스트 임베딩입니다. 텍스트 입력을 쉽게 조정하는 데 사용할 수 있으며, 예를 들어 프롬프트 가중치 설정에 활용할 수 있습니다. 제공되지 않으면 negative_prompt 입력 인자로부터 임베딩이 생성됩니다.

pooled_prompt_embeds (torch.FloatTensor, 선택 사항) : 미리 생성된 풀링된 텍스트 임베딩입니다. 텍스트 입력을 쉽게 조정하는 데 사용할 수 있으며, 예를 들어 프롬프트 가중치 설정에 활용할 수 있습니다. 제공되지 않으면 prompt 입력 인자로부터 풀링된 텍스트 임베딩이 생성됩니다.

negative_pooled_prompt_embeds (torch.FloatTensor, 선택) : 미리 생성된 부정 풀링 텍스트 임베딩입니다. 텍스트 입력을 쉽게 조정하는 데 사용할 수 있으며, 예를 들어 프롬프트 가중치 설정에 활용할 수 있습니다. 제공되지 않으면 negative_prompt 입력 인수에서 pooled negative_prompt_embeds가 생성됩니다.

output_type (str, 선택 사항, 기본값 "pil") : 이미지 생성의 출력 형식입니다. PIL: PIL.Image.Image 또는 np.array 중 하나를 선택합니다.

return_dict (bool, 선택 사항, 기본값 True) : 일반 튜플 대신 ~pipelines.flux.FluxPipelineOutput을 반환할지 여부.

attention_kwargs (dict, 선택 사항) : 지정된 경우 diffusers.models.attention_processor의 self.processor 아래에서 정의된 AttentionProcessor로 전달되는 kwargs 사전입니다.

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, 선택 사항) : callback_on_step_end 함수의 텐서 입력 목록입니다. 목록에 지정된 텐서는 callback_kwargs 인수로 전달됩니다. 파이프라인 클래스의 ._callback_tensor_inputs 속성에 나열된 변수만 포함할 수 있습니다.

max_sequence_length (int 기본값은 128) : prompt에 사용할 최대 시퀀스 길이입니다.

반환값: ~pipelines.hidream_image.HiDreamImagePipelineOutput 또는 tuple

return_dict가 True인 경우 ~pipelines.hidream_image.HiDreamImagePipelineOutput, 그렇지 않으면 tuple입니다. tuple을 반환할 경우 첫 번째 요소는 생성된 이미지 목록입니다.

생성을 위해 파이프라인을 호출할 때 호출되는 함수.

예:

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

소스

매개변수:

images (list[PIL.Image.Image] 또는 np.ndarray) : 길이가 batch_size인 노이즈 제거된 PIL 이미지 목록 또는 (batch_size, height, width, num_channels) 모양의 numpy 배열. PIL 이미지 또는 numpy 배열은 diffusion 파이프라인의 노이즈 제거된 이미지를 나타냅니다.

HiDreamImage 파이프라인의 출력 클래스입니다.

Xet Storage Details

Size:
13.7 kB
·
Xet hash:
3744a723790a35bdaac09a322d8b0b94c8b0c27b6612909d6a2250a6c5fa8981

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