Diffusers documentation

HunyuanVideoTransformer3DModel

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

HunyuanVideoTransformer3DModel

Um modelo Diffusion Transformer para dados de vídeo 3D foi introduzido em HunyuanVideo: A Systematic Framework For Large Video Generative Models pela Tencent.

O modelo pode ser carregado com o seguinte trecho de código.

from diffusers import HunyuanVideoTransformer3DModel

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

HunyuanVideoTransformer3DModel

classe 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 = (16, 56, 56)image_condition_type: str | None = None )

Parâmetros

  • in_channels (int, padrão 16) — O número de canais na entrada.
  • out_channels (int, padrão 16) — O número de canais na saída.
  • num_attention_heads (int, padrão 24) — O número de cabeças a serem usadas para a atenção multi-cabeça.
  • attention_head_dim (int, padrão 128) — O número de canais em cada head.
  • num_layers (int, padrão 20) — O número de blocos de fluxo duplo a serem usados.
  • num_single_layers (int, padrão 40) — O número de camadas de blocos de fluxo único a serem usadas.
  • num_refiner_layers (int, padrão 2) — O número de camadas de blocos refiner a serem usadas.
  • mlp_ratio (float, padrão 4.0) — A proporção entre o tamanho da camada oculta e o tamanho da entrada na rede feedforward.
  • patch_size (int, padrão 2) — O tamanho dos patches espaciais a serem usados na camada de incorporação de patches.
  • patch_size_t (int, padrão 1) — O tamanho dos patches temporais a serem usados na camada de incorporação de patches.
  • qk_norm (str, padrão rms_norm) — A normalização a ser usada para as projeções de query e key nas camadas de atenção.
  • guidance_embeds (bool, padrão True) — Se deve usar embeddings de orientação no modelo.
  • text_embed_dim (int, padrão 4096) — Dimensão de entrada dos embeddings de texto do codificador de texto.
  • pooled_projection_dim (int, padrão 768) — A dimensão da projeção agregada dos embeddings de texto.
  • rope_theta (float, padrão 256.0) — O valor de theta a ser usado na camada RoPE.
  • rope_axes_dim (tuple[int], padrão (16, 56, 56)) — As dimensões dos eixos a serem usados na camada RoPE.
  • image_condition_type (str, opcional, padrão None) — O tipo de condicionamento de imagem a ser usado. Se None, nenhum condicionamento de imagem é utilizado. Se latent_concat, a imagem é concatenada ao fluxo latente. Se token_replace, a imagem é usada para substituir os tokens do primeiro quadro no fluxo latente e aplicar o condicionamento.

Um modelo Transformer para dados semelhantes a vídeo usado no 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 )

Parâmetros

  • hidden_states (torch.Tensor de forma (batch_size, num_channels, num_frames, height, width)) — hidden_states de entrada.
  • timestep (torch.LongTensor) — Usado para indicar o passo de desruido.
  • encoder_hidden_states (torch.Tensor de forma (batch_size, sequence_len, embed_dims)) — Incorporações condicionais (incorporações calculadas a partir das condições de entrada, como prompts) a serem usadas.
  • encoder_attention_mask (torch.Tensor) — Máscara aplicada a encoder_hidden_states durante a atenção.
  • pooled_projections (torch.Tensor de forma (batch_size, projection_dim)) — Projeções de embeddings a partir dos embeddings das condições de entrada.
  • guidance (torch.Tensor, opcional) — Embedding de escala de orientação usado para variantes destiladas por orientação do modelo.
  • attention_kwargs (dict, opcional) — Um dicionário de kwargs que, se especificado, é passado ao AttentionProcessor conforme definido em self.processor em diffusers.models.attention_processor.
  • return_dict (bool, opcional, padrão True) — Se deve ou não retornar um ~models.transformer_2d.Transformer2DModelOutput em vez de uma tupla simples.

O método forward do HunyuanVideoTransformer3DModel.

Transformer2DModelOutput

classe diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Parâmetros

  • sample (torch.Tensor de forma (batch_size, num_channels, height, width) ou (batch size, num_vector_embeds - 1, num_latent_pixels) se Transformer2DModel for discreto) — A saída dos estados ocultos condicionada à entrada encoder_hidden_states. Se discreto, retorna distribuições de probabilidade para os pixels latentes sem ruído.

A saída de Transformer2DModel.

Update on GitHub