Diffusers documentation

DiTTransformer2DModel

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

DiTTransformer2DModel

Модель Transformer для изображений из DiT.

DiTTransformer2DModel

класс diffusers.DiTTransformer2DModel

< >

( num_attention_heads: int = 16attention_head_dim: int = 72in_channels: int = 4out_channels: int | None = Nonenum_layers: int = 28dropout: float = 0.0norm_num_groups: int = 32attention_bias: bool = Truesample_size: int = 32patch_size: int = 2activation_fn: str = 'gelu-approximate'num_embeds_ada_norm: int | None = 1000upcast_attention: bool = Falsenorm_type: str = 'ada_norm_zero'norm_elementwise_affine: bool = Falsenorm_eps: float = 1e-05 )

Параметры

  • num_attention_heads (int, optional, по умолчанию 16) — количество головок для использования в механизме внимания с несколькими головками.
  • attention_head_dim (int, optional, по умолчанию 72) — количество каналов в каждой голове.
  • in_channels (int, по умолчанию 4) — количество каналов на входе.
  • out_channels (int, optional) — Количество каналов на выходе. Укажите этот параметр, если количество выходных каналов отличается от входного.
  • num_layers (int, optional, по умолчанию 28) — Количество блоков Transformer, используемых в модели.
  • dropout (float, optional, по умолчанию 0.0) — Вероятность dropout, используемая внутри блоков Transformer.
  • norm_num_groups (int, optional, по умолчанию 32) — Количество групп для групповой нормализации внутри блоков Transformer.
  • attention_bias (bool, optional, по умолчанию True) — Определяет, должен ли параметр смещения (bias) присутствовать в механизме внимания блоков Transformer.
  • sample_size (int, по умолчанию 32) — Ширина латентных изображений. Этот параметр фиксируется во время обучения.
  • patch_size (int, по умолчанию 2) — Размер патчей, которые обрабатывает модель; актуально для архитектур, работающих с нелинейными данными.
  • activation_fn (str, optional, по умолчанию “gelu-approximate”) — Функция активации, используемая в полносвязных сетях внутри блоков Transformer.
  • num_embeds_ada_norm (int, optional, по умолчанию 1000) — Количество эмбеддингов для AdaLayerNorm, фиксированное во время обучения и влияющее на максимальное количество шагов денойзинга при инференсе.
  • upcast_attention (bool, optional, по умолчанию False) — Если установлено в true, повышает разрядность размерностей механизма внимания для потенциального улучшения производительности.
  • norm_type (str, optional, по умолчанию “ada_norm_zero”) — Указывает тип используемой нормализации, может быть ‘ada_norm_zero’.
  • norm_elementwise_affine (bool, optional, по умолчанию False) — Если true, включает аффинные параметры поэлементно в слоях нормализации.
  • norm_eps (float, optional, по умолчанию 1e-5) — Небольшая константа, добавляемая к знаменателю в слоях нормализации для предотвращения деления на ноль.

Двумерная модель Transformer, представленная в DiT (https://huggingface.co/papers/2212.09748).

forward

< >

( hidden_states: Tensortimestep: typing.Optional[torch.LongTensor] = Noneclass_labels: typing.Optional[torch.LongTensor] = Nonecross_attention_kwargs: dict = Nonereturn_dict: bool = True )

Параметры

  • hidden_states (torch.LongTensor формы (batch size, num latent pixels) для дискретных, torch.FloatTensor формы (batch size, channel, height, width) для непрерывных) — Входные hidden_states.
  • timestep ( torch.LongTensor, необязательный) — Используется для указания шага денойзинга. Необязательный timestep, применяемый как эмбеддинг в AdaLayerNorm.
  • class_labels ( torch.LongTensor формы (batch size, num classes), необязательный) — Используется для указания условий по меткам классов. Необязательные метки классов, применяемые как эмбеддинг в AdaLayerZeroNorm.
  • cross_attention_kwargs ( dict[str, Any], необязательный) — Словарь kwargs, который при указании передается в AttentionProcessor, определенный в self.processor в diffusers.models.attention_processor.
  • return_dict (bool, необязательный, по умолчанию True) — Определяет, следует ли возвращать UNet2DConditionOutput вместо обычного кортежа.

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

Update on GitHub