Diffusers documentation

HunyuanVideoTransformer3DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

HunyuanVideoTransformer3DModel

Một mô hình Diffusion Transformer cho dữ liệu dạng video 3D đã được giới thiệu trong HunyuanVideo: A Systematic Framework For Large Video Generative Models của Tencent.

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

from diffusers import HunyuanVideoTransformer3DModel

transformer = HunyuanVideoTransformer3DModel.from_pretrained("hunyuanvideo-community/HunyuanVideo", subfolder="transformer", dtype=torch.bfloat16)

HunyuanVideoTransformer3DModel

lớp diffusers.HunyuanVideoTransformer3DModel

< >

( in_channels: int = 16out_channels: int = 16num_attention_heads: int = 24attention_head_dim: int = 128num_layers: int = 20num_single_layers: int = 40num_refiner_layers: int = 2mlp_ratio: float = 4.0patch_size: int = 2patch_size_t: int = 1qk_norm: str = 'rms_norm'guidance_embeds: bool = Truetext_embed_dim: int = 4096pooled_projection_dim: int = 768rope_theta: float = 256.0rope_axes_dim: tuple[int, ...] = (16, 56, 56)image_condition_type: str | None = None )

Tham số

  • in_channels (int, mặc định là 16) — 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_refiner_layers (int, mặc định là 2) — Số lượng lớp của các khối refiner cần sử dụ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 (temporal patches) được sử dụng trong lớp nhúng patch (patch embedding layer).
  • 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.
  • guidance_embeds (bool, mặc định là True) — Có sử dụng guidance embeddings trong mô hình hay không.
  • 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.
  • pooled_projection_dim (int, mặc định là 768) — Kích thước của phép chiếu gộp (pooled projection) của các nhúng văn bản.
  • 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.
  • image_condition_type (str, tùy chọn, mặc định là None) — Loại điều kiện hình ảnh cần sử dụng. Nếu là None, sẽ không sử dụng điều kiện hình ảnh. Nếu là latent_concat, hình ảnh sẽ được nối vào luồng latent. Nếu là token_replace, hình ảnh sẽ được dùng để thay thế các token của khung hình đầu tiên trong luồng latent và áp dụng điều kiện.

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

forward

< >

( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_attention_mask: Tensorpooled_projections: Tensorguidance: Tensor = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )

Tham số

  • hidden_states (torch.Tensor có hình dạng (batch_size, num_channels, num_frames, height, width)) — hidden_states đầu vào.
  • timestep (torch.LongTensor) — Dùng để chỉ bước khử nhiễu.
  • encoder_hidden_states (torch.Tensor có hình dạng (batch_size, sequence_len, embed_dims)) — 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_attention_mask (torch.Tensor) — Mặt nạ được áp dụng cho encoder_hidden_states trong quá trình chú ý.
  • pooled_projections (torch.Tensor có hình dạng (batch_size, projection_dim)) — Các embedding được chiếu từ các embedding của điều kiện đầu vào.
  • guidance (torch.Tensor, tùy chọn) — Nhúng thang độ dẫn hướng được sử dụng cho các biến thể mô hình đã được chưng cất dẫn hướng.
  • attention_kwargs (dict, tùy chọn) — Một từ điển kwargs, nếu được chỉ định, sẽ được truyền đến AttentionProcessor như đã định nghĩa dưới self.processor trong diffusers.models.attention_processor.
  • 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 HunyuanVideoTransformer3DModel.

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