Diffusers documentation
Lumina2Transformer2DModel
Lumina2Transformer2DModel
Alpha-VLLM による Lumina Image 2.0 で、3D ビデオ類似データ向けの Diffusion Transformer モデルが紹介されました。
モデルは、以下のコードスニペットで読み込むことができます。
from diffusers import Lumina2Transformer2DModel
transformer = Lumina2Transformer2DModel.from_pretrained("Alpha-VLLM/Lumina-Image-2.0", subfolder="transformer", dtype=torch.bfloat16)Lumina2Transformer2DModel
class diffusers.Lumina2Transformer2DModel
< source >( sample_size: int = 128patch_size: int = 2in_channels: int = 16out_channels: int | None = Nonehidden_size: int = 2304num_layers: int = 26num_refiner_layers: int = 2num_attention_heads: int = 24num_kv_heads: int = 8multiple_of: int = 256ffn_dim_multiplier: float | None = Nonenorm_eps: float = 1e-05scaling_factor: float = 1.0axes_dim_rope: tuple[int, int, int] = (32, 32, 32)axes_lens: tuple[int, int, int] = (300, 512, 512)cap_feat_dim: int = 1024 )
パラメータ
- sample_size (
int) — 潜在画像の幅です。これは位置埋め込みの数を学習するために使用されるため、学習中は固定されます。 - patch_size (
int, 任意, (int, 任意, デフォルトは 2) — 画像における各パッチのサイズです。このパラメータは、モデルに投入されるパッチの解像度を定義します。 - in_channels (
int、任意、デフォルト値は 4) — モデルの入力チャネル数です。通常、入力画像のチャネル数と一致します。 - hidden_size (
int、任意、デフォルト値は 4096) — モデルの隠れ層の次元数です。このパラメータは、モデルの隠れ表現の幅を決定します。 - num_layers (
int、任意、デフォルトは 32) — モデルの層数です。これはニューラルネットワークの深さを定義します。 - num_attention_heads (
int、任意、デフォルトは 32) — 各アテンション層におけるアテンションヘッドの数です。このパラメータは、使用される独立したアテンションメカニズムの数を指定します。 - num_kv_heads (
int, 任意、デフォルトは 8) — アテンション機構におけるキー・バリューヘッドの数です。アテンションヘッドの数と異なる場合に指定します。 None の場合、デフォルトで num_attention_heads が使用されます。 - multiple_of (
int、任意、デフォルトは 256) — 隠れ層サイズが倍数であるべき係数です。これにより、特定のハードウェア構成の最適化に役立ちます。 - ffn_dim_multiplier (
float, 省略可) — フィードフォワードネットワークの次元に対する乗数です。None の場合、モデル設定に基づいたデフォルト値が使用されます。 - norm_eps (
float、任意、デフォルトは 1e-5) — 正規化層における数値的安定性を確保するために分母に加算される小さな値。 - scaling_factor (
float、任意、デフォルト値は 1.0) — モデル内の特定のパラメータやレイヤーに適用されるスケーリング係数です。モデルの演算全体のスケールを調整するために使用できます。
Lumina2NextDiT: Transformerバックボーンを持つ拡散モデル。
forward
< source >( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorencoder_attention_mask: Tensorattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )
パラメータ
- hidden_states (
torch.Tensor、形状(batch_size, in_channels, height, width)) — 入力となるhidden_states。 - timestep (
torch.LongTensor) — デノイジングステップを示すために使用されます。 - encoder_hidden_states (
torch.Tensor、形状(batch_size, sequence_len, embed_dims)) — 使用する条件埋め込み(プロンプトなどの入力条件から計算される埋め込み)。 - encoder_attention_mask (
torch.Tensor) — アテンション時にencoder_hidden_statesに適用されるマスク。 - attention_kwargs (
dict, 省略可) — 指定された場合、diffusers.models.attention_processor で定義されているself.processor内のAttentionProcessorに渡される kwargs 辞書です。 - return_dict (
bool、任意、デフォルトはTrue) — プレーンなタプルではなく~models.transformer_2d.Transformer2DModelOutputを返すかどうか。
Lumina2Transformer2DModelのforwardメソッドです。
Transformer2DModelOutput
クラス diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( sample: torch.Tensor )
パラメータ
- sample (
torch.Tensor、形状(batch_size, num_channels, height, width)、または Transformer2DModel が離散型の場合(batch size, num_vector_embeds - 1, num_latent_pixels)) —encoder_hidden_states入力を条件とする隠れ状態の出力です。離散型の場合、ノイズ除去されていない潜在ピクセルの確率分布を返します。
Transformer2DModelの出力です。