Diffusers documentation

MotifVideoTransformer3DModel

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

MotifVideoTransformer3DModel

Một mô hình Diffusion Transformer cho dữ liệu dạng video 3D đã được giới thiệu trong Motif-Video bởi nhóm Motif Technologies Team.

Mô hình sử dụng kiến trúc ba giai đoạn với 12 lớp giải mã dual-stream + 16 lớp single-stream + 8 lớp giải mã DDT và nhúng vị trí quay (RoPE) cho việc tạo video.

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

from diffusers import MotifVideoTransformer3DModel

transformer = MotifVideoTransformer3DModel.from_pretrained("Motif-Technologies/Motif-Video-2B", subfolder="transformer", dtype=torch.bfloat16)

MotifVideoTransformer3DModel

lớp diffusers.MotifVideoTransformer3DModel

< >

( in_channels: int = 33out_channels: int = 16num_attention_heads: int = 24attention_head_dim: int = 128num_layers: int = 20num_single_layers: int = 40num_decoder_layers: int = 0mlp_ratio: float = 4.0patch_size: int = 2patch_size_t: int = 1qk_norm: str = 'rms_norm'norm_type: str = 'layer_norm'text_embed_dim: int = 4096image_embed_dim: int | None = Nonerope_theta: float = 256.0rope_axes_dim: typing.Tuple[int, ...] = (16, 56, 56)enable_text_cross_attention_dual: bool = Falseenable_text_cross_attention_single: bool = False )

Tham số

  • in_channels (int, mặc định là 33) — Số lượng kênh trong đầu vào.
  • out_channels (int, mặc định là 16) — Số lượng kênh trong đầu ra.
  • num_attention_heads (int, mặc định là 24) — 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à 128) — Số lượng kênh trong mỗi head.
  • num_layers (int, mặc định là 20) — Số lượng lớp của các khối dual-stream được sử dụng.
  • num_single_layers (int, mặc định là 40) — Số lượng lớp của các khối single-stream cần sử dụng.
  • num_decoder_layers (int, mặc định là 0) — Số lượng lớp giải mã trong các khối đơn luồng.
  • mlp_ratio (float, mặc định là 4.0) — Tỷ lệ giữa kích thước lớp ẩn và kích thước đầu vào trong mạng feedforward.
  • patch_size (int, mặc định là 2) — Kích thước của các patch không gian được sử dụng trong lớp nhúng patch.
  • patch_size_t (int, mặc định là 1) — Kích thước của các patch thời gian được sử dụng trong lớp nhúng patch.
  • qk_norm (str, mặc định là rms_norm) — Phương pháp chuẩn hóa được sử dụng cho các phép chiếu query và key trong các lớp attention.
  • 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.
  • image_embed_dim (int, tùy chọn) — Kích thước đầu vào của các embedding hình ảnh từ bộ mã hóa thị giác. Nếu được cung cấp, sẽ kích hoạt điều kiện hình ảnh.
  • rope_theta (float, mặc định là 256.0) — Giá trị của theta được sử dụng trong lớp RoPE.
  • rope_axes_dim (Tuple[int], mặc định là (16, 56, 56)) — Các chiều của các trục được sử dụng trong lớp RoPE.

Một mô hình Transformer cho dữ liệu dạng video được sử dụng trong mô hình Motif-Video.

forward

< >

( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_attention_mask: typing.Optional[torch.Tensor] = Noneimage_embeds: typing.Optional[torch.Tensor] = Noneattention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = Nonereturn_dict: bool = True ) → Transformer2DModelOutput or tuple

Tham số

  • hidden_states (torch.Tensor) — Tensor ẩn đầu vào có hình dạng (batch_size, channels, num_frames, height, width).
  • timestep (torch.LongTensor) — Các bước thời gian khuếch tán có hình dạng (batch_size,).
  • encoder_hidden_states (torch.Tensor) — Điều kiện văn bản có hình dạng (batch_size, sequence_length, embed_dim).
  • encoder_attention_mask (torch.Tensor) — Mặt nạ cho điều kiện văn bản có hình dạng (batch_size, sequence_length).
  • image_embeds (torch.Tensor, tùy chọn) — Các embedding hình ảnh từ vision encoder có shape (batch_size, num_tokens, embed_dim).
  • attention_kwargs (dict, tùy chọn) — Các đối số bổ sung cho bộ xử lý chú ý.
  • return_dict (bool, mặc định là True) — Có nên trả về một Transformer2DModelOutput hay không.

Trả về

Transformer2DModelOutput hoặc tuple

Các mẫu được dự đoán.

Quá trình truyền thẳng của MotifVideoTransformer3DModel.

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