Diffusers documentation

CogView3PlusTransformer2DModel

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

CogView3PlusTransformer2DModel

Un modèle Diffusion Transformer pour des données 2D de CogView3Plus a été introduit dans CogView3: Finer and Faster Text-to-Image Generation via Relay Diffusion par l'Université Tsinghua & ZhipuAI.

Le modèle peut être chargé à l'aide du fragment de code suivant.

from diffusers import CogView3PlusTransformer2DModel

transformer = CogView3PlusTransformer2DModel.from_pretrained("THUDM/CogView3Plus-3b", subfolder="transformer", dtype=torch.bfloat16).to("cuda")  # or "mps", "xpu", "cpu"

CogView3PlusTransformer2DModel

classe diffusers.CogView3PlusTransformer2DModel

< >

( patch_size: int = 2in_channels: int = 16num_layers: int = 30attention_head_dim: int = 40num_attention_heads: int = 64out_channels: int = 16text_embed_dim: int = 4096time_embed_dim: int = 512condition_dim: int = 256pos_embed_max_size: int = 128sample_size: int = 128 )

Paramètres

  • patch_size (int, par défaut 2) — La taille des patches à utiliser dans la couche d'embedding de patches.
  • in_channels (int, par défaut 16) — Le nombre de canaux dans l'entrée.
  • num_layers (int, par défaut 30) — Le nombre de blocs Transformer à utiliser.
  • attention_head_dim (int, par défaut 40) — Le nombre de canaux dans chaque tête.
  • num_attention_heads (int, par défaut 64) — Le nombre de têtes à utiliser pour l'attention multi-têtes.
  • out_channels (int, par défaut 16) — Le nombre de canaux dans la sortie.
  • text_embed_dim (int, par défaut 4096) — Dimension d'entrée des embeddings de texte issus de l'encodeur de texte.
  • time_embed_dim (int, par défaut 512) — Dimension de sortie des embeddings de pas de temps.
  • condition_dim (int, par défaut 256) — La dimension d’incorporation des conditions de résolution de type SDXL en entrée (original_size, target_size, crop_coords).
  • pos_embed_max_size (int, par défaut 128) — La résolution maximale des embeddings positionnels, à partir de laquelle des tranches de forme H x W sont extraites et ajoutées aux latents patchés en entrée, où H et W sont respectivement la hauteur et la largeur des latents. Une valeur de 128 signifie que la hauteur et la largeur maximales prises en charge pour la génération d’images sont 128 * vae_scale_factor * patch_size => 128 * 8 * 2 => 2048.
  • sample_size (int, par défaut 128) — La résolution de base des latents d'entrée. Si la hauteur/largeur n'est pas fournie lors de la génération, cette valeur est utilisée pour déterminer la résolution comme suit : sample_size * vae_scale_factor => 128 * 8 => 1024

Le modèle Transformer introduit dans CogView3: Finer and Faster Text-to-Image Generation via Relay Diffusion.

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensortimestep: LongTensororiginal_size: Tensortarget_size: Tensorcrop_coords: Tensorreturn_dict: bool = True ) → torch.Tensor or ~models.transformer_2d.Transformer2DModelOutput

Paramètres

  • hidden_states (torch.Tensor) — hidden_states d'entrée de forme (batch size, channel, height, width).
  • encoder_hidden_states (torch.Tensor) — Embeddings conditionnels (embeddings calculés à partir des conditions d'entrée telles que les prompts) de forme (batch_size, sequence_len, text_embed_dim)
  • timestep (torch.LongTensor) — Utilisé pour indiquer l'étape de débruitage.
  • original_size (torch.Tensor) — CogView3 utilise un micro-conditionnement de type SDXL pour la taille de l'image d'origine, comme expliqué dans la section 2.2 de https://huggingface.co/papers/2307.01952.
  • target_size (torch.Tensor) — CogView3 utilise un micro-conditionnement de type SDXL pour la taille de l'image cible, comme expliqué dans la section 2.2 de https://huggingface.co/papers/2307.01952.
  • crop_coords (torch.Tensor) — CogView3 utilise un micro-conditionnement de type SDXL pour les coordonnées de recadrage, comme expliqué dans la section 2.2 de https://huggingface.co/papers/2307.01952.
  • return_dict (bool, facultatif, par défaut True) — Indique s'il faut retourner un ~models.transformer_2d.Transformer2DModelOutput plutôt qu'un simple tuple.

Retourne

torch.Tensor ou ~models.transformer_2d.Transformer2DModelOutput

Les latents débruités en utilisant les entrées fournies comme conditionnement.

La méthode forward du CogView3PlusTransformer2DModel.

Transformer2DModelOutput

classe diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Paramètres

  • sample (torch.Tensor de forme (batch_size, num_channels, height, width) ou (batch size, num_vector_embeds - 1, num_latent_pixels) si Transformer2DModel est discret) — Les états cachés en sortie, conditionnés par l'entrée encoder_hidden_states. Si discret, renvoie les distributions de probabilité pour les pixels latents non bruités.

La sortie de Transformer2DModel.

Update on GitHub