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 的输出。