Diffusers documentation

CogView4Transformer2DModel

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

CogView4Transformer2DModel

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

Модель можно загрузить с помощью следующего фрагмента кода.

from diffusers import CogView4Transformer2DModel

transformer = CogView4Transformer2DModel.from_pretrained("THUDM/CogView4-6B", subfolder="transformer", dtype=torch.bfloat16).to("cuda")  # or "mps", "xpu", "cpu"

CogView4Transformer2DModel

класс diffusers.CogView4Transformer2DModel

< >

( patch_size: int = 2in_channels: int = 16out_channels: int = 16num_layers: int = 30attention_head_dim: int = 40num_attention_heads: int = 64text_embed_dim: int = 4096time_embed_dim: int = 512condition_dim: int = 256pos_embed_max_size: int = 128sample_size: int = 128rope_axes_dim: tuple = (256, 256) )

Параметры

  • 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, по умолчанию 4096) — Входное измерение текстовых эмбеддингов от текстового энкодера.
  • 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: Tensortimestep: LongTensororiginal_size: Tensortarget_size: Tensorcrop_coords: Tensorattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = Trueattention_mask: typing.Optional[torch.Tensor] = 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)) — Условные эмбеддинги (эмбеддинги, вычисленные на основе входных условий, таких как промпты), которые следует использовать.
  • timestep (torch.LongTensor) — Используется для указания шага денойзинга.
  • original_size (torch.Tensor) — Условие, задающее исходный размер изображения.
  • 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, необязательный) — Маска, применяемая к оценкам внимания.
  • image_rotary_emb (tuple из torch.Tensor, необязательный) — Предварительно вычисленные ротационные позиционные эмбеддинги.

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

Transformer2DModelOutput

класс diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Параметры

  • sample (torch.Tensor формы (batch_size, num_channels, height, width) или (batch size, num_vector_embeds - 1, num_latent_pixels), если Transformer2DModel дискретный) — Выходные скрытые состояния, обусловленные входом encoder_hidden_states. Если модель дискретная, возвращает распределения вероятностей для латентных пикселей без шума.

Вывод Transformer2DModel.

Update on GitHub