Diffusers documentation
MotifVideoTransformer3DModel
MotifVideoTransformer3DModel
Un modelo Diffusion Transformer para datos de video 3D fue introducido en Motif-Video por el equipo de Motif Technologies.
El modelo utiliza una arquitectura de tres etapas con 12 capas de decodificador de doble flujo + 16 capas de decodificador de flujo único + 8 capas de decodificador DDT y embeddings posicionales rotatorios (RoPE) para la generación de video.
El modelo se puede cargar con el siguiente fragmento de código.
from diffusers import MotifVideoTransformer3DModel
transformer = MotifVideoTransformer3DModel.from_pretrained("Motif-Technologies/Motif-Video-2B", subfolder="transformer", dtype=torch.bfloat16)MotifVideoTransformer3DModel
clase diffusers.MotifVideoTransformer3DModel
< source >( in_channels: int = 33out_channels: int = 16num_attention_heads: int = 24attention_head_dim: int = 128num_layers: int = 20num_single_layers: int = 40num_decoder_layers: int = 0mlp_ratio: float = 4.0patch_size: int = 2patch_size_t: int = 1qk_norm: str = 'rms_norm'norm_type: str = 'layer_norm'text_embed_dim: int = 4096image_embed_dim: int | None = Nonerope_theta: float = 256.0rope_axes_dim: typing.Tuple[int, ...] = (16, 56, 56)enable_text_cross_attention_dual: bool = Falseenable_text_cross_attention_single: bool = False )
Parámetros
- in_channels (
int, por defecto33) — 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_single_layers (
int, por defecto40) — El número de capas de bloques de un solo flujo a utilizar. - num_decoder_layers (
int, por defecto0) — El número de capas decodificadoras en los bloques de un solo flujo. - 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 a utilizar 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. - text_embed_dim (
int, por defecto4096) — Dimensión de entrada de las incrustaciones de texto del codificador de texto. - image_embed_dim (
int, opcional) — Dimensión de entrada de las incrustaciones de imagen de un codificador visual. Si se proporciona, habilita la condicionamiento por imagen. - 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 el modelo Motif-Video.
forward
< source >( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_attention_mask: typing.Optional[torch.Tensor] = Noneimage_embeds: typing.Optional[torch.Tensor] = Noneattention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = Nonereturn_dict: bool = True ) → Transformer2DModelOutput or tuple
Parámetros
- hidden_states (
torch.Tensor) — Tensor latente de entrada con forma(batch_size, channels, num_frames, height, width). - timestep (
torch.LongTensor) — Pasos de difusión de forma(batch_size,). - encoder_hidden_states (
torch.Tensor) — Condicionamiento de texto de forma(batch_size, sequence_length, embed_dim). - encoder_attention_mask (
torch.Tensor) — Máscara para la condicionación de texto de forma(batch_size, sequence_length). - image_embeds (
torch.Tensor, opcional) — Incrustaciones de imagen del codificador visual de forma(batch_size, num_tokens, embed_dim). - attention_kwargs (
dict, opcional) — Argumentos adicionales para los procesadores de atención. - return_dict (
bool, por defectoTrue) — Si se debe devolver un Transformer2DModelOutput.
Devuelve
Transformer2DModelOutput o tuple
Las muestras predichas.
Paso hacia adelante del MotifVideoTransformer3DModel.
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.