Buckets:

hf-doc-build/doc / diffusers /main /vi /api /models /cogview4_transformer2d.md
mishig's picture
|
download
raw
6.42 kB

CogView4Transformer2DModel

Mô hình Diffusion Transformer cho dữ liệu 2D từ CogView4

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

from diffusers import CogView4Transformer2DModel

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

CogView4Transformer2DModel[[diffusers.CogView4Transformer2DModel]]

diffusers.CogView4Transformer2DModel[[diffusers.CogView4Transformer2DModel]]

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

Nguồn

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 chiều đầ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 chiều đầu ra của các embedding bước thời gian.

condition_dim (int, mặc định là 256) : Kích thước embedding của các điều kiện độ phân giải phong cách 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 nhúng 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 chiều cao/chiều rộng không được cung cấp trong quá trình tạo, giá trị này được sử dụng để xác định độ phân giải theo sample_size * vae_scale_factor => 128 * 8 => 1024

forward[[diffusers.CogView4Transformer2DModel.forward]]

forward(hidden_states: Tensor, encoder_hidden_states: Tensor, timestep: LongTensor, original_size: Tensor, target_size: Tensor, crop_coords: Tensor, attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True, attention_mask: typing.Optional[torch.Tensor] = None, image_rotary_emb: tuple[torch.Tensor, torch.Tensor] | list[tuple[torch.Tensor, torch.Tensor]] | None = None)

Nguồn

Tham số:

hidden_states (torch.Tensor có hình dạng (batch_size, in_channels, height, width)) : hidden_states đầu vào.

encoder_hidden_states (torch.Tensor có shape (batch_size, sequence_len, embed_dims)) : Các embeddings điều kiện (embeddings được tính từ các điều kiện đầu vào như prompts) cần sử dụng.

timestep (torch.LongTensor) : Dùng để chỉ bước khử nhiễu.

original_size (torch.Tensor) : Điều kiện kích thước ảnh gốc.

target_size (torch.Tensor) : Điều kiện kích thước ảnh đích.

crop_coords (torch.Tensor) : Điều kiện tọa độ cắt.

attention_kwargs (dict, tùy chọn) : Một từ điển kwargs mà nếu được chỉ định sẽ được truyền đến AttentionProcessor như đã định nghĩa dưới self.processor trong diffusers.models.attention_processor.

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.

attention_mask (torch.Tensor, tùy chọn) : Mặt nạ được áp dụng cho các điểm chú ý.

image_rotary_emb (tuple của torch.Tensor, tuỳ chọn) : Các nhúng vị trí quay đã tính trước.

Trả về:

Nếu return_dict là True, một ~models.transformer_2d.Transformer2DModelOutput sẽ được trả về, ngược lại một tuple trong đó phần tử đầu tiên là tensor mẫu.

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

Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

diffusers.models.modeling_outputs.Transformer2DModelOutput(sample: torch.Tensor)

Nguồn

Tham số:

sample (torch.Tensor có shape (batch_size, num_channels, height, width) hoặc (batch size, num_vector_embeds - 1, num_latent_pixels) nếu Transformer2DModel là discrete) : Đầu ra của hidden states được điều kiện bởi đầu vào encoder_hidden_states. Nếu là discrete, trả về các phân phối xác suất cho các latent pixels chưa bị nhiễu.

Đầu ra của Transformer2DModel.

Xet Storage Details

Size:
6.42 kB
·
Xet hash:
68fdc91627c33280695484e60d2bebb98d06e17c3db930619034f3d035216e16

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.