Diffusers documentation

CogView4Transformer2DModel

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

CogView4Transformer2DModel

Um modelo Diffusion Transformer para dados 2D do CogView4

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

from diffusers import CogView4Transformer2DModel

transformer = CogView4Transformer2DModel.from_pretrained("THUDM/CogView4-6B", subfolder="transformer", dtype=torch.bfloat16).to("cuda")  # or "mps", "xpu", "cpu"

CogView4Transformer2DModel

classe diffusers.CogView4Transformer2DModel

< >

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

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

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensortimestep: LongTensororiginal_size: Tensortarget_size: Tensorcrop_coords: Tensorattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = Trueattention_mask: typing.Optional[torch.Tensor] = Noneimage_rotary_emb: tuple[torch.Tensor, torch.Tensor] | list[tuple[torch.Tensor, torch.Tensor]] | None = None )

Parâmetros

  • hidden_states (torch.Tensor de forma (batch_size, in_channels, height, width)) — hidden_states de entrada.
  • encoder_hidden_states (torch.Tensor de forma (batch_size, sequence_len, embed_dims)) — Incorporações condicionais (incorporações calculadas a partir das condições de entrada, como prompts) a serem usadas.
  • timestep (torch.LongTensor) — Usado para indicar o passo de desruido.
  • original_size (torch.Tensor) — Condição do tamanho original da imagem.
  • target_size (torch.Tensor) — Condição de tamanho da imagem alvo.
  • crop_coords (torch.Tensor) — Coordenadas de recorte para condicionamento.
  • attention_kwargs (dict, opcional) — Um dicionário de kwargs que, se especificado, é passado ao AttentionProcessor conforme definido em self.processor em diffusers.models.attention_processor.
  • return_dict (bool, opcional, padrão True) — Se deve ou não retornar um ~models.transformer_2d.Transformer2DModelOutput em vez de uma tupla simples.
  • attention_mask (torch.Tensor, opcional) — Máscara aplicada às pontuações de atenção.
  • image_rotary_emb (tuple de torch.Tensor, opcional) — Incorporações posicionais rotativas pré-computadas.

O método forward do CogView4Transformer2DModel.

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