# MotifVideoTransformer3DModel

Model Diffusion Transformer untuk data video 3D diperkenalkan dalam Motif-Video oleh Tim Motif Technologies.

Model ini menggunakan arsitektur tiga tahap dengan 12 lapisan decoder dual-stream + 16 lapisan decoder single-stream + 8 lapisan decoder DDT dan rotary positional embeddings (RoPE) untuk generasi video.

Model dapat dimuat dengan potongan kode berikut.

```python
from diffusers import MotifVideoTransformer3DModel

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

## MotifVideoTransformer3DModel[[diffusers.MotifVideoTransformer3DModel]]

#### diffusers.MotifVideoTransformer3DModel[[diffusers.MotifVideoTransformer3DModel]]

```python
diffusers.MotifVideoTransformer3DModel(in_channels: int = 33, out_channels: int = 16, num_attention_heads: int = 24, attention_head_dim: int = 128, num_layers: int = 20, 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', norm_type: str = 'layer_norm', text_embed_dim: int = 4096, image_embed_dim: int | None = None, rope_theta: float = 256.0, rope_axes_dim: typing.Tuple[int, ...] = (16, 56, 56), enable_text_cross_attention_dual: bool = False, enable_text_cross_attention_single: bool = False)
```

[Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_motif_video.py#L730)

**Parameter:**

in_channels (`int`, defaultnya `33`) : Jumlah channel pada input.

out_channels (`int`, defaultnya `16`) : Jumlah channel pada output.

num_attention_heads (`int`, defaultnya `24`) : Jumlah kepala yang digunakan untuk multi-head attention.

attention_head_dim (`int`, defaultnya `128`) : Jumlah channel di setiap head.

num_layers (`int`, defaultnya `20`) : Jumlah lapisan blok dual-stream yang akan digunakan.

num_single_layers (`int`, defaultnya `40`) : Jumlah lapisan blok single-stream yang akan digunakan.

num_decoder_layers (`int`, defaultnya `0`) : Jumlah lapisan decoder dalam blok single-stream.

mlp_ratio (`float`, defaultnya `4.0`) : Rasio ukuran lapisan tersembunyi terhadap ukuran input dalam jaringan feedforward.

patch_size (`int`, defaultnya `2`) : Ukuran patch spasial yang akan digunakan di lapisan patch embedding.

patch_size_t (`int`, defaultnya `1`) : Ukuran patch temporal yang akan digunakan di lapisan patch embedding.

qk_norm (`str`, defaultnya `rms_norm`) : Normalisasi yang digunakan untuk proyeksi query dan key pada lapisan perhatian.

text_embed_dim (`int`, defaultnya `4096`) : Dimensi input dari embedding teks yang berasal dari text encoder.

image_embed_dim (`int`, *opsional*) : Dimensi input dari embedding gambar yang berasal dari vision encoder. Jika disediakan, memungkinkan kondisioning gambar.

rope_theta (`float`, defaultnya `256.0`) : Nilai theta yang digunakan di lapisan RoPE.

rope_axes_dim (`Tuple[int]`, defaultnya `(16, 56, 56)`) : Dimensi sumbu yang akan digunakan di lapisan RoPE.

Model Transformer untuk data mirip video yang digunakan dalam model Motif-Video.

#### forward[[diffusers.MotifVideoTransformer3DModel.forward]]

```python
forward(hidden_states: Tensor, timestep: LongTensor, encoder_hidden_states: Tensor, encoder_attention_mask: typing.Optional[torch.Tensor] = None, image_embeds: typing.Optional[torch.Tensor] = None, attention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None, return_dict: bool = True)
```

[Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_motif_video.py#L888)

**Parameter:**

hidden_states (`torch.Tensor`) : Tensor laten input dengan bentuk `(batch_size, channels, num_frames, height, width)`.

timestep (`torch.LongTensor`) : Langkah-langkah difusi (diffusion timesteps) dengan bentuk `(batch_size,)`.

encoder_hidden_states (`torch.Tensor`) : Kondisi teks dengan bentuk `(batch_size, sequence_length, embed_dim)`.

encoder_attention_mask (`torch.Tensor`) : Mask untuk kondisioning teks dengan bentuk `(batch_size, sequence_length)`.

image_embeds (`torch.Tensor`, *opsional*) : Embedding gambar dari vision encoder dengan bentuk `(batch_size, num_tokens, embed_dim)`.

attention_kwargs (`dict`, *opsional*) : Argumen tambahan untuk prosesor perhatian.

return_dict (`bool`, defaultnya `True`) : Apakah akan mengembalikan [Transformer2DModelOutput](/docs/diffusers/main/id/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput).

**Mengembalikan:** [Transformer2DModelOutput](/docs/diffusers/main/id/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) atau `tuple`

Sampel yang diprediksi.

Forward pass dari MotifVideoTransformer3DModel.

## Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

#### diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

```python
diffusers.models.modeling_outputs.Transformer2DModelOutput(sample: torch.Tensor)
```

[Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/modeling_outputs.py#L21)

**Parameter:**

sample (`torch.Tensor` dengan bentuk `(batch_size, num_channels, height, width)` atau `(batch size, num_vector_embeds - 1, num_latent_pixels)` jika [Transformer2DModel](/docs/diffusers/main/id/api/models/transformer2d#diffusers.Transformer2DModel) bersifat diskrit) : Output hidden states yang dikondisikan pada input `encoder_hidden_states`. Jika diskrit, mengembalikan distribusi probabilitas untuk piksel laten yang tidak berisik.

Output dari [Transformer2DModel](/docs/diffusers/main/id/api/models/transformer2d#diffusers.Transformer2DModel).

