Buckets:

mishig's picture
|
download
raw
14.6 kB

Sous licence Apache License, Version 2.0 (la « Licence ») ;

vous ne pouvez utiliser ce fichier que conformément à la Licence.

Vous pouvez obtenir un exemplaire de la Licence à

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

Sauf exigence légale ou accord écrit

distribué sous la Licence est distribué sur une base « EN L'ÉTAT »,

SANS AUCUNE GARANTIE NI CONDITION, explicite ou implicite.

Voir la Licence pour le langage spécifique régissant les autorisations et

limitations de la Licence.

-->

CogView4

Pensez à consulter le guide des Schedulers pour apprendre à explorer le compromis entre la vitesse et la qualité du scheduler, et à consulter la section réutilisation des composants entre les pipelines pour apprendre à charger efficacement les mêmes composants dans plusieurs pipelines.

Ce pipeline a été contribué par zRzRzRzRzRzRzR. La base de code originale peut être trouvée ici. Les poids originaux sont disponibles sous hf.co/THUDM.

CogView4Pipeline[[diffusers.CogView4Pipeline]]

diffusers.CogView4Pipeline[[diffusers.CogView4Pipeline]]

diffusers.CogView4Pipeline(tokenizer: AutoTokenizer, text_encoder: GlmModel, vae: AutoencoderKL, transformer: CogView4Transformer2DModel, scheduler: FlowMatchEulerDiscreteScheduler)

Source

Paramètres :

vae (AutoencoderKL) : Modèle de Variational Auto-Encoder (VAE) pour encoder et décoder des images vers et depuis des représentations latentes.

text_encoder (GLMModel) : encodeur de texte figé. CogView4 utilise glm-4-9b-hf.

tokenizer (PreTrainedTokenizer) : Tokenizer de la classe PreTrainedTokenizer.

transformer (CogView4Transformer2DModel) : un CogView4Transformer2DModel conditionné par le texte pour débruyer les latents d'image encodés.

scheduler (SchedulerMixin) : Un scheduler à utiliser en combinaison avec transformer pour débruyer les latents d'image encodés.

Pipeline pour la génération d'images à partir de texte utilisant CogView4.

Ce modèle hérite de DiffusionPipeline. Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous les pipelines (téléchargement ou sauvegarde, exécution sur un appareil particulier, etc.).

appel[[diffusers.CogView4Pipeline.call]]

__call__(prompt: str | list[str] | None = None, negative_prompt: str | list[str] | None = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 50, timesteps: list[int] | None = None, sigmas: list[float] | None = None, guidance_scale: float = 5.0, num_images_per_prompt: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_prompt_embeds: typing.Optional[torch.FloatTensor] = None, original_size: tuple[int, int] | None = None, crops_coords_top_left: tuple[int, int] = (0, 0), output_type: str = 'pil', return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Union[typing.Callable[[int, int], NoneType], diffusers.callbacks.PipelineCallback, diffusers.callbacks.MultiPipelineCallbacks, NoneType] = None, callback_on_step_end_tensor_inputs: list[str] = ['latents'], max_sequence_length: int = 1024)

Source

Paramètres :

prompt (str ou list[str], facultatif) : Le prompt ou les prompts pour guider la génération d’image. S’il n’est pas défini, il faut passer prompt_embeds.

negative_prompt (str ou list[str], facultatif) : Le prompt ou les prompts à ne pas utiliser pour guider la génération d’image. S’il n’est pas défini, il faut passer negative_prompt_embeds à la place. Ignoré lorsque le guidage n’est pas utilisé (c’est-à-dire ignoré si guidance_scale est inférieur à 1).

height (int, facultatif, par défaut self.transformer.config.sample_size * self.vae_scale_factor) : La hauteur en pixels de l'image générée. Si non fournie, elle est définie à 1024.

width (int, facultatif, par défaut self.transformer.config.sample_size * self.vae_scale_factor) : La largeur en pixels de l'image générée. Si non fournie, elle est définie à 1024.

num_inference_steps (int, facultatif, valeur par défaut 50) : Le nombre d'étapes de débruitage. Un plus grand nombre d'étapes de débruitage conduit généralement à une image de meilleure qualité, au prix d'une inférence plus lente.

timesteps (list[int], facultatif) : Étapes de temps personnalisées à utiliser pour le processus de débruitage avec les planificateurs qui prennent en charge un argument timesteps dans leur méthode set_timesteps. S'il n'est pas défini, le comportement par défaut lorsque num_inference_steps est passé sera utilisé. Doit être dans l'ordre décroissant.

sigmas (list[float], facultatif) : Sigmas personnalisés à utiliser pour le processus de débruitage avec les planificateurs qui prennent en charge un argument sigmas dans leur méthode set_timesteps. S'ils ne sont pas définis, le comportement par défaut lorsque num_inference_steps est passé sera utilisé.

guidance_scale (float, facultatif, valeur par défaut 5.0) : Échelle de guidage telle que définie dans Classifier-Free Diffusion Guidance. guidance_scale est défini comme w de l'équation 2. de Imagen Paper. L'échelle de guidage est activée en définissant guidance_scale > 1. Une échelle de guidage plus élevée encourage la génération d'images étroitement liées au prompt texte, généralement au détriment de la qualité de l'image.

num_images_per_prompt (int, facultatif, par défaut 1) : Le nombre d'images à générer par invite.

generator (torch.Generator ou list[torch.Generator], facultatif) : Un ou une liste de générateurs torch pour rendre la génération déterministe.

latents (torch.FloatTensor, facultatif) : Latents bruités pré-générés, échantillonnés à partir d'une distribution gaussienne, à utiliser comme entrées pour la génération d'images. Peut être utilisé pour ajuster la même génération avec des prompts différents. S'il n'est pas fourni, un tenseur de latents sera généré par échantillonnage à l'aide du generator aléatoire fourni.

prompt_embeds (torch.FloatTensor, facultatif) : Incrustations de texte pré-générées. Peut être utilisé pour ajuster facilement les entrées de texte, par ex. pondération des prompts. Si non fourni, les incrustations de texte seront générées à partir de l'argument d'entrée prompt.

negative_prompt_embeds (torch.FloatTensor, facultatif) : Incrustations de texte négatif pré-générées. Peut être utilisé pour ajuster facilement les entrées de texte, par ex. le pondération des prompts. Si non fourni, negative_prompt_embeds sera généré à partir de l'argument d'entrée negative_prompt.

original_size (tuple[int], facultatif, valeur par défaut (1024, 1024)) : Si original_size n'est pas identique à target_size, l'image apparaîtra sous-échantillonnée ou suréchantillonnée. original_size est défini par défaut sur (height, width) s'il n'est pas spécifié. Fait partie du micro-conditionnement de SDXL, tel que décrit dans la section 2.2 de https://huggingface.co/papers/2307.01952.

crops_coords_top_left (tuple[int], facultatif, valeur par défaut (0, 0)) : crops_coords_top_left peut être utilisé pour générer une image qui semble « recadrée » à partir de la position crops_coords_top_left vers le bas. Des images favorables et bien centrées sont généralement obtenues en définissant crops_coords_top_left sur (0, 0). Fait partie du micro-conditionnement de SDXL, tel que décrit dans la section 2.2 de https://huggingface.co/papers/2307.01952.

output_type (str, facultatif, par défaut "pil") : Le format de sortie de l'image générée. Choisissez entre PIL : PIL.Image.Image ou np.array.

return_dict (bool, facultatif, par défaut True) : Indique s'il faut retourner un ~pipelines.stable_diffusion_xl.StableDiffusionXLPipelineOutput plutôt qu'un simple tuple.

attention_kwargs (dict, facultatif) : Un dictionnaire de kwargs qui, s'il est spécifié, est transmis à l'AttentionProcessor tel que défini sous self.processor dans diffusers.models.attention_processor.

callback_on_step_end (Callable, facultatif) : une fonction appelée à la fin de chaque étape de débruitage pendant l’inférence. La fonction est appelée avec les arguments suivants : callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). callback_kwargs contiendra une liste de tous les tenseurs, tels que spécifiés par callback_on_step_end_tensor_inputs.

callback_on_step_end_tensor_inputs (list, facultatif) : La liste des entrées tensorielles pour la fonction callback_on_step_end. Les tenseurs spécifiés dans la liste seront passés en tant qu'argument callback_kwargs. Vous ne pourrez inclure que les variables listées dans l'attribut ._callback_tensor_inputs de votre classe de pipeline.

max_sequence_length (int, par défaut 224) : Longueur maximale de la séquence dans le prompt encodé. Peut être réglée sur d'autres valeurs, mais cela peut entraîner des résultats moins bons.

Retourne : ~pipelines.cogview4.pipeline_CogView4.CogView4PipelineOutput ou tuple

~pipelines.cogview4.pipeline_CogView4.CogView4PipelineOutput si return_dict est True, sinon un tuple. En cas de retour d'un tuple, le premier élément est une liste contenant les images générées.

Fonction appelée lors de l'appel du pipeline pour la génération.

Exemples :

>>> import torch
>>> from diffusers import CogView4Pipeline

>>> pipe = CogView4Pipeline.from_pretrained("THUDM/CogView4-6B", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")

>>> prompt = "A photo of an astronaut riding a horse on mars"
>>> image = pipe(prompt).images[0]
>>> image.save("output.png")

encode_prompt[[diffusers.CogView4Pipeline.encode_prompt]]

encode_prompt(prompt: str | list[str], negative_prompt: str | list[str] | None = None, do_classifier_free_guidance: bool = True, num_images_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, device: typing.Optional[torch.device] = None, dtype: typing.Optional[torch.dtype] = None, max_sequence_length: int = 1024)

Source

Paramètres :

prompt (str ou list[str], facultatif) : invite à encoder

negative_prompt (str ou list[str], facultatif) : Le prompt ou les prompts à ne pas utiliser pour guider la génération d’image. S’il n’est pas défini, il faut passer negative_prompt_embeds à la place. Ignoré lorsque le guidage n’est pas utilisé (c’est-à-dire ignoré si guidance_scale est inférieur à 1).

do_classifier_free_guidance (bool, facultatif, par défaut True) : Indique s'il faut utiliser le guidage sans classifieur ou non.

num_images_per_prompt (int, facultatif, valeur par défaut 1) : Nombre d'images à générer par invite. Appareil torch sur lequel placer les embeddings résultants

prompt_embeds (torch.Tensor, facultatif) : Incrustations de texte pré-générées. Peut être utilisé pour ajuster facilement les entrées de texte, par ex. pondération des prompts. Si non fourni, les incrustations de texte seront générées à partir de l'argument d'entrée prompt.

negative_prompt_embeds (torch.Tensor, facultatif) : Embeddings de texte négatif pré-générés. Peut être utilisé pour ajuster facilement les entrées de texte, par exemple le pondération des prompts. S'il n'est pas fourni, negative_prompt_embeds sera généré à partir de l'argument d'entrée negative_prompt.

device : (torch.device, facultatif) : appareil torch

dtype : (torch.dtype, facultatif) : torch dtype

max_sequence_length (int, par défaut 1024) : Longueur maximale de la séquence dans le prompt encodé. Peut être définie sur d'autres valeurs, mais cela peut entraîner des résultats moins bons.

Encode le prompt dans les états cachés de l'encodeur de texte.

CogView4PipelineOutput[[diffusers.pipelines.cogview4.pipeline_output.CogView4PipelineOutput]]

diffusers.pipelines.cogview4.pipeline_output.CogView4PipelineOutput[[diffusers.pipelines.cogview4.pipeline_output.CogView4PipelineOutput]]

diffusers.pipelines.cogview4.pipeline_output.CogView4PipelineOutput(images: list[PIL.Image.Image] | numpy.ndarray)

Source

Paramètres :

images (list[PIL.Image.Image] ou np.ndarray) : liste d'images PIL débruitées de longueur batch_size ou tableau numpy de forme (batch_size, height, width, num_channels). Les images PIL ou le tableau numpy présentent les images débruitées du pipeline de diffusion.

Classe de sortie pour les pipelines CogView3.

Xet Storage Details

Size:
14.6 kB
·
Xet hash:
3b7a54c1ae66cf6b63f206e15337899cb22960df0ee079c84d8160bb57917b48

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