Diffusers 文件
CogView4Transformer2D模型
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
CogView4Transformer2D模型
來自 CogView4 的 2D 資料擴散 Transformer 模型
該模型可以透過以下程式碼片段載入。
from diffusers import CogView4Transformer2DModel
transformer = CogView4Transformer2DModel.from_pretrained("THUDM/CogView4-6B", subfolder="transformer", torch_dtype=torch.bfloat16).to("cuda")
diffusers.CogView4Transformer2DModel
class 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: typing.Tuple[int, int] = (256, 256) )
引數
- patch_size (
int
, 預設為2
) — 在 patch 嵌入層中使用的 patch 大小。 - in_channels (
int
, 預設為16
) — 輸入中的通道數。 - num_layers (
int
, 預設為30
) — 要使用的 Transformer 塊層數。 - attention_head_dim (
int
, 預設為40
) — 每個頭的通道數。 - num_attention_heads (
int
, 預設為64
) — 多頭注意力使用的頭數。 - out_channels (
int
, 預設為16
) — 輸出中的通道數。 - text_embed_dim (
int
, 預設為4096
) — 文字編碼器中文字嵌入的輸入維度。 - time_embed_dim (
int
, 預設為512
) — 時間步嵌入的輸出維度。 - condition_dim (
int
, 預設為256
) — 輸入 SDXL 風格解析度條件(original_size, target_size, crop_coords)的嵌入維度。 - pos_embed_max_size (
int
, 預設為128
) — 位置嵌入的最大解析度,從中獲取形狀為H x W
的切片並新增到輸入 patch 潛在空間中,其中H
和W
分別是潛在空間的高度和寬度。值為 128 意味著影像生成的最大支援高度和寬度為128 * vae_scale_factor * patch_size => 128 * 8 * 2 => 2048
。 - sample_size (
int
, 預設為128
) — 輸入潛在空間的基本解析度。如果在生成時未提供高度/寬度,則此值用於確定解析度,例如sample_size * vae_scale_factor => 128 * 8 => 1024
Transformer2DModelOutput
class diffusers.models.modeling_outputs.Transformer2DModelOutput
< 來源 >( sample: torch.Tensor )
引數
- sample (形狀為
(batch_size, num_channels, height, width)
的torch.Tensor
或如果 Transformer2DModel 是離散的,則為(batch size, num_vector_embeds - 1, num_latent_pixels)
) — 在encoder_hidden_states
輸入上進行條件化的隱藏狀態輸出。如果為離散,則返回未去噪潛在畫素的機率分佈。
Transformer2DModel 的輸出。