Diffusers documentation
LuminaNextDiT2DModel
LuminaNextDiT2DModel
Версия модели Diffusion Transformer для 2D-данных от Lumina-T2X.
LuminaNextDiT2DModel
класс diffusers.LuminaNextDiT2DModel
< source >( 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) — Размер каждого патча на изображении. Этот параметр определяет разрешение патчей, передаваемых в модель. - 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: диффузионная модель с трансформерным каркасом.
Наследуйте ModelMixin и ConfigMixin, чтобы обеспечить совместимость с сэмплером StableDiffusionPipeline из diffusers.
forward
< source >( 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, который при указании передается вAttentionProcessor, определенный вself.processorв модуле diffusers.models.attention_processor. - return_dict (
bool, необязательный, по умолчаниюTrue) — Определяет, следует ли возвращать~models.transformer_2d.Transformer2DModelOutputвместо обычного кортежа.
Возвращает
~models.transformer_2d.Transformer2DModelOutput или tuple
Если return_dict равно True, возвращается ~models.transformer_2d.Transformer2DModelOutput, в противном случае
возвращается обычный tuple.
Прямой проход LuminaNextDiT.