Diffusers documentation

LuminaNextDiT2DModel

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

LuminaNextDiT2DModel

来自 Lumina-T2X 的用于 2D 数据的下一代 Diffusion Transformer 模型。

LuminaNextDiT2DModel

类 diffusers.LuminaNextDiT2DModel

< >

( sample_size: int = 128patch_size: int | None = 2in_channels: int | None = 4hidden_size: int | None = 2304num_layers: int | None = 32num_attention_heads: int | None = 32num_kv_heads: int | None = Nonemultiple_of: int | None = 256ffn_dim_multiplier: float | None = Nonenorm_eps: float | None = 1e-05learn_sigma: bool | None = Trueqk_norm: bool | None = Truecross_attention_dim: int | None = 2048scaling_factor: float | None = 1.0 )

参数

  • 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) — 在归一化层中,为分母添加的一个小值,用于保证数值稳定性。
  • learn_sigma (bool,可选,默认为 True) — 模型是否应学习 sigma 参数,该参数可能与预测中的不确定性或方差有关。
  • qk_norm (bool,可选,默认为 True) — 指示是否应对注意力机制中的查询和键进行归一化。
  • cross_attention_dim (int,可选,默认值为 2048) — 文本嵌入的维度。该参数定义了模型中使用的文本表示的大小。
  • scaling_factor (float,可选,默认为 1.0) — 应用于模型中特定参数或层的缩放因子。可用于调整模型运算的整体尺度。

LuminaNextDiT:采用 Transformer 骨干网络的扩散模型。

继承 ModelMixin 和 ConfigMixin,以兼容 diffusers 中的采样器 StableDiffusionPipeline。

forward

< >

( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorencoder_mask: Tensorimage_rotary_emb: Tensorcross_attention_kwargs: dict = Nonereturn_dict = True ) → ~models.transformer_2d.Transformer2DModelOutput or tuple

参数

  • 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, 可选) — 一个 kwargs 字典,如果指定,将作为参数传递给 diffusers.models.attention_processor 中 self.processor 下定义的 AttentionProcessor。
  • return_dict (bool,可选,默认为 True) — 是否返回 ~models.transformer_2d.Transformer2DModelOutput 而不是普通的元组。

返回值

~models.transformer_2d.Transformer2DModelOutput 或 tuple

如果 return_dict 为 True,则返回 ~models.transformer_2d.Transformer2DModelOutput,否则返回普通的 tuple。

LuminaNextDiT 的前向传播。

Update on GitHub