Diffusers documentation

Lumina2Transformer2DModel

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

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

< >

( 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 = (32, 32, 32)axes_lens: tuple = (300, 512, 512)cap_feat_dim: int = 1024 )

参数

  • sample_size (int) — 潜在图像的宽度。由于该参数用于学习位置嵌入的数量,因此在训练过程中是固定的。
  • patch_size (int, 可选, (int, 可选, 默认为 2) — 图像中每个 patch 的尺寸。该参数定义了输入模型的 patch 的分辨率。
  • 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

< >

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

参数

  • hidden_states(形状为 (batch_size, in_channels, height, width) 的 torch.Tensor)— 输入的 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, 可选) — 一个 kwargs 字典,如果指定,将传递给 diffusers.models.attention_processor 中定义的 AttentionProcessor,该处理器在 self.processor 下定义。
  • return_dict (bool,可选,默认为 True) — 是否返回 ~models.transformer_2d.Transformer2DModelOutput 而不是普通的元组。

Lumina2Transformer2DModel 的前向方法。

Transformer2DModelOutput

类 diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

参数

  • sample(形状为 (batch_size, num_channels, height, width) 的 torch.Tensor,或者如果 Transformer2DModel 是离散的,则为 (batch size, num_vector_embeds - 1, num_latent_pixels))— 以 encoder_hidden_states 输入为条件的隐藏状态输出。如果是离散的,则返回未加噪潜在像素的概率分布。

Transformer2DModel 的输出。

Update on GitHub