Diffusers documentation

CogView3PlusTransformer2DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.43.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

CogView3PlusTransformer2DModel

Модель Diffusion Transformer для 2D-данных из CogView3Plus была представлена в работе CogView3: Finer and Faster Text-to-Image Generation via Relay Diffusion от Tsinghua University & ZhipuAI.

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

from diffusers import CogView3PlusTransformer2DModel

transformer = CogView3PlusTransformer2DModel.from_pretrained("THUDM/CogView3Plus-3b", subfolder="transformer", dtype=torch.bfloat16).to("cuda")  # or "mps", "xpu", "cpu"

CogView3PlusTransformer2DModel

класс diffusers.CogView3PlusTransformer2DModel

< >

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

Параметры

  • 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

The Transformer model introduced in CogView3: Finer and Faster Text-to-Image Generation via Relay Diffusion.

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensortimestep: LongTensororiginal_size: Tensortarget_size: Tensorcrop_coords: Tensorreturn_dict: bool = True ) → torch.Tensor or ~models.transformer_2d.Transformer2DModelOutput

Параметры

  • hidden_states (torch.Tensor) — Входные hidden_states формы (batch size, channel, height, width).
  • encoder_hidden_states (torch.Tensor) — Условные эмбеддинги (эмбеддинги, вычисленные на основе входных условий, таких как промпты) формы (batch_size, sequence_len, text_embed_dim)
  • timestep (torch.LongTensor) — Используется для указания шага денойзинга.
  • original_size (torch.Tensor) — CogView3 использует микроусловия, аналогичные SDXL, для исходного размера изображения, как описано в разделе 2.2 https://huggingface.co/papers/2307.01952.
  • target_size (torch.Tensor) — CogView3 использует микроусловия, аналогичные SDXL, для размера целевого изображения, как описано в разделе 2.2 https://huggingface.co/papers/2307.01952.
  • crop_coords (torch.Tensor) — CogView3 использует микроусловия для координат обрезки, аналогичные SDXL, как описано в разделе 2.2 статьи https://huggingface.co/papers/2307.01952.
  • return_dict (bool, необязательный, по умолчанию True) — Определяет, следует ли возвращать ~models.transformer_2d.Transformer2DModelOutput вместо обычного кортежа.

Возвращает

torch.Tensor или ~models.transformer_2d.Transformer2DModelOutput

Шумоподавленные латенты, использующие предоставленные входные данные в качестве условия.

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

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