Diffusers documentation
LTXVideoTransformer3DModel
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
< source >( 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 defecto128) — El número de canales en la entrada. - out_channels (
int, por defecto128) — El número de canales en la salida. - patch_size (
int, por defecto1) — 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. - num_attention_heads (
int, por defecto32) — El número de cabezas a utilizar para la atención multi-cabeza. - attention_head_dim (
int, por defecto64) — El número de canales en cada cabeza. - cross_attention_dim (
int, por defecto2048) — El número de canales para las cabezas de atención cruzada. - num_layers (
int, por defecto28) — 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
< source >( 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.Tensorde forma(batch_size, sequence_length, in_channels)) — Estados ocultos de entradahidden_states. - 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. - timestep (
torch.LongTensor) — Se utiliza para indicar el paso de desruido. - encoder_attention_mask (
torch.Tensor) — Máscara aplicada aencoder_hidden_statesdurante 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 (
tupledefloatotorch.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 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.
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
< 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.