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