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

Một mô hình Diffusion Transformer cho dữ liệu 2D từ CogView3Plus đã được giới thiệu trong CogView3: Finer and Faster Text-to-Image Generation via Relay Diffusion bởi Đại học Thanh Hoa & ZhipuAI.

Mô hình có thể được tải bằng đoạn mã sau.

from diffusers import CogView3PlusTransformer2DModel

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

CogView3PlusTransformer2DModel

lớp 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 )

Tham số

  • patch_size (int, mặc định là 2) — Kích thước của các patch được sử dụng trong lớp nhúng patch.
  • in_channels (int, mặc định là 16) — Số lượng kênh trong đầu vào.
  • num_layers (int, mặc định là 30) — Số lượng lớp khối Transformer cần sử dụng.
  • attention_head_dim (int, mặc định là 40) — Số lượng kênh trong mỗi head.
  • num_attention_heads (int, mặc định là 64) — Số lượng đầu (heads) được sử dụng cho cơ chế chú ý đa đầu (multi-head attention).
  • out_channels (int, mặc định là 16) — Số lượng kênh trong đầu ra.
  • text_embed_dim (int, mặc định là 4096) — Kích thước đầu vào của các vector nhúng văn bản từ bộ mã hóa văn bản.
  • time_embed_dim (int, mặc định là 512) — Kích thước đầu ra của các embedding bước thời gian.
  • condition_dim (int, mặc định là 256) — Kích thước nhúng của các điều kiện độ phân giải kiểu SDXL đầu vào (original_size, target_size, crop_coords).
  • pos_embed_max_size (int, mặc định là 128) — Độ phân giải tối đa của các embedding vị trí, từ đó các lát cắt có hình dạng H x W được lấy và cộng vào các latent đã chia patch của đầu vào, trong đó H và W lần lượt là chiều cao và chiều rộng của latent. Giá trị 128 có nghĩa là chiều cao và chiều rộng tối đa được hỗ trợ cho việc tạo ảnh là 128 * vae_scale_factor * patch_size => 128 * 8 * 2 => 2048.
  • sample_size (int, mặc định là 128) — Độ phân giải cơ bản của latents đầu vào. Nếu height/width không được cung cấp trong quá trình tạo, giá trị này sẽ được sử dụng để xác định độ phân giải là sample_size * vae_scale_factor => 128 * 8 => 1024

Mô hình Transformer được giới thiệu trong 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

Tham số

  • hidden_states (torch.Tensor) — hidden_states đầu vào có hình dạng (batch size, channel, height, width).
  • encoder_hidden_states (torch.Tensor) — Các embedding điều kiện (embedding được tính từ các điều kiện đầu vào như prompt) có hình dạng (batch_size, sequence_len, text_embed_dim)
  • timestep (torch.LongTensor) — Dùng để chỉ bước khử nhiễu.
  • original_size (torch.Tensor) — CogView3 sử dụng micro-conditioning kiểu SDXL cho kích thước ảnh gốc như đã mô tả trong mục 2.2 của https://huggingface.co/papers/2307.01952.
  • target_size (torch.Tensor) — CogView3 sử dụng micro-conditioning kiểu SDXL cho kích thước ảnh đích như đã mô tả trong mục 2.2 của https://huggingface.co/papers/2307.01952.
  • crop_coords (torch.Tensor) — CogView3 sử dụng micro-conditioning kiểu SDXL cho tọa độ crop như đã giải thích trong mục 2.2 của https://huggingface.co/papers/2307.01952.
  • return_dict (bool, tùy chọn, mặc định là True) — Có nên trả về một ~models.transformer_2d.Transformer2DModelOutput thay vì một tuple thông thường hay không.

Trả về

torch.Tensor hoặc ~models.transformer_2d.Transformer2DModelOutput

Các latents đã khử nhiễu sử dụng các đầu vào được cung cấp làm điều kiện.

Phương thức forward của CogView3PlusTransformer2DModel.

Transformer2DModelOutput

lớp diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Tham số

  • sample (torch.Tensor có hình dạng (batch_size, num_channels, height, width) hoặc (batch size, num_vector_embeds - 1, num_latent_pixels) nếu Transformer2DModel là rời rạc) — Trạng thái ẩn đầu ra được điều kiện bởi đầu vào encoder_hidden_states. Nếu là rời rạc, trả về các phân phối xác suất cho các pixel tiềm ẩn không nhiễu.

Đầu ra của Transformer2DModel.

Update on GitHub