Diffusers documentation

LTXVideoTransformer3DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

LTXVideoTransformer3DModel

Un modelo Diffusion Transformer para datos 3D de LTX fue introducido por Lightricks.

El modelo se puede cargar con el siguiente fragmento de código.

from diffusers import LTXVideoTransformer3DModel

transformer = LTXVideoTransformer3DModel.from_pretrained("Lightricks/LTX-Video", subfolder="transformer", dtype=torch.bfloat16).to("cuda")  # or "mps", "xpu", "cpu"

LTXVideoTransformer3DModel

clase diffusers.LTXVideoTransformer3DModel

< >

( in_channels: int = 128out_channels: int = 128patch_size: int = 1patch_size_t: int = 1num_attention_heads: int = 32attention_head_dim: int = 64cross_attention_dim: int = 2048num_layers: int = 28activation_fn: str = 'gelu-approximate'qk_norm: str = 'rms_norm_across_heads'norm_elementwise_affine: bool = Falsenorm_eps: float = 1e-06caption_channels: int = 4096attention_bias: bool = Trueattention_out_bias: bool = True )

Parámetros

  • in_channels (int, por defecto 128) — El número de canales en la entrada.
  • out_channels (int, por defecto 128) — El número de canales en la salida.
  • patch_size (int, por defecto 1) — El tamaño de los parches espaciales que se usarán en la capa de incrustación de parches.
  • patch_size_t (int, por defecto 1) — El tamaño de los parches temporales que se usarán en la capa de incrustación de parches.
  • num_attention_heads (int, por defecto 32) — El número de cabezas a utilizar para la atención multi-cabeza.
  • attention_head_dim (int, por defecto 64) — El número de canales en cada cabeza.
  • cross_attention_dim (int, por defecto 2048 ) — El número de canales para las cabezas de atención cruzada.
  • num_layers (int, por defecto 28) — El número de capas de bloques Transformer a utilizar.
  • activation_fn (str, por defecto "gelu-approximate") — Función de activación a utilizar en la red feed-forward.
  • qk_norm (str, por defecto "rms_norm_across_heads") — La capa de normalización a utilizar.

Un modelo Transformer para datos tipo video utilizado en LTX.

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensortimestep: LongTensorencoder_attention_mask: Tensornum_frames: int | None = Noneheight: int | None = Nonewidth: int | None = Nonerope_interpolation_scale: typing.Union[tuple[float, float, float], torch.Tensor, NoneType] = Nonevideo_coords: typing.Optional[torch.Tensor] = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → torch.Tensor

Parámetros

  • hidden_states (torch.Tensor de forma (batch_size, sequence_length, in_channels)) — Estados ocultos de entrada hidden_states.
  • encoder_hidden_states (torch.Tensor de 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.
  • timestep (torch.LongTensor) — Se utiliza para indicar el paso de desruido.
  • encoder_attention_mask (torch.Tensor) — Máscara aplicada a encoder_hidden_states durante la atención.
  • num_frames (int, opcional) — Número de fotogramas del video utilizado para calcular los embeddings posicionales rotatorios.
  • height (int, opcional) — Altura del latente utilizado para calcular los embeddings posicionales rotativos.
  • width (int, opcional) — Ancho del latente utilizado para calcular los embeddings posicionales rotativos.
  • rope_interpolation_scale (tuple de float o torch.Tensor, opcional) — Escala de interpolación utilizada por los embeddings posicionales rotatorios.
  • video_coords (torch.Tensor, opcional) — Coordenadas de video precalculadas utilizadas por los embeddings posicionales rotatorios.
  • attention_kwargs (dict, opcional) — Un diccionario de kwargs que, si se especifica, se pasa al AttentionProcessor definido en self.processor dentro de diffusers.models.attention_processor.
  • return_dict (bool, opcional, valor predeterminado True) — Indica si se debe devolver un ~models.transformer_2d.Transformer2DModelOutput en lugar de una tupla simple.

Devuelve

torch.Tensor

El tensor de salida desruidoado de forma (batch_size, sequence_length, out_channels).

El método forward de LTXVideoTransformer3DModel.

Transformer2DModelOutput

clase diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Parámetros

  • sample (torch.Tensor de 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 entrada encoder_hidden_states. Si es discreto, devuelve distribuciones de probabilidad para los píxeles latentes sin ruido.

La salida de Transformer2DModel.

Update on GitHub