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

Um modelo Diffusion Transformer para dados 2D do CogView3Plus foi introduzido em CogView3: Finer and Faster Text-to-Image Generation via Relay Diffusion pela Universidade de Tsinghua & ZhipuAI.

O modelo pode ser carregado com o seguinte trecho de código.

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 )

Parâmetros

  • patch_size (int, padrão 2) — O tamanho dos patches a serem usados na camada de incorporação de patches.
  • in_channels (int, padrão 16) — O número de canais na entrada.
  • num_layers (int, padrão 30) — O número de blocos de camadas de Transformer a serem usados.
  • attention_head_dim (int, padrão 40) — O número de canais em cada cabeça.
  • num_attention_heads (int, padrão 64) — O número de cabeças a serem usadas para a atenção multi-cabeça.
  • out_channels (int, padrão 16) — O número de canais na saída.
  • text_embed_dim (int, padrão 4096) — Dimensão de entrada dos embeddings de texto do codificador de texto.
  • time_embed_dim (int, padrão 512) — Dimensão de saída dos embeddings de timestep.
  • condition_dim (int, padrão 256) — A dimensão do embedding das condições de resolução no estilo SDXL de entrada (original_size, target_size, crop_coords).
  • pos_embed_max_size (int, padrão 128) — A resolução máxima dos embeddings posicionais, da qual são extraídas fatias de forma H x W e adicionadas aos latentes em patches de entrada, onde H e W são, respectivamente, a altura e a largura do latente. Um valor de 128 significa que a altura e a largura máximas suportadas para a geração de imagens são 128 * vae_scale_factor * patch_size => 128 * 8 * 2 => 2048.
  • sample_size (int, padrão 128) — A resolução base dos latentes de entrada. Se a altura/largura não for fornecida durante a geração, esse valor é usado para determinar a resolução como sample_size * vae_scale_factor => 128 * 8 => 1024

O modelo Transformer introduzido em 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

Parâmetros

  • hidden_states (torch.Tensor) — hidden_states de entrada com forma (batch size, channel, height, width).
  • encoder_hidden_states (torch.Tensor) — Incorporações condicionais (incorporações calculadas a partir das condições de entrada, como prompts) de forma (batch_size, sequence_len, text_embed_dim)
  • timestep (torch.LongTensor) — Usado para indicar o passo de desruido.
  • original_size (torch.Tensor) — O CogView3 usa micro-condicionamento semelhante ao do SDXL para o tamanho original da imagem, conforme explicado na seção 2.2 de https://huggingface.co/papers/2307.01952.
  • target_size (torch.Tensor) — O CogView3 usa micro-condicionamento semelhante ao do SDXL para o tamanho da imagem de destino, conforme explicado na seção 2.2 de https://huggingface.co/papers/2307.01952.
  • crop_coords (torch.Tensor) — O CogView3 usa micro-condicionamento semelhante ao do SDXL para coordenadas de recorte, conforme explicado na seção 2.2 de https://huggingface.co/papers/2307.01952.
  • return_dict (bool, opcional, padrão True) — Se deve ou não retornar um ~models.transformer_2d.Transformer2DModelOutput em vez de uma tupla simples.

Retorna

torch.Tensor ou ~models.transformer_2d.Transformer2DModelOutput

Os latentes dessonificados usando as entradas fornecidas como condicionamento.

O método forward do CogView3PlusTransformer2DModel.

Transformer2DModelOutput

classe diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Parâmetros

  • sample (torch.Tensor de forma (batch_size, num_channels, height, width) ou (batch size, num_vector_embeds - 1, num_latent_pixels) se Transformer2DModel for discreto) — A saída dos estados ocultos condicionada à entrada encoder_hidden_states. Se discreto, retorna distribuições de probabilidade para os pixels latentes sem ruído.

A saída de Transformer2DModel.

Update on GitHub