Diffusers 文档

CogView4Transformer2D模型

Hugging Face's logo
加入 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 潜在空间中,其中 HW 分别是潜在空间的高度和宽度。值为 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 的输出。

< > 在 GitHub 上更新