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

Một mô hình Diffusion Transformer cho dữ liệu 3D từ EasyAnimate đã được giới thiệu bởi Alibaba PAI.

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

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

lớp 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 )

Tham số

  • num_attention_heads (int, mặc định là 48) — Số lượng đầu (heads) được sử dụng cho cơ chế chú ý đa đầu (multi-head attention).
  • attention_head_dim (int, mặc định là 64) — Số lượng kênh trong mỗi head.
  • in_channels (int, mặc định là 16) — Số lượng kênh trong đầu vào.
  • out_channels (int, tùy chọn, mặc định là 16) — Số lượng kênh trong đầu ra.
  • 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.
  • sample_width (int, mặc định là 90) — Chiều rộng của các latents đầu vào.
  • sample_height (int, mặc định là 60) — Chiều cao của các latents đầu vào.
  • activation_fn (str, mặc định là "gelu-approximate") — Hàm kích hoạt được sử dụng trong mạng truyền thẳng.
  • timestep_activation_fn (str, mặc định là "silu") — Hàm kích hoạt được sử dụng khi tạo các nhúng bước thời gian (timestep embeddings).
  • num_layers (int, mặc định là 30) — Số lượng lớp khối Transformer cần sử dụng.
  • mmdit_layers (int, mặc định là 1000) — Số lượng lớp của các khối Multi Modal Transformer cần sử dụng.
  • dropout (float, mặc định là 0.0) — Xác suất dropout cần sử dụng.
  • time_embed_dim (int, mặc định là 512) — Kích thước đầu ra của các embedding bước thời gian.
  • text_embed_dim (int, mặc định là 4096) — Kích thước đầu vào của các vector nhúng văn bản từ bộ mã hóa văn bản.
  • norm_eps (float, mặc định là 1e-5) — Giá trị epsilon được sử dụng trong các lớp chuẩn hóa.
  • norm_elementwise_affine (bool, mặc định là True) — Có sử dụng affine theo từng phần tử trong các lớp chuẩn hóa hay không.
  • flip_sin_to_cos (bool, mặc định là True) — Có nên đảo sin thành cos trong time embedding hay không.
  • time_position_encoding_type (str, mặc định là 3d_rope) — Loại mã hóa vị trí thời gian.
  • after_norm (bool, mặc định là False) — Cờ để áp dụng chuẩn hóa sau đó.
  • resize_inpaint_mask_directly (bool, mặc định là True) — Cờ để resize trực tiếp inpaint mask.
  • enable_text_attention_mask (bool, mặc định là True) — Cờ để bật text attention mask.
  • add_noise_in_inpaint_model (bool, mặc định là False) — Cờ để thêm nhiễu vào mô hình inpaint.

Một mô hình Transformer cho dữ liệu dạng video trong EasyAnimate.

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 )

Tham số

  • hidden_states (torch.Tensor có hình dạng (batch_size, channels, num_frames, height, width)) — hidden_states đầu vào.
  • timestep (torch.LongTensor) — Dùng để chỉ bước khử nhiễu.
  • timestep_cond (torch.Tensor, optional) — Các embedding điều kiện cho timestep. Nếu được cung cấp, các embedding này sẽ được cộng với các mẫu đã đi qua lớp self.time_embedding để thu được các embedding timestep cuối cùng.
  • encoder_hidden_states (torch.Tensor, tùy chọn) — Các embedding điều kiện (embedding được tính từ các điều kiện đầu vào như prompt) cần sử dụng.
  • encoder_hidden_states_t5 (torch.Tensor, tùy chọn) — Các embedding điều kiện bổ sung được tính toán từ bộ mã hóa văn bản T5.
  • inpaint_latents (torch.Tensor, tùy chọn) — Các latents được nối với hidden_states cho các biến thể inpainting của mô hình.
  • control_latents (torch.Tensor, tùy chọn) — Các latents được nối với hidden_states cho các biến thể điều khiển của mô hình.
  • 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.

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

Transformer2DModelOutput

lớp diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Tham số

  • sample (torch.Tensor có hình dạng (batch_size, num_channels, height, width) hoặc (batch size, num_vector_embeds - 1, num_latent_pixels) nếu Transformer2DModel là rời rạc) — Trạng thái ẩn đầu ra được điều kiện bởi đầu vào encoder_hidden_states. Nếu là rời rạc, trả về các phân phối xác suất cho các pixel tiềm ẩn không nhiễu.

Đầu ra của Transformer2DModel.

Update on GitHub