Diffusers documentation

Flux2Transformer2DModel

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

Flux2Transformer2DModel

Модель Transformer для изображений из Flux2.

Flux2Transformer2DModel

класс diffusers.Flux2Transformer2DModel

< >

( patch_size: int = 1in_channels: int = 128out_channels: int | None = Nonenum_layers: int = 8num_single_layers: int = 48attention_head_dim: int = 128num_attention_heads: int = 48joint_attention_dim: int = 15360timestep_guidance_channels: int = 256mlp_ratio: float = 3.0axes_dims_rope: tuple = (32, 32, 32, 32)rope_theta: int = 2000eps: float = 1e-06guidance_embeds: bool = True )

Параметры

  • patch_size (int, по умолчанию 1) — Размер патча для разбиения входных данных на небольшие патчи.
  • in_channels (int, по умолчанию 128) — Количество каналов на входе.
  • out_channels (int, необязательный, по умолчанию None) — Количество каналов на выходе. Если не указано, по умолчанию равно in_channels.
  • num_layers (int, по умолчанию 8) — Количество используемых блоков dual stream DiT.
  • num_single_layers (int, по умолчанию 48) — Количество слоев однопоточных блоков DiT, которые следует использовать.
  • attention_head_dim (int, по умолчанию 128) — Количество измерений, используемых для каждой головы внимания.
  • num_attention_heads (int, по умолчанию 48) — Количество используемых голок внимания.
  • joint_attention_dim (int, по умолчанию 15360) — Количество измерений, используемых для совместного внимания (размерность встраивания/канала для encoder_hidden_states).
  • pooled_projection_dim (int, по умолчанию 768) — Количество измерений, используемых для пул-проекции.
  • guidance_embeds (bool, по умолчанию True) — Использовать ли guidance embeddings для варианта модели, дистиллированного с помощью guidance.
  • axes_dims_rope (tuple[int], по умолчанию (32, 32, 32, 32)) — Размерности, используемые для вращательных позиционных эмбеддингов.

Модель Transformer, представленная в Flux 2.

Ссылка: https://blackforestlabs.ai/announcing-black-forest-labs/

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensor = Nonetimestep: LongTensor = Noneimg_ids: Tensor = Nonetxt_ids: Tensor = Noneguidance: Tensor = Nonejoint_attention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = Truekv_cache: Flux2KVCache | None = Nonekv_cache_mode: str | None = Nonenum_ref_tokens: int = 0ref_fixed_timestep: float = 0.0 )

Параметры

  • hidden_states (torch.Tensor формы (batch_size, image_sequence_length, in_channels)) — Входные hidden_states.
  • encoder_hidden_states (torch.Tensor формы (batch_size, text_sequence_length, joint_attention_dim)) — Условные эмбеддинги (эмбеддинги, вычисленные на основе входных условий, таких как промпты), которые следует использовать.
  • timestep (torch.LongTensor) — Используется для указания шага денойзинга.
  • img_ids (torch.Tensor) — Идентификаторы позиций изображений, используемые для вычисления вращательных позиционных эмбеддингов.
  • txt_ids (torch.Tensor) — Идентификаторы позиций текста, используемые для вычисления вращательных позиционных эмбеддингов.
  • guidance (torch.Tensor, необязательный) — Встраивание масштаба руководства, используемое для вариантов модели, дистиллированных с помощью руководства.
  • joint_attention_kwargs (dict, необязательный) — Словарь kwargs, который при указании передается в AttentionProcessor, определенный в self.processor в модуле diffusers.models.attention_processor.
  • return_dict (bool, необязательный, по умолчанию True) — Определяет, следует ли возвращать ~models.transformer_2d.Transformer2DModelOutput вместо обычного кортежа.
  • kv_cache (Flux2KVCache, необязательный) — Кэш KV для токенов референсного изображения. Если kv_cache_mode установлен в значение “extract”, создается и возвращается новый кэш. Если значение равно “cached”, предоставленный кэш используется для внедрения референсных K/V во время внимания.
  • kv_cache_mode (str, необязательный) — Одно из значений “extract” (первый шаг с референсными токенами) или “cached” (последующие шаги с использованием кэшированных референсных K/V). Если None, выполняется стандартный прямой проход без кэширования KV.
  • num_ref_tokens (int, по умолчанию 0) — Количество токенов референсного изображения, добавляемых в начало hidden_states (используется только при kv_cache_mode="extract").
  • ref_fixed_timestep (float, по умолчанию 0.0) — Фиксированный временной шаг для модуляции референсных токенов (используется только при kv_cache_mode="extract").

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

Flux2Transformer2DModelOutput

класс diffusers.models.transformers.transformer_flux2.Flux2Transformer2DModelOutput

< >

( sample: torch.Tensorkv_cache: Flux2KVCache | None = None )

Параметры

  • sample (torch.Tensor формы (batch_size, num_channels, height, width)) — Выходные скрытые состояния, обусловленные входом encoder_hidden_states.
  • kv_cache (Flux2KVCache, необязательный) — Заполненный KV-кэш для токенов опорного изображения. Возвращается только при kv_cache_mode="extract".

Вывод Flux2Transformer2DModel.

Update on GitHub