Diffusers documentation

MotifVideoTransformer3DModel

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