Diffusers documentation

MochiTransformer3DModel

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

MochiTransformer3DModel

Модель Diffusion Transformer для 3D-видеоподобных данных была представлена в Mochi-1 Preview от Genmo.

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

from diffusers import MochiTransformer3DModel

transformer = MochiTransformer3DModel.from_pretrained("genmo/mochi-1-preview", subfolder="transformer", dtype=torch.float16).to("cuda")  # or "mps", "xpu", "cpu"

MochiTransformer3DModel

класс diffusers.MochiTransformer3DModel

< >

( patch_size: int = 2num_attention_heads: int = 24attention_head_dim: int = 128num_layers: int = 48pooled_projection_dim: int = 1536in_channels: int = 12out_channels: int | None = Noneqk_norm: str = 'rms_norm'text_embed_dim: int = 4096time_embed_dim: int = 256activation_fn: str = 'swiglu'max_sequence_length: int = 256 )

Параметры

  • patch_size (int, по умолчанию 2) — Размер патчей, используемых в слое встраивания патчей.
  • num_attention_heads (int, по умолчанию 24) — Количество голов, используемых для многоголовного внимания.
  • attention_head_dim (int, по умолчанию 128) — Количество каналов в каждой голове.
  • num_layers (int, по умолчанию 48) — Количество блоков Transformer, используемых в модели.
  • in_channels (int, по умолчанию 12) — Количество каналов на входе.
  • out_channels (int, необязательный, по умолчанию None) — Количество каналов на выходе.
  • qk_norm (str, по умолчанию "rms_norm") — Слой нормализации, который следует использовать.
  • text_embed_dim (int, по умолчанию 4096) — Входное измерение текстовых эмбеддингов от текстового энкодера.
  • time_embed_dim (int, по умолчанию 256) — Выходное измерение эмбеддингов временных шагов.
  • activation_fn (str, по умолчанию "swiglu") — Функция активации, используемая в полносвязном слое.
  • max_sequence_length (int, по умолчанию 256) — Максимальная длина последовательности, поддерживаемая для текстовых эмбеддингов.

Модель Transformer для видеоподобных данных, представленная в Mochi.

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensortimestep: LongTensorencoder_attention_mask: Tensorattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → torch.Tensor

Параметры

  • hidden_states (torch.Tensor формы (batch_size, num_channels, num_frames, height, width)) — Входные hidden_states.
  • encoder_hidden_states (torch.Tensor формы (batch_size, sequence_len, embed_dims)) — Условные эмбеддинги (эмбеддинги, вычисленные на основе входных условий, таких как промпты), которые следует использовать.
  • timestep (torch.LongTensor) — Используется для указания шага денойзинга.
  • encoder_attention_mask (torch.Tensor) — Маска, применяемая к encoder_hidden_states во время внимания.
  • attention_kwargs (dict, необязательный) — Словарь kwargs, который при указании передается в AttentionProcessor, определенный в self.processor в diffusers.models.attention_processor.
  • return_dict (bool, необязательный, по умолчанию True) — Определяет, следует ли возвращать ~models.transformer_2d.Transformer2DModelOutput вместо обычного кортежа.

Возвращает

torch.Tensor

Тензор выходных данных после шумоподавления с формой (batch_size, out_channels, num_frames, height, width).

Метод forward модели MochiTransformer3DModel.

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