Diffusers documentation

CogView3PlusTransformer2DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

CogView3PlusTransformer2DModel

Un modelo Diffusion Transformer para datos 2D de CogView3Plus fue introducido en CogView3: Finer and Faster Text-to-Image Generation via Relay Diffusion por Tsinghua University & ZhipuAI.

El modelo se puede cargar con el siguiente fragmento 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

clase 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, por defecto 2) — El tamaño de los parches a utilizar en la capa de incrustación de parches.
  • in_channels (int, por defecto 16) — El número de canales en la entrada.
  • num_layers (int, por defecto 30) — El número de capas de bloques Transformer a utilizar.
  • attention_head_dim (int, por defecto 40) — El número de canales en cada cabeza.
  • num_attention_heads (int, por defecto 64) — El número de cabezas a utilizar para la atención multi-cabeza.
  • out_channels (int, por defecto 16) — El número de canales en la salida.
  • text_embed_dim (int, por defecto 4096) — Dimensión de entrada de las incrustaciones de texto del codificador de texto.
  • time_embed_dim (int, por defecto 512) — Dimensión de salida de las incrustaciones de paso de tiempo.
  • condition_dim (int, por defecto 256) — La dimensión de la incrustación de las condiciones de resolución estilo SDXL de entrada (original_size, target_size, crop_coords).
  • pos_embed_max_size (int, por defecto 128) — La resolución máxima de los embeddings posicionales, de la cual se toman rebanadas de forma H x W y se suman a los latentes parcheados de entrada, donde H y W son la altura y el ancho del latente, respectivamente. Un valor de 128 significa que la altura y el ancho máximos admitidos para la generación de imágenes es 128 * vae_scale_factor * patch_size => 128 * 8 * 2 => 2048.
  • sample_size (int, por defecto 128) — La resolución base de los latentes de entrada. Si no se proporciona altura/ancho durante la generación, este valor se utiliza para determinar la resolución como sample_size * vae_scale_factor => 128 * 8 => 1024

El modelo Transformer introducido en 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 con forma (batch size, channel, height, width).
  • encoder_hidden_states (torch.Tensor) — Incrustaciones condicionales (incrustaciones calculadas a partir de las condiciones de entrada, como los prompts) de forma (batch_size, sequence_len, text_embed_dim)
  • timestep (torch.LongTensor) — Se utiliza para indicar el paso de desruido.
  • original_size (torch.Tensor) — CogView3 utiliza un micro-condicionamiento similar al de SDXL para el tamaño de la imagen original, tal como se explica en la sección 2.2 de https://huggingface.co/papers/2307.01952.
  • target_size (torch.Tensor) — CogView3 utiliza un micro-condicionamiento similar al de SDXL para el tamaño de la imagen objetivo, tal como se explica en la sección 2.2 de https://huggingface.co/papers/2307.01952.
  • crop_coords (torch.Tensor) — CogView3 utiliza un micro-condicionamiento similar al de SDXL para las coordenadas de recorte, tal como se explica en la sección 2.2 de https://huggingface.co/papers/2307.01952.
  • return_dict (bool, opcional, valor predeterminado True) — Indica si se debe devolver un ~models.transformer_2d.Transformer2DModelOutput en lugar de una tupla simple.

Devuelve

torch.Tensor o ~models.transformer_2d.Transformer2DModelOutput

Los latentes desruidados utilizando las entradas proporcionadas como condicionamiento.

El método forward de CogView3PlusTransformer2DModel.

Transformer2DModelOutput

clase diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Parámetros

  • sample (torch.Tensor de forma (batch_size, num_channels, height, width) o (batch size, num_vector_embeds - 1, num_latent_pixels) si Transformer2DModel es discreto) — La salida de estados ocultos condicionada a la entrada encoder_hidden_states. Si es discreto, devuelve distribuciones de probabilidad para los píxeles latentes sin ruido.

La salida de Transformer2DModel.

Update on GitHub