Diffusers documentation
MotifVideoTransformer3DModel
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
< source >( 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
< source >( 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
< source >( sample: torch.Tensor )
Tham số
- sample (
torch.Tensorcó 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àoencoder_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.