# LTXVideoTransformer3DModel

[LTX](https://huggingface.co/Lightricks/LTX-Video) によって、3Dデータ向けの Diffusion Transformer モデルが紹介されました。

モデルは、以下のコードスニペットで読み込むことができます。

```python
from diffusers import LTXVideoTransformer3DModel

transformer = LTXVideoTransformer3DModel.from_pretrained("Lightricks/LTX-Video", subfolder="transformer", dtype=torch.bfloat16).to("cuda")  # or "mps", "xpu", "cpu"
```

## LTXVideoTransformer3DModel[[diffusers.LTXVideoTransformer3DModel]]

#### diffusers.LTXVideoTransformer3DModel[[diffusers.LTXVideoTransformer3DModel]]

```python
diffusers.LTXVideoTransformer3DModel(in_channels: int = 128, out_channels: int = 128, patch_size: int = 1, patch_size_t: int = 1, num_attention_heads: int = 32, attention_head_dim: int = 64, cross_attention_dim: int = 2048, num_layers: int = 28, activation_fn: str = 'gelu-approximate', qk_norm: str = 'rms_norm_across_heads', norm_elementwise_affine: bool = False, norm_eps: float = 1e-06, caption_channels: int = 4096, attention_bias: bool = True, attention_out_bias: bool = True)
```

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_ltx.py#L379)

**パラメータ:**

in_channels (`int`、デフォルトは`128`) : 入力におけるチャネル数。

out_channels (`int`、デフォルトは`128`) : 出力のチャネル数。

patch_size (`int`、デフォルトは`1`) : パッチ埋め込み層で使用する空間パッチのサイズ。

patch_size_t (`int`、デフォルトは`1`) : パッチ埋め込み層で使用する時間的パッチのサイズです。

num_attention_heads (`int`、デフォルトは`32`) : マルチヘッドアテンションで使用するヘッド数。

attention_head_dim (`int`、デフォルトは`64`) : 各ヘッドのチャネル数。

cross_attention_dim (`int`、デフォルトは `2048 `) : クロスアテンションヘッドのチャネル数。

num_layers (`int`、デフォルトは`28`) : 使用する Transformer ブロックの層数。

activation_fn (`str`、デフォルトは `"gelu-approximate"`) : feed-forward で使用する活性化関数。

qk_norm (`str`、デフォルトは`"rms_norm_across_heads"`) : 使用する正規化レイヤー。

[LTX](https://huggingface.co/Lightricks/LTX-Video)で使用する、動画のようなデータ向けのTransformerモデル。

#### forward[[diffusers.LTXVideoTransformer3DModel.forward]]

```python
forward(hidden_states: Tensor, encoder_hidden_states: Tensor, timestep: LongTensor, encoder_attention_mask: Tensor, num_frames: int | None = None, height: int | None = None, width: int | None = None, rope_interpolation_scale: typing.Union[tuple[float, float, float], torch.Tensor, NoneType] = None, video_coords: typing.Optional[torch.Tensor] = None, attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True)
```

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_ltx.py#L488)

**パラメータ:**

hidden_states (`torch.Tensor`、shape `(batch_size, sequence_length, in_channels)`) : 入力 `hidden_states`。

encoder_hidden_states (`torch.Tensor`、shape `(batch_size, sequence_len, embed_dims)`) : 使用する条件埋め込み（プロンプトなどの入力条件から計算される埋め込み）。

timestep (`torch.LongTensor`) : デノイジングステップを示すために使用されます。

encoder_attention_mask (`torch.Tensor`) : アテンション時に`encoder_hidden_states`に適用されるマスク。

num_frames (`int`, *任意*) : 回転位置埋め込みを計算するために使用される動画のフレーム数。

height (`int`, *任意*) : 回転位置埋め込みを計算するために使用される潜在変数の高さ。

width (`int`, *任意*) : 回転位置埋め込みを計算するために使用される潜在変数の幅。

rope_interpolation_scale (`tuple` of `float` or `torch.Tensor`, *任意*) : 回転位置埋め込みで使用される補間スケール。

video_coords (`torch.Tensor`, *任意*) : 回転位置埋め込みで使用する、事前計算済みの動画座標。

attention_kwargs (`dict`, *任意*) : 指定された場合、[diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) の `self.processor` で定義されている `AttentionProcessor` に渡される kwargs の辞書です。

return_dict (`bool`、*任意*、デフォルトは`True`) : プレーンなタプルではなく`~models.transformer_2d.Transformer2DModelOutput`を返すかどうか。

**戻り値:** `torch.Tensor`

`(batch_size, sequence_length, out_channels)` の形状を持つ、ノイズ除去後の出力テンソル。

[LTXVideoTransformer3DModel](/docs/diffusers/v0.43.0/ja/api/models/ltx_video_transformer3d#diffusers.LTXVideoTransformer3DModel) の forward メソッドです。

## 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)
```

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/modeling_outputs.py#L21)

**パラメータ:**

sample (`torch.Tensor`、shape は `(batch_size, num_channels, height, width)`、または [Transformer2DModel](/docs/diffusers/v0.43.0/ja/api/models/transformer2d#diffusers.Transformer2DModel) が離散型の場合 `(batch size, num_vector_embeds - 1, num_latent_pixels)`) : `encoder_hidden_states` 入力を条件とする隠れ状態の出力です。離散型の場合、ノイズ除去されていない潜在ピクセルの確率分布を返します。

[Transformer2DModel](/docs/diffusers/v0.43.0/ja/api/models/transformer2d#diffusers.Transformer2DModel)の出力です。

