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

Un modelo Transformer para datos similares a imágenes de DiT.

DiTTransformer2DModel

clase 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, valor predeterminado 16) — El número de cabezas a utilizar para la atención multi-cabeza.
  • attention_head_dim (int, opcional, valor predeterminado 72) — El número de canales en cada cabeza.
  • in_channels (int, valor predeterminado 4) — El número de canales en la entrada.
  • out_channels (int, opcional) — El número de canales en la salida. Especifique este parámetro si el número de canales de salida difiere del de entrada.
  • num_layers (int, opcional, valor predeterminado 28) — El número de capas de bloques Transformer a utilizar.
  • dropout (float, opcional, valor predeterminado 0.0) — La probabilidad de dropout a utilizar dentro de los bloques Transformer.
  • norm_num_groups (int, opcional, valor predeterminado 32) — Número de grupos para la normalización de grupos dentro de los bloques Transformer.
  • attention_bias (bool, opcional, predeterminado a True) — Configura si la atención de los bloques Transformer debe incluir un parámetro de sesgo.
  • sample_size (int, valor predeterminado 32) — El ancho de las imágenes latentes. Este parámetro se fija durante el entrenamiento.
  • patch_size (int, valor predeterminado 2) — Tamaño de los parches que procesa el modelo, relevante para arquitecturas que trabajan con datos no secuenciales.
  • activation_fn (str, opcional, predeterminado a “gelu-approximate”) — Función de activación a utilizar en las redes feed-forward dentro de los bloques Transformer.
  • num_embeds_ada_norm (int, opcional, valor predeterminado 1000) — Número de embeddings para AdaLayerNorm, fijo durante el entrenamiento y afecta los pasos máximos de desruido durante la inferencia.
  • upcast_attention (bool, opcional, predeterminado a False) — Si es true, convierte las dimensiones del mecanismo de atención a un tipo de mayor precisión para un posible mejor rendimiento.
  • norm_type (str, opcional, por defecto “ada_norm_zero”) — Especifica el tipo de normalización utilizado, puede ser ‘ada_norm_zero’.
  • norm_elementwise_affine (bool, opcional, predeterminado a False) — Si es true, habilita los parámetros afines por elemento en las capas de normalización.
  • norm_eps (float, opcional, valor predeterminado 1e-5) — Una constante pequeña que se suma al denominador en las capas de normalización para evitar la división por cero.

Un modelo Transformer 2D tal como se introdujo en 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) si es discreto, torch.FloatTensor de forma (batch size, channel, height, width) si es continuo) — Entrada hidden_states.
  • timestep ( torch.LongTensor, opcional) — Se utiliza para indicar el paso de desruido. Paso temporal opcional que se aplica como un embedding en AdaLayerNorm.
  • class_labels ( torch.LongTensor de forma (batch size, num classes), opcional) — Se utiliza para indicar las etiquetas de clase de condicionamiento. Etiquetas de clase opcionales que se aplican como un embedding en AdaLayerZeroNorm.
  • cross_attention_kwargs ( dict[str, Any], opcional) — Un diccionario de kwargs que, si se especifica, se pasa al AttentionProcessor definido en self.processor dentro de diffusers.models.attention_processor.
  • return_dict (bool, opcional, valor predeterminado True) — Indica si se debe devolver un UNet2DConditionOutput en lugar de una tupla simple.

El método forward de DiTTransformer2DModel.

Update on GitHub