Diffusers documentation
HunyuanVideo15Transformer3DModel
HunyuanVideo15Transformer3DModel
Un modelo Diffusion Transformer para datos de video 3D utilizado en HunyuanVideo1.5.
El modelo se puede cargar con el siguiente fragmento de código.
from diffusers import HunyuanVideo15Transformer3DModel
transformer = HunyuanVideo15Transformer3DModel.from_pretrained("hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-480p_t2v" subfolder="transformer", dtype=torch.bfloat16)HunyuanVideo15Transformer3DModel
clase diffusers.HunyuanVideo15Transformer3DModel
< source >( in_channels: int = 65out_channels: int = 32num_attention_heads: int = 16attention_head_dim: int = 128num_layers: int = 54num_refiner_layers: int = 2mlp_ratio: float = 4.0patch_size: int = 1patch_size_t: int = 1qk_norm: str = 'rms_norm'text_embed_dim: int = 3584text_embed_2_dim: int = 1472image_embed_dim: int = 1152rope_theta: float = 256.0rope_axes_dim: tuple = (16, 56, 56)target_size: int = 640task_type: str = 'i2v'use_meanflow: bool = False )
Parámetros
- in_channels (
int, por defecto16) — El número de canales en la entrada. - out_channels (
int, por defecto16) — El número de canales en la salida. - num_attention_heads (
int, por defecto24) — El número de cabezas a utilizar para la atención multi-cabeza. - attention_head_dim (
int, por defecto128) — El número de canales en cada cabeza. - num_layers (
int, por defecto20) — El número de capas de bloques de doble flujo a utilizar. - num_refiner_layers (
int, por defecto2) — El número de capas de bloques refiner a utilizar. - mlp_ratio (
float, por defecto4.0) — La proporción entre el tamaño de la capa oculta y el tamaño de la entrada en la red feedforward. - patch_size (
int, por defecto2) — El tamaño de los parches espaciales que se usarán en la capa de incrustación de parches. - patch_size_t (
int, por defecto1) — El tamaño de los parches temporales que se usarán en la capa de incrustación de parches. - qk_norm (
str, por defectorms_norm) — La normalización que se utilizará para las proyecciones de consulta y clave en las capas de atención. - guidance_embeds (
bool, por defectoTrue) — Si se deben usar embeddings de guía en el modelo. - text_embed_dim (
int, por defecto4096) — Dimensión de entrada de las incrustaciones de texto del codificador de texto. - pooled_projection_dim (
int, por defecto768) — La dimensión de la proyección agrupada de las incrustaciones de texto. - rope_theta (
float, por defecto256.0) — El valor de theta que se utilizará en la capa RoPE. - rope_axes_dim (
tuple[int], por defecto(16, 56, 56)) — Las dimensiones de los ejes a utilizar en la capa RoPE.
Un modelo Transformer para datos tipo video utilizado en HunyuanVideo1.5.
forward
< source >( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_attention_mask: Tensortimestep_r: typing.Optional[torch.LongTensor] = Noneencoder_hidden_states_2: typing.Optional[torch.Tensor] = Noneencoder_attention_mask_2: typing.Optional[torch.Tensor] = Noneimage_embeds: typing.Optional[torch.Tensor] = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )
Parámetros
- hidden_states (
torch.Tensorde forma(batch_size, num_channels, num_frames, height, width)) — Entradahidden_states. - timestep (
torch.LongTensor) — Se utiliza para indicar el paso de desruido. - encoder_hidden_states (
torch.Tensorde forma(batch_size, sequence_len, embed_dims)) — Incrustaciones condicionales (incrustaciones calculadas a partir de las condiciones de entrada, como los prompts) que se deben utilizar. - encoder_attention_mask (
torch.Tensor) — Máscara aplicada aencoder_hidden_statesdurante la atención. - timestep_r (
torch.LongTensor, opcional) — Condicionamiento del paso de tiempo del refinador. - encoder_hidden_states_2 (
torch.Tensor, opcional) — Incrustaciones condicionales adicionales calculadas a partir de un segundo codificador de texto (ByT5). - encoder_attention_mask_2 (
torch.Tensor, opcional) — Máscara aplicada aencoder_hidden_states_2durante la atención. - image_embeds (
torch.Tensor, opcional) — Incrustaciones de imagen para la generación condicionada por imagen. - attention_kwargs (
dict, opcional) — Un diccionario de kwargs que, si se especifica, se pasa alAttentionProcessordefinido enself.processordentro de diffusers.models.attention_processor. - return_dict (
bool, opcional, valor predeterminadoTrue) — Indica si se debe devolver un~models.transformer_2d.Transformer2DModelOutputen lugar de una tupla simple.
El método forward de HunyuanVideo15Transformer3DModel.
Transformer2DModelOutput
clase diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( sample: torch.Tensor )
Parámetros
- sample (
torch.Tensorde forma(batch_size, num_channels, height, width)o(batch size, num_vector_embeds - 1, num_latent_pixels)si Transformer2DModel es discreto) — La salida de estados ocultos condicionada a la entradaencoder_hidden_states. Si es discreto, devuelve distribuciones de probabilidad para los píxeles latentes sin ruido.
La salida de Transformer2DModel.