Diffusers documentation

MotifVideoTransformer3DModel

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

MotifVideoTransformer3DModel

Модель Diffusion Transformer для 3D-видеоподобных данных была представлена в Motif-Video командой Motif Technologies.

Модель использует трёхэтапную архитектуру с 12 слоями декодера dual-stream + 16 слоями single-stream + 8 слоями DDT и вращательными позиционными эмбеддингами (RoPE) для генерации видео.

Модель можно загрузить с помощью следующего фрагмента кода.

from diffusers import MotifVideoTransformer3DModel

transformer = MotifVideoTransformer3DModel.from_pretrained("Motif-Technologies/Motif-Video-2B", subfolder="transformer", dtype=torch.bfloat16)

MotifVideoTransformer3DModel

класс diffusers.MotifVideoTransformer3DModel

< >

( 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 )

Параметры

  • in_channels (int, по умолчанию 33) — Количество каналов на входе.
  • out_channels (int, по умолчанию 16) — Количество каналов на выходе.
  • num_attention_heads (int, по умолчанию 24) — Количество голов, используемых для многоголовного внимания.
  • attention_head_dim (int, по умолчанию 128) — Количество каналов в каждой голове.
  • num_layers (int, по умолчанию 20) — Количество используемых блоков dual-stream.
  • num_single_layers (int, по умолчанию 40) — Количество слоев однопоточных блоков, которые следует использовать.
  • num_decoder_layers (int, по умолчанию 0) — Количество декодерных слоёв в однопоточных блоках.
  • mlp_ratio (float, по умолчанию 4.0) — Соотношение размера скрытого слоя к размеру входа в полносвязной сети.
  • patch_size (int, по умолчанию 2) — Размер пространственных патчей, используемых в слое встраивания патчей.
  • patch_size_t (int, по умолчанию 1) — Размер временных патчей, используемых в слое встраивания патчей.
  • qk_norm (str, по умолчанию rms_norm) — Тип нормализации, применяемой к проекциям запроса и ключа в слоях внимания.
  • text_embed_dim (int, по умолчанию 4096) — Входное измерение текстовых эмбеддингов от текстового энкодера.
  • image_embed_dim (int, необязательный) — Входное измерение эмбеддингов изображений от визуального энкодера. Если указано, включает условное формирование на основе изображений.
  • rope_theta (float, по умолчанию 256.0) — Значение theta, используемое в слое RoPE.
  • rope_axes_dim (Tuple[int], по умолчанию (16, 56, 56)) — Размерности осей, используемых в слое RoPE.

Модель Transformer для видеоподобных данных, используемая в модели Motif-Video.

forward

< >

( 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

Параметры

  • hidden_states (torch.Tensor) — Входной латентный тензор формы (batch_size, channels, num_frames, height, width).
  • timestep (torch.LongTensor) — Шаги диффузии формы (batch_size,).
  • encoder_hidden_states (torch.Tensor) — Текстовое условие формы (batch_size, sequence_length, embed_dim).
  • encoder_attention_mask (torch.Tensor) — Маска для текстового условия формы (batch_size, sequence_length).
  • image_embeds (torch.Tensor, необязательный) — Векторы изображений из визуального кодировщика формы (batch_size, num_tokens, embed_dim).
  • attention_kwargs (dict, необязательный) — Дополнительные аргументы для процессоров внимания.
  • return_dict (bool, по умолчанию True) — Следует ли возвращать Transformer2DModelOutput.

Возвращает

Transformer2DModelOutput или tuple

Предсказанные образцы.

Прямой проход модели MotifVideoTransformer3DModel.

Transformer2DModelOutput

класс diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Параметры

  • sample (torch.Tensor формы (batch_size, num_channels, height, width) или (batch size, num_vector_embeds - 1, num_latent_pixels), если Transformer2DModel дискретный) — Выходные скрытые состояния, обусловленные входом encoder_hidden_states. Если модель дискретная, возвращает распределения вероятностей для латентных пикселей без шума.

Вывод Transformer2DModel.

Update on GitHub