Buckets:

mishig's picture
|
download
raw
13 kB

Bajo licencia Apache License, versión 2.0 (la "Licencia");

no puede usar este archivo excepto en cumplimiento de la Licencia.

Puede obtener una copia de la Licencia en

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

A menos que la ley aplicable lo exija o se haya acordado por escrito, el software

distribuido bajo la Licencia se distribuye en una base "TAL CUAL",

SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sea expresa o implícita.

Consulte la Licencia para el lenguaje específico que rige los permisos y

limitaciones de la Licencia. -->

HiDreamImage

HiDream-I1 de HiDream.ai

La caché también puede acelerar la inferencia almacenando y reutilizando salidas intermedias.

Modelos disponibles

Los siguientes modelos están disponibles para el pipeline 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)

Fuente

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)

Fuente

Parámetros:

prompt (str o list[str], opcional) : El prompt o los prompts para guiar la generación de la imagen. Si no se define, se debe pasar prompt_embeds en su lugar.

prompt_2 (str o list[str], opcional) : El prompt o los prompts que se enviarán a tokenizer_2 y text_encoder_2. Si no se define, se utilizará prompt en su lugar.

prompt_3 (str o list[str], opcional) : El prompt o los prompts que se enviarán a tokenizer_3 y text_encoder_3. Si no se define, se utilizará prompt en su lugar.

prompt_4 (str o list[str], opcional) : El prompt o los prompts que se enviarán a tokenizer_4 y text_encoder_4. Si no se define, se utilizará prompt en su lugar.

height (int, opcional, por defecto self.unet.config.sample_size * self.vae_scale_factor) : La altura en píxeles de la imagen generada. Por defecto, se establece en 1024 para obtener los mejores resultados.

width (int, opcional, por defecto self.unet.config.sample_size * self.vae_scale_factor) : El ancho en píxeles de la imagen generada. Por defecto, se establece en 1024 para obtener los mejores resultados.

num_inference_steps (int, opcional, valor predeterminado 50) : El número de pasos de desruido. Más pasos de desruido suelen conducir a una imagen de mayor calidad a costa de una inferencia más lenta.

sigmas (list[float], opcional) : Sigmas personalizados para usar en el proceso de desruido con programadores que admiten un argumento sigmas en su método set_timesteps. Si no se define, se usará el comportamiento predeterminado cuando se pase num_inference_steps.

guidance_scale (float, opcional, valor predeterminado 3.5) : La escala de guianza integrada se habilita al establecer guidance_scale > 1. Un guidance_scale más alto anima al modelo a generar imágenes más alineadas con prompt a costa de una menor calidad de imagen. Los modelos destilados de guianza aproximan la verdadera guianza libre de clasificador para guidance_scale > 1. Consulte el artículo para obtener más información.

negative_prompt (str o list[str], opcional) : El prompt o prompts que no deben guiar la generación de la imagen. Si no se define, se debe pasar negative_prompt_embeds en su lugar. Se ignora cuando no se usa guía (es decir, se ignora si true_cfg_scale no es mayor que 1).

negative_prompt_2 (str o list[str], opcional) : El prompt o los prompts que no deben guiar la generación de la imagen y que se enviarán a tokenizer_2 y text_encoder_2. Si no se define, negative_prompt se utiliza en todos los text-encoders.

negative_prompt_3 (str o list[str], opcional) : El prompt o los prompts que no deben guiar la generación de la imagen y que se enviarán a tokenizer_3 y text_encoder_3. Si no se define, negative_prompt se utiliza en todos los text-encoders.

negative_prompt_4 (str o list[str], opcional) : El prompt o los prompts que no deben guiar la generación de la imagen y que se enviarán a tokenizer_4 y text_encoder_4. Si no se define, negative_prompt se utiliza en todos los text-encoders.

num_images_per_prompt (int, opcional, valor predeterminado 1) : El número de imágenes a generar por indicación.

generator (torch.Generator o list[torch.Generator], opcional) : Uno o una lista de generadores de torch para hacer la generación determinista.

latents (torch.FloatTensor, opcional) : Latentes ruidosos pregenerados, muestreados de una distribución gaussiana, que se usarán como entradas para la generación de imágenes. Se pueden utilizar para ajustar la misma generación con diferentes prompts. Si no se proporcionan, se generará un tensor de latentes mediante muestreo usando el generator aleatorio suministrado.

prompt_embeds_t5 (torch.FloatTensor, opcional) : Embeddings de texto T5 pregenerados. Se pueden utilizar para ajustar fácilmente las entradas de texto, p. ej. el ponderado de prompts. Si no se proporcionan, los embeddings de texto se generarán a partir del argumento de entrada prompt.

prompt_embeds_llama3 (torch.FloatTensor, opcional) : Embeddings de texto de LLaMA3 pregenerados. Se pueden utilizar para ajustar fácilmente las entradas de texto, p. ej. ponderación de prompts. Si no se proporcionan, los embeddings de texto se generarán a partir del argumento de entrada prompt.

negative_prompt_embeds_t5 (torch.FloatTensor, opcional) : Embeddings de texto T5 negativos pregenerados. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. el ponderado de prompts. Si no se proporcionan, los embeddings se generarán a partir del argumento de entrada negative_prompt.

negative_prompt_embeds_llama3 (torch.FloatTensor, opcional) : Embeddings de texto negativos de LLaMA3 pregenerados. Se pueden utilizar para ajustar fácilmente las entradas de texto, p. ej. el ponderado de prompts. Si no se proporcionan, los embeddings se generarán a partir del argumento de entrada negative_prompt.

pooled_prompt_embeds (torch.FloatTensor, opcional) : Embeddings de texto agrupados pregenerados. Se pueden utilizar para ajustar fácilmente las entradas de texto, p. ej. ponderación de prompts. Si no se proporcionan, los embeddings de texto agrupados se generarán a partir del argumento de entrada prompt.

negative_pooled_prompt_embeds (torch.FloatTensor, opcional) : Embeddings de texto negativo ya generados. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. el peso de los prompts. Si no se proporcionan, los pooled negative_prompt_embeds se generarán a partir del argumento de entrada negative_prompt.

output_type (str, opcional, por defecto "pil") : El formato de salida de la imagen generada. Elija entre PIL: PIL.Image.Image o np.array.

return_dict (bool, opcional, valor predeterminado True) : Indica si se debe devolver un ~pipelines.flux.FluxPipelineOutput en lugar de una tupla simple.

attention_kwargs (dict, opcional) : Un diccionario de kwargs que, si se especifica, se pasa al AttentionProcessor tal como se define bajo self.processor en diffusers.models.attention_processor.

callback_on_step_end (Callable, opcional) : Una función que se llama al final de cada paso de desruido durante la inferencia. La función se llama con los siguientes argumentos: callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). callback_kwargs incluirá una lista de todos los tensores especificados por callback_on_step_end_tensor_inputs.

callback_on_step_end_tensor_inputs (list, opcional) : La lista de entradas de tensor para la función callback_on_step_end. Los tensores especificados en la lista se pasarán como argumento callback_kwargs. Solo podrá incluir variables enumeradas en el atributo ._callback_tensor_inputs de su clase de pipeline.

max_sequence_length (int por defecto 128) : Longitud máxima de la secuencia a utilizar con el prompt.

Devuelve: ~pipelines.hidream_image.HiDreamImagePipelineOutput o tuple

~pipelines.hidream_image.HiDreamImagePipelineOutput si return_dict es True, de lo contrario una tuple. Al devolver una tupla, el primer elemento es una lista con las imágenes generadas.

Función invocada al llamar a la pipeline para la generación.

Ejemplos:

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

Fuente

Parámetros:

images (list[PIL.Image.Image] o np.ndarray) : lista de imágenes PIL desruidas de longitud batch_size o matriz numpy de forma (batch_size, height, width, num_channels). Las imágenes PIL o la matriz numpy presentan las imágenes desruidas del pipeline de difusión.

Clase de salida para las pipelines de HiDreamImage.

Xet Storage Details

Size:
13 kB
·
Xet hash:
6d552cf3b8f177fc26b325983a1006aff0fb3252cbf919d74b891449181e44a3

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