Diffusers documentation

AuraFlowTransformer2DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.43.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AuraFlowTransformer2DModel

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

AuraFlowTransformer2DModel

класс diffusers.AuraFlowTransformer2DModel

< >

( sample_size: int = 64patch_size: int = 2in_channels: int = 4num_mmdit_layers: int = 4num_single_dit_layers: int = 32attention_head_dim: int = 256num_attention_heads: int = 12joint_attention_dim: int = 2048caption_projection_dim: int = 3072out_channels: int = 4pos_embed_max_size: int = 1024 )

Параметры

  • sample_size (int) — Ширина латентных изображений. Это значение фиксировано во время обучения, поскольку используется для обучения набора позиционных эмбеддингов.
  • patch_size (int) — Размер патча для разбиения входных данных на небольшие патчи.
  • in_channels (int, необязательный, по умолчанию 4) — Количество каналов на входе.
  • num_mmdit_layers (int, необязательный, по умолчанию 4) — Количество слоев блоков трансформера MMDiT, которые следует использовать.
  • num_single_dit_layers (int, необязательный, по умолчанию 32) — Количество блоков Transformer, которые следует использовать. Эти блоки используют конкатенированные представления изображения и текста.
  • attention_head_dim (int, необязательный, по умолчанию 256) — количество каналов в каждой голове.
  • num_attention_heads (int, необязательный, по умолчанию 12) — количество головок для использования в механизме multi-head attention.
  • joint_attention_dim (int, необязательный) — Количество измерений encoder_hidden_states, которые следует использовать.
  • caption_projection_dim (int) — Количество измерений, используемых при проецировании encoder_hidden_states.
  • out_channels (int, по умолчанию 4) — Количество выходных каналов.
  • pos_embed_max_size (int, по умолчанию 1024) — максимальное количество позиций для встраивания из латентов изображения.

Двумерная модель Transformer, представленная в AuraFlow (https://blog.fal.ai/auraflow/).

forward

< >

( hidden_states: FloatTensorencoder_hidden_states: FloatTensor = Nonetimestep: LongTensor = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )

Параметры

  • hidden_states (torch.FloatTensor формы (batch size, channel, height, width)) — Входные hidden_states.
  • encoder_hidden_states (torch.FloatTensor формы (batch size, sequence_len, embed_dims)) — Условные эмбеддинги (эмбеддинги, вычисленные на основе входных условий, таких как промпты), которые следует использовать.
  • timestep (torch.LongTensor) — Используется для указания шага денойзинга.
  • attention_kwargs (dict, необязательный) — Словарь kwargs, который при указании передается в AttentionProcessor, определенный в self.processor в diffusers.models.attention_processor.
  • return_dict (bool, необязательный, по умолчанию True) — Определяет, следует ли возвращать ~models.transformer_2d.Transformer2DModelOutput вместо обычного кортежа.

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

fuse_qkv_projections

< >

( )

Включает объединённые проекции QKV. Для модулей само-внимания все матрицы проекций (т. е. запрос, ключ, значение) объединяются. Для модулей кросс-внимания объединяются матрицы проекций ключа и значения.

> Этот API 🧪 экспериментальный.

unfuse_qkv_projections

< >

( )

Отключает объединенную проекцию QKV, если она включена.

> Этот API 🧪 экспериментальный.

Update on GitHub