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

Um modelo Transformer para dados semelhantes a imagens do DiT.

DiTTransformer2DModel

classe 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 )

Parâmetros

  • num_attention_heads (int, opcional, padrão 16) — O número de cabeças a serem usadas para a atenção multi-cabeça.
  • attention_head_dim (int, opcional, padrão 72) — O número de canais em cada head.
  • in_channels (int, padrão 4) — O número de canais na entrada.
  • out_channels (int, opcional) — O número de canais na saída. Especifique este parâmetro se o número de canais de saída for diferente do de entrada.
  • num_layers (int, opcional, padrão 28) — O número de blocos de camadas de Transformer a serem usados.
  • dropout (float, opcional, padrão 0.0) — A probabilidade de dropout a ser utilizada nos blocos do Transformer.
  • norm_num_groups (int, opcional, padrão 32) — Número de grupos para normalização de grupo dentro dos blocos Transformer.
  • attention_bias (bool, opcional, padrão True) — Configura se a atenção dos blocos do Transformer deve conter um parâmetro de viés.
  • sample_size (int, padrão 32) — A largura das imagens latentes. Este parâmetro é fixo durante o treinamento.
  • patch_size (int, padrão 2) — Tamanho dos patches processados pelo modelo, relevante para arquiteturas que trabalham com dados não sequenciais.
  • activation_fn (str, opcional, padrão “gelu-approximate”) — Função de ativação a ser usada nas redes feed-forward dentro dos blocos Transformer.
  • num_embeds_ada_norm (int, opcional, padrão 1000) — Número de embeddings para AdaLayerNorm, fixo durante o treinamento e afeta o número máximo de etapas de desruidamento durante a inferência.
  • upcast_attention (bool, opcional, padrão False) — Se true, faz o upcast das dimensões do mecanismo de atenção para um desempenho potencialmente melhorado.
  • norm_type (str, opcional, padrão “ada_norm_zero”) — Especifica o tipo de normalização utilizado, pode ser ‘ada_norm_zero’.
  • norm_elementwise_affine (bool, opcional, padrão é False) — Se verdadeiro, habilita parâmetros afins por elemento nas camadas de normalização.
  • norm_eps (float, opcional, padrão 1e-5) — Uma pequena constante adicionada ao denominador em camadas de normalização para evitar divisão por zero.

Um modelo Transformer 2D, conforme introduzido em 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 )

Parâmetros

  • hidden_states (torch.LongTensor de forma (batch size, num latent pixels) se discreto, torch.FloatTensor de forma (batch size, channel, height, width) se contínuo) — Entrada hidden_states.
  • timestep ( torch.LongTensor, opcional) — Usado para indicar o passo de desruido. Timestep opcional a ser aplicado como um embedding em AdaLayerNorm.
  • class_labels ( torch.LongTensor de forma (batch size, num classes), opcional) — Usado para indicar rótulos de classe de condicionamento. Rótulos de classe opcionais a serem aplicados como um embedding em AdaLayerZeroNorm.
  • cross_attention_kwargs ( dict[str, Any], opcional) — Um dicionário de kwargs que, se especificado, é passado para o AttentionProcessor conforme definido em self.processor em diffusers.models.attention_processor.
  • return_dict (bool, opcional, padrão True) — Se deve ou não retornar um UNet2DConditionOutput em vez de uma tupla simples.

O método forward do DiTTransformer2DModel.

Update on GitHub