Diffusers documentation
AuraFlowTransformer2DModel
AuraFlowTransformer2DModel
Модель Transformer для изображений из AuraFlow.
AuraFlowTransformer2DModel
класс diffusers.AuraFlowTransformer2DModel
< source >( 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
< source >( 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.
Включает объединённые проекции QKV. Для модулей само-внимания все матрицы проекций (т. е. запрос, ключ, значение) объединяются. Для модулей кросс-внимания объединяются матрицы проекций ключа и значения.
> Этот API 🧪 экспериментальный.
Отключает объединенную проекцию QKV, если она включена.
> Этот API 🧪 экспериментальный.