Diffusers documentation

Lumina2Transformer2DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Lumina2Transformer2DModel

Модель Diffusion Transformer для 3D-видеоподобных данных была представлена в Lumina Image 2.0 от Alpha-VLLM.

Модель можно загрузить с помощью следующего фрагмента кода.

from diffusers import Lumina2Transformer2DModel

transformer = Lumina2Transformer2DModel.from_pretrained("Alpha-VLLM/Lumina-Image-2.0", subfolder="transformer", dtype=torch.bfloat16)

Lumina2Transformer2DModel

класс 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[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: диффузионная модель с трансформерным каркасом.

forward

< >

( 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, необязательный) — Словарь kwargs, который при указании передается в AttentionProcessor, определенный в self.processor в diffusers.models.attention_processor.
  • return_dict (bool, необязательный, по умолчанию True) — Определяет, следует ли возвращать ~models.transformer_2d.Transformer2DModelOutput вместо обычного кортежа.

Метод forward модели Lumina2Transformer2DModel.

Transformer2DModelOutput

класс diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Параметры

  • sample (torch.Tensor формы (batch_size, num_channels, height, width) или (batch size, num_vector_embeds - 1, num_latent_pixels), если Transformer2DModel дискретный) — Выходные скрытые состояния, обусловленные входом encoder_hidden_states. Если модель дискретная, возвращает распределения вероятностей для латентных пикселей без шума.

Вывод Transformer2DModel.

Update on GitHub