Diffusers documentation

GlmImageTransformer2DModel

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

GlmImageTransformer2DModel

Модель Diffusion Transformer для 2D-данных из [GlmImageTransformer2DModel] (TODO).

GlmImageTransformer2DModel

класс diffusers.GlmImageTransformer2DModel

< >

( patch_size: int = 2in_channels: int = 16out_channels: int = 16num_layers: int = 30attention_head_dim: int = 40num_attention_heads: int = 64text_embed_dim: int = 1472time_embed_dim: int = 512condition_dim: int = 256prior_vq_quantizer_codebook_size: int = 16384 )

Параметры

  • patch_size (int, по умолчанию 2) — Размер патчей, используемых в слое встраивания патчей.
  • in_channels (int, по умолчанию 16) — Количество каналов на входе.
  • num_layers (int, по умолчанию 30) — Количество блоков Transformer, используемых в модели.
  • attention_head_dim (int, по умолчанию 40) — Количество каналов в каждой голове.
  • num_attention_heads (int, по умолчанию 64) — Количество голов, используемых для многоголовного внимания.
  • out_channels (int, по умолчанию 16) — Количество каналов на выходе.
  • text_embed_dim (int, по умолчанию 1472) — Входное измерение текстовых эмбеддингов из текстового энкодера.
  • time_embed_dim (int, по умолчанию 512) — Размерность выходного вектора эмбеддингов временных шагов.
  • condition_dim (int, по умолчанию 256) — Размерность эмбеддинга для входных условий разрешения в стиле SDXL (original_size, target_size, crop_coords).
  • pos_embed_max_size (int, по умолчанию 128) — Максимальное разрешение позиционных эмбеддингов, из которого берутся срезы формы H x W и добавляются к входным патчеванным латентам, где H и W — высота и ширина латентов соответственно. Значение 128 означает, что максимальная поддерживаемая высота и ширина для генерации изображений равны 128 * vae_scale_factor * patch_size => 128 * 8 * 2 => 2048.
  • sample_size (int, по умолчанию 128) — Базовое разрешение входных латентов. Если при генерации не указаны высота/ширина, это значение используется для определения разрешения как sample_size * vae_scale_factor => 128 * 8 => 1024

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensorprior_token_id: Tensorprior_token_drop: Tensortimestep: LongTensortarget_size: Tensorcrop_coords: Tensorattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = Trueattention_mask: typing.Optional[torch.Tensor] = Nonekv_caches: diffusers.models.transformers.transformer_glm_image.GlmImageKVCache | None = Noneimage_rotary_emb: tuple[torch.Tensor, torch.Tensor] | list[tuple[torch.Tensor, torch.Tensor]] | None = None )

Параметры

  • hidden_states (torch.Tensor формы (batch_size, in_channels, height, width)) — Входные hidden_states.
  • encoder_hidden_states (torch.Tensor формы (batch_size, sequence_len, embed_dims)) — Условные эмбеддинги (эмбеддинги, вычисленные на основе входных условий, таких как промпты), которые следует использовать.
  • prior_token_id (torch.Tensor) — Идентификаторы токенов для поиска предыдущего эмбеддинга.
  • prior_token_drop (torch.Tensor) — Булева маска, указывающая, какие предыдущие эмбеддинги следует отбросить (обнулить).
  • timestep (torch.LongTensor) — Используется для указания шага денойзинга.
  • target_size (torch.Tensor) — Размер целевого изображения для условного формирования.
  • crop_coords (torch.Tensor) — Координаты кадрирования для условного управления.
  • attention_kwargs (dict, необязательный) — Словарь kwargs, который при указании передается в AttentionProcessor, определенный в self.processor в diffusers.models.attention_processor.
  • return_dict (bool, необязательный, по умолчанию True) — Определяет, следует ли возвращать ~models.transformer_2d.Transformer2DModelOutput вместо обычного кортежа.
  • attention_mask (torch.Tensor, необязательный) — Маска, применяемая к оценкам внимания.
  • kv_caches (GlmImageKVCache, необязательный) — Предварительно вычисленные кэши ключей/значений, используемые для ускорения вывода.
  • image_rotary_emb (tuple из torch.Tensor, необязательный) — Предварительно вычисленные ротационные позиционные эмбеддинги.

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

Update on GitHub