Diffusers documentation

ChromaTransformer2DModel

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

ChromaTransformer2DModel

Un modelo Transformer de flujo modificado de Chroma

ChromaTransformer2DModel

clase diffusers.ChromaTransformer2DModel

< >

( patch_size: int = 1in_channels: int = 64out_channels: int | None = Nonenum_layers: int = 19num_single_layers: int = 38attention_head_dim: int = 128num_attention_heads: int = 24joint_attention_dim: int = 4096axes_dims_rope: tuple = (16, 56, 56)approximator_num_channels: int = 64approximator_hidden_dim: int = 5120approximator_layers: int = 5 )

Parámetros

  • patch_size (int, por defecto 1) — Tamaño del parche para dividir los datos de entrada en parches pequeños.
  • in_channels (int, por defecto 64) — El número de canales en la entrada.
  • out_channels (int, opcional, valor predeterminado None) — El número de canales en la salida. Si no se especifica, el valor predeterminado es in_channels.
  • num_layers (int, por defecto 19) — El número de capas de bloques DiT de doble flujo a utilizar.
  • num_single_layers (int, por defecto 38) — El número de capas de bloques DiT de un solo flujo a utilizar.
  • attention_head_dim (int, por defecto 128) — El número de dimensiones a utilizar para cada cabeza de atención.
  • num_attention_heads (int, por defecto 24) — El número de cabezas de atención a utilizar.
  • joint_attention_dim (int, por defecto 4096) — El número de dimensiones a utilizar para la atención conjunta (dimensión de embedding/canal de encoder_hidden_states).
  • axes_dims_rope (tuple[int], por defecto (16, 56, 56)) — Las dimensiones a utilizar para los embeddings posicionales rotatorios.

El modelo Transformer introducido en Flux, modificado para Chroma.

Referencia: https://huggingface.co/lodestones/Chroma1-HD

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensor = Nonetimestep: LongTensor = Noneimg_ids: Tensor = Nonetxt_ids: Tensor = Noneattention_mask: Tensor = Nonejoint_attention_kwargs: dict[str, typing.Any] | None = Nonecontrolnet_block_samples = Nonecontrolnet_single_block_samples = Nonereturn_dict: bool = Truecontrolnet_blocks_repeat: bool = False )

Parámetros

  • hidden_states (torch.Tensor de forma (batch_size, image_sequence_length, in_channels)) — Estados ocultos de entrada hidden_states.
  • encoder_hidden_states (torch.Tensor de forma (batch_size, text_sequence_length, joint_attention_dim)) — Incrustaciones condicionales (incrustaciones calculadas a partir de las condiciones de entrada, como los prompts) que se deben utilizar.
  • timestep ( torch.LongTensor) — Se utiliza para indicar el paso de desruido.
  • img_ids (torch.Tensor) — ids de posición de imagen utilizados para calcular los embeddings posicionales rotatorios.
  • txt_ids (torch.Tensor) — ids de posición de texto utilizados para calcular los embeddings posicionales rotatorios.
  • attention_mask (torch.Tensor, opcional) — Máscara aplicada a encoder_hidden_states durante la atención.
  • controlnet_block_samples (list de torch.Tensor, opcional) — Una lista de tensores que, si se especifica, se añaden a los residuos de los bloques del transformer.
  • controlnet_single_block_samples (list de torch.Tensor, opcional) — Una lista de tensores que, si se especifica, se añaden a los residuos de los bloques de transformador individuales.
  • controlnet_blocks_repeat (bool, opcional, valor predeterminado False) — Si se deben repetir las muestras del bloque de controlnet en todos los bloques del transformer.
  • joint_attention_kwargs (dict, 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 ~models.transformer_2d.Transformer2DModelOutput en lugar de una tupla simple.

El método forward de FluxTransformer2DModel.

Update on GitHub