# LuminaNextDiT2DModel

[Lumina-T2X](https://github.com/Alpha-VLLM/Lumina-T2X) による、2次元データ向けの次世代 Diffusion Transformer モデルです。

## LuminaNextDiT2DModel[[diffusers.LuminaNextDiT2DModel]]

#### diffusers.LuminaNextDiT2DModel[[diffusers.LuminaNextDiT2DModel]]

```python
diffusers.LuminaNextDiT2DModel(sample_size: int = 128, patch_size: int | None = 2, in_channels: int | None = 4, hidden_size: int | None = 2304, num_layers: int | None = 32, num_attention_heads: int | None = 32, num_kv_heads: int | None = None, multiple_of: int | None = 256, ffn_dim_multiplier: float | None = None, norm_eps: float | None = 1e-05, learn_sigma: bool | None = True, qk_norm: bool | None = True, cross_attention_dim: int | None = 2048, scaling_factor: float | None = 1.0)
```

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

**パラメータ:**

sample_size (`int`) : 潜在画像の幅です。これは位置埋め込みの数を学習するために使用されるため、トレーニング中は固定されます。

patch_size (`int`、*optional*、(`int`、*optional*、デフォルトは 2) : 画像における各パッチのサイズです。このパラメータは、モデルに投入されるパッチの解像度を定義します。

in_channels (`int`、*任意*、デフォルトは 4) : モデルの入力チャネル数です。通常、入力画像のチャネル数と一致します。

hidden_size (`int`、*optional*、デフォルト値は 4096) : モデルの隠れ層の次元数です。このパラメータは、モデルの隠れ表現の幅を決定します。

num_layers (`int`、*optional*、デフォルトは 32) : モデルの層数です。これはニューラルネットワークの深さを定義します。

num_attention_heads (`int`、*optional*、デフォルトは 32) : 各アテンション層におけるアテンションヘッドの数。このパラメータは、使用される独立したアテンション機構の数を指定します。

num_kv_heads (`int`、*任意*、デフォルトは 8) : アテンション機構におけるキーバリューヘッドの数。アテンションヘッドの数と異なる場合に指定します。None の場合は、num_attention_heads がデフォルト値として使用されます。

multiple_of (`int`、*optional*、デフォルトは 256) : hidden size が倍数でなければならない係数です。特定のハードウェア構成の最適化に役立ちます。

ffn_dim_multiplier (`float`, *任意*) : フィードフォワードネットワークの次元に対する乗数です。None の場合、モデル設定に基づいたデフォルト値が使用されます。

norm_eps (`float`、*任意*、デフォルトは 1e-5) : 正規化層における数値的安定性を確保するために分母に追加される小さな値。

learn_sigma (`bool`、*任意*、デフォルトは True) : モデルがシグマパラメータを学習すべきかどうかを指定します。このパラメータは、予測の不確実性や分散に関連する可能性があります。

qk_norm (`bool`、*任意*、デフォルトは True) : アテンション機構におけるクエリとキーを正規化するかを示します。

cross_attention_dim (`int`、*optional*、デフォルトは 2048) : テキスト埋め込みの次元数です。このパラメータは、モデルで使用されるテキスト表現のサイズを定義します。

scaling_factor (`float`、*optional*、デフォルト値は 1.0) : モデル内の特定のパラメータやレイヤーに適用されるスケーリング係数です。モデルの演算全体のスケールを調整するために使用できます。

LuminaNextDiT: Transformerバックボーンを持つ拡散モデル。

diffusers のサンプラー StableDiffusionPipeline と互換性を持たせるために、ModelMixin と ConfigMixin を継承します。

#### forward[[diffusers.LuminaNextDiT2DModel.forward]]

```python
forward(hidden_states: Tensor, timestep: Tensor, encoder_hidden_states: Tensor, encoder_mask: Tensor, image_rotary_emb: Tensor, cross_attention_kwargs: dict[str, typing.Any] = None, return_dict = True)
```

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

**パラメータ:**

hidden_states (torch.Tensor) : 形状が (N, C, H, W) の入力テンソル。

timestep (torch.Tensor) : 形 (N,) の拡散タイムステップのテンソル。

encoder_hidden_states (torch.Tensor) : 形 (N, D) のキャプション特徴のテンソル。

encoder_mask (torch.Tensor) : 形 (N, L) のキャプションマスクのテンソル。

image_rotary_emb (`torch.Tensor`) : 事前計算済みのロータリー位置埋め込み。

cross_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`を返すかどうか。

**戻り値:** `~models.transformer_2d.Transformer2DModelOutput` または `tuple`

`return_dict` が True の場合、`~models.transformer_2d.Transformer2DModelOutput` が返され、それ以外の場合は通常の `tuple` が返されます。

LuminaNextDiTのフォワードパス。

