Diffusers documentation

HunyuanDiT2DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

HunyuanDiT2DModel

Модель Diffusion Transformer для 2D-данных из Hunyuan-DiT.

HunyuanDiT2DModel

класс diffusers.HunyuanDiT2DModel

< >

( num_attention_heads: int = 16attention_head_dim: int = 88in_channels: int | None = Nonepatch_size: int | None = Noneactivation_fn: str = 'gelu-approximate'sample_size = 32hidden_size = 1152num_layers: int = 28mlp_ratio: float = 4.0learn_sigma: bool = Truecross_attention_dim: int = 1024norm_type: str = 'layer_norm'cross_attention_dim_t5: int = 2048pooled_projection_dim: int = 1024text_len: int = 77text_len_t5: int = 256use_style_cond_and_image_meta_size: bool = True )

Параметры

  • num_attention_heads (int, необязательный, по умолчанию 16) — Количество голов, используемых для многоголовного внимания.
  • attention_head_dim (int, необязательный, по умолчанию 88) — Количество каналов в каждой голове.
  • in_channels (int, необязательный) — Количество каналов на входе и выходе (укажите, если вход непрерывный).
  • patch_size (int, необязательный) — Размер патча, используемого для входных данных.
  • activation_fn (str, необязательный, по умолчанию "geglu") — Функция активации, используемая в полносвязном слое.
  • sample_size (int, необязательный) — Ширина латентных изображений. Это значение фиксировано во время обучения, поскольку используется для обучения набора позиционных эмбеддингов.
  • dropout (float, необязательный, по умолчанию 0.0) — Вероятность dropout, которую следует использовать.
  • cross_attention_dim (int, необязательный) — Количество измерений в текстовом эмбеддинге CLIP.
  • hidden_size (int, необязательный) — Размер скрытого слоя в слоях условного эмбеддинга.
  • num_layers (int, необязательный, по умолчанию 1) — Количество блоков Transformer, которые следует использовать.
  • mlp_ratio (float, необязательный, по умолчанию 4.0) — Соотношение размера скрытого слоя к размеру входа.
  • learn_sigma (bool, необязательный, по умолчанию True) — Следует ли предсказывать дисперсию.
  • cross_attention_dim_t5 (int, необязательный) — Количество измерений в текстовом эмбеддинге t5.
  • pooled_projection_dim (int, необязательный) — Размер пул-проекции.
  • text_len (int, необязательный) — Длина текстового эмбеддинга клипа.
  • text_len_t5 (int, необязательный) — Длина текстового эмбеддинга T5.
  • use_style_cond_and_image_meta_size (bool, необязательный) — Использовать ли условие стиля и мета-размер изображения. True для версии <=1.1, False для версии >= 1.2

HunYuanDiT: диффузионная модель с трансформерным каркасом.

Наследуйте ModelMixin и ConfigMixin, чтобы обеспечить совместимость с сэмплером StableDiffusionPipeline из diffusers.

enable_forward_chunking

< >

( chunk_size: int | None = Nonedim: int = 0 )

Параметры

  • chunk_size (int, необязательный) — Размер блока для полносвязных слоёв. Если не указан, полносвязный слой будет выполняться отдельно для каждого тензора с dim=dim.
  • dim (int, необязательный, по умолчанию 0) — Размерность, по которой вычисления в блоке прямой передачи (feed-forward) должны быть разбиты на части. Выберите dim=0 (размер батча) или dim=1 (длина последовательности).

Устанавливает процессор внимания для использования feed forward chunking.

forward

< >

( hidden_statestimestepencoder_hidden_states = Nonetext_embedding_mask = Noneencoder_hidden_states_t5 = Nonetext_embedding_mask_t5 = Noneimage_meta_size = Nonestyle = Noneimage_rotary_emb = Nonecontrolnet_block_samples = Nonereturn_dict = True )

Параметры

  • hidden_states (torch.Tensor формы (batch size, dim, height, width)) — Входной тензор.
  • timestep ( torch.LongTensor, необязательный) — Используется для указания шага денойзинга.
  • encoder_hidden_states ( torch.Tensor формы (batch size, sequence len, embed dims), необязательный) — Условные эмбеддинги для слоя кросс-внимания. Это выход BertModel.
  • text_embedding_mask — torch.Tensor Маска внимания формы (batch, key_tokens) применяется к encoder_hidden_states. Это выход BertModel.
  • encoder_hidden_states_t5 ( torch.Tensor формы (batch size, sequence len, embed dims), необязательный) — Условные эмбеддинги для слоя кросс-внимания. Это выход текстового энкодера T5.
  • text_embedding_mask_t5 — torch.Tensor Маска внимания формы (batch, key_tokens) применяется к encoder_hidden_states. Это выход T5 Text Encoder.
  • image_meta_size (torch.Tensor) — Условное вложение, указывающее размеры изображений
  • style — torch.Tensor: Условное вложение, указывающее на стиль
  • image_rotary_emb (torch.Tensor) — Вращательные эмбеддинги изображения, применяемые к тензорам запросов и ключей при вычислении внимания.
  • controlnet_block_samples (list из torch.Tensor, необязательный) — Список тензоров, которые при указании добавляются к остаткам блоков трансформера.
  • return_dict — bool Определяет, следует ли возвращать словарь.

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

fuse_qkv_projections

< >

( )

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

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

set_default_attn_processor

< >

( )

Отключает пользовательские обработчики внимания и устанавливает реализацию внимания по умолчанию.

unfuse_qkv_projections

< >

( )

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

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

Update on GitHub