Diffusers documentation

EasyAnimateTransformer3DModel

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

EasyAnimateTransformer3DModel

阿里巴巴 PAI 推出了一个用于 3D 数据的 Diffusion Transformer 模型,来自 EasyAnimate。

可以使用以下代码片段加载该模型。

from diffusers import EasyAnimateTransformer3DModel

transformer = EasyAnimateTransformer3DModel.from_pretrained("alibaba-pai/EasyAnimateV5.1-12b-zh", subfolder="transformer", dtype=torch.float16).to("cuda")  # or "mps", "xpu", "cpu"

EasyAnimateTransformer3DModel

类 diffusers.EasyAnimateTransformer3DModel

< >

( num_attention_heads: int = 48attention_head_dim: int = 64in_channels: int | None = Noneout_channels: int | None = Nonepatch_size: int | None = Nonesample_width: int = 90sample_height: int = 60activation_fn: str = 'gelu-approximate'timestep_activation_fn: str = 'silu'freq_shift: int = 0num_layers: int = 48mmdit_layers: int = 48dropout: float = 0.0time_embed_dim: int = 512add_norm_text_encoder: bool = Falsetext_embed_dim: int = 3584text_embed_dim_t5: int = Nonenorm_eps: float = 1e-05norm_elementwise_affine: bool = Trueflip_sin_to_cos: bool = Truetime_position_encoding_type: str = '3d_rope'after_norm = Falseresize_inpaint_mask_directly: bool = Trueenable_text_attention_mask: bool = Trueadd_noise_in_inpaint_model: bool = True )

参数

  • num_attention_heads (int,默认为 48) — 多头注意力机制中使用的注意力头数量。
  • attention_head_dim (int,默认为 64) — 每个头中的通道数。
  • in_channels (int,默认为 16) — 输入数据的通道数。
  • out_channels (int,可选,默认为 16) — 输出中的通道数。
  • patch_size (int,默认为 2) — 用于 patch 嵌入层的 patch 大小。
  • sample_width (int,默认为 90) — 输入潜变量的宽度。
  • sample_height (int,默认为 60) — 输入潜变量的高度。
  • activation_fn (str,默认为 "gelu-approximate") — 前馈网络中使用的激活函数。
  • timestep_activation_fn (str,默认为 "silu") — 在生成时间步嵌入时使用的激活函数。
  • num_layers (int,默认为 30) — 要使用的 Transformer 块层数。
  • mmdit_layers (int,默认为 1000) — 要使用的多模态 Transformer 块层数。
  • dropout (float,默认为 0.0) — 要使用的 dropout 概率。
  • time_embed_dim (int,默认为 512) — 时间步嵌入的输出维度。
  • text_embed_dim (int,默认为 4096) — 来自文本编码器的文本嵌入的输入维度。
  • norm_eps (float,默认为 1e-5) — 归一化层中使用的 epsilon 值。
  • norm_elementwise_affine (bool,默认为 True) — 是否在归一化层中使用逐元素仿射变换。
  • flip_sin_to_cos (bool,默认为 True) — 是否将时间嵌入中的 sin 翻转为 cos。
  • time_position_encoding_type (str,默认为 3d_rope) — 时间位置编码的类型。
  • after_norm (bool,默认为 False) — 是否在后处理中应用归一化的标志。
  • resize_inpaint_mask_directly (bool,默认为 True) — 用于直接调整 inpaint mask 大小的标志。
  • enable_text_attention_mask (bool,默认为 True) — 用于启用文本注意力掩码的标志。
  • add_noise_in_inpaint_model (bool,默认为 False) — 用于在 inpaint 模型中添加噪声的标志。

EasyAnimate 中用于类视频数据的 Transformer 模型。

forward

< >

( hidden_states: Tensortimestep: Tensortimestep_cond: typing.Optional[torch.Tensor] = Noneencoder_hidden_states: typing.Optional[torch.Tensor] = Noneencoder_hidden_states_t5: typing.Optional[torch.Tensor] = Noneinpaint_latents: typing.Optional[torch.Tensor] = Nonecontrol_latents: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = True )

参数

  • hidden_states(形状为 (batch_size, channels, num_frames, height, width) 的 torch.Tensor)— 输入的 hidden_states。
  • timestep (torch.LongTensor) — 用于指示去噪步骤。
  • timestep_cond (torch.Tensor, 可选) — 时间步的条件嵌入。如果提供,这些嵌入将与通过 self.time_embedding 层处理的样本相加,以得到最终的时间步嵌入。
  • encoder_hidden_states (torch.Tensor, 可选) — 要使用的条件嵌入(从输入条件(例如提示词)计算得出的嵌入)。
  • encoder_hidden_states_t5 (torch.Tensor, 可选) — 由 T5 文本编码器计算得出的额外条件嵌入。
  • inpaint_latents (torch.Tensor, 可选) — 用于模型重绘(inpainting)变体,与 hidden_states 拼接的潜变量。
  • control_latents (torch.Tensor, 可选) — 用于模型控制变体,与 hidden_states 拼接的潜变量。
  • return_dict (bool,可选,默认为 True) — 是否返回 ~models.transformer_2d.Transformer2DModelOutput 而不是普通的元组。

EasyAnimateTransformer3DModel 的前向方法。

Transformer2DModelOutput

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

Update on GitHub