Diffusers documentation

HunyuanDiT2DModel

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

HunyuanDiT2DModel

Um modelo Diffusion Transformer para dados 2D do Hunyuan-DiT.

HunyuanDiT2DModel

classe diffusers.HunyuanDiT2DModel

< >

( num_attention_heads: int = 16attention_head_dim: int = 88in_channels: int | None = Nonepatch_size: int | None = Noneactivation_fn: str = 'gelu-approximate'sample_size = 32hidden_size = 1152num_layers: int = 28mlp_ratio: float = 4.0learn_sigma: bool = Truecross_attention_dim: int = 1024norm_type: str = 'layer_norm'cross_attention_dim_t5: int = 2048pooled_projection_dim: int = 1024text_len: int = 77text_len_t5: int = 256use_style_cond_and_image_meta_size: bool = True )

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 88) — O número de canais em cada cabeça.
  • in_channels (int, opcional) — O número de canais na entrada e na saída (especifique se a entrada é contínua).
  • patch_size (int, opcional) — O tamanho do patch a ser usado para a entrada.
  • activation_fn (str, opcional, padrão "geglu") — Função de ativação a ser usada no feed-forward.
  • sample_size (int, opcional) — A largura das imagens latentes. Isso é fixo durante o treinamento, pois é usado para aprender um número de embeddings de posição.
  • dropout (float, opcional, padrão 0.0) — A probabilidade de dropout a ser utilizada.
  • cross_attention_dim (int, opcional) — O número de dimensões no embedding de texto do clip.
  • hidden_size (int, opcional) — O tamanho da camada oculta nas camadas de incorporação de condicionamento.
  • num_layers (int, opcional, padrão 1) — O número de camadas de blocos Transformer a serem usadas.
  • mlp_ratio (float, opcional, padrão 4.0) — A proporção do tamanho da camada oculta em relação ao tamanho da entrada.
  • learn_sigma (bool, opcional, padrão True) — Se deve prever a variância.
  • cross_attention_dim_t5 (int, opcional) — O número de dimensões no embedding de texto t5.
  • pooled_projection_dim (int, opcional) — O tamanho da projeção agregada.
  • text_len (int, opcional) — O comprimento do embedding de texto do clipe.
  • text_len_t5 (int, opcional) — O comprimento da incorporação de texto do T5.
  • use_style_cond_and_image_meta_size (bool, opcional) — Se deve ou não usar a condição de estilo e o tamanho metadados da imagem. True para versão <=1.1, False para versão >= 1.2

HunYuanDiT: modelo de difusão com um backbone de Transformer.

Herde ModelMixin e ConfigMixin para ser compatível com o sampler StableDiffusionPipeline do diffusers.

enable_forward_chunking

< >

( chunk_size: int | None = Nonedim: int = 0 )

Parâmetros

  • chunk_size (int, opcional) — O tamanho do bloco das camadas feed-forward. Se não for especificado, a camada feed-forward será executada individualmente sobre cada tensor com dim=dim.
  • dim (int, opcional, padrão 0) — A dimensão sobre a qual o cálculo feed-forward deve ser dividido em blocos. Escolha entre dim=0 (lote) ou dim=1 (comprimento da sequência).

Define o processador de atenção para usar chunking de feed forward.

forward

< >

( hidden_statestimestepencoder_hidden_states = Nonetext_embedding_mask = Noneencoder_hidden_states_t5 = Nonetext_embedding_mask_t5 = Noneimage_meta_size = Nonestyle = Noneimage_rotary_emb = Nonecontrolnet_block_samples = Nonereturn_dict = True )

Parâmetros

  • hidden_states (torch.Tensor de forma (batch size, dim, height, width)) — O tensor de entrada.
  • timestep ( torch.LongTensor, opcional) — Usado para indicar o passo de desruido.
  • encoder_hidden_states ( torch.Tensor de forma (batch size, sequence len, embed dims), opcional) — Incorporações condicionais para a camada de atenção cruzada. Esta é a saída de BertModel.
  • text_embedding_mask — torch.Tensor Uma máscara de atenção de forma (batch, key_tokens) é aplicada a encoder_hidden_states. Esta é a saída de BertModel.
  • encoder_hidden_states_t5 ( torch.Tensor de forma (batch size, sequence len, embed dims), opcional) — Incorporações condicionais para a camada de atenção cruzada. Esta é a saída do Codificador de Texto T5.
  • text_embedding_mask_t5 — torch.Tensor Uma máscara de atenção de forma (batch, key_tokens) é aplicada a encoder_hidden_states. Esta é a saída do T5 Text Encoder.
  • image_meta_size (torch.Tensor) — Embedding condicional que indica os tamanhos das imagens
  • style — torch.Tensor: Embedding condicional que indica o estilo
  • image_rotary_emb (torch.Tensor) — Os embeddings rotacionais de imagem a serem aplicados nos tensores de query e key durante o cálculo de atenção.
  • controlnet_block_samples (list de torch.Tensor, opcional) — Uma lista de tensores que, se especificada, é adicionada aos resíduos dos blocos do transformer.
  • return_dict — bool Se deve retornar um dicionário.

O método forward do HunyuanDiT2DModel.

fuse_qkv_projections

< >

( )

Ativa as projeções QKV fundidas. Para os módulos de autoatenção, todas as matrizes de projeção (ou seja, query, key, value) são fundidas. Para os módulos de atenção cruzada, as matrizes de projeção de key e value são fundidas.

> Esta API é 🧪 experimental.

set_default_attn_processor

< >

( )

Desativa os processadores de atenção personalizados e define a implementação padrão de atenção.

unfuse_qkv_projections

< >

( )

Desativa a projeção QKV fundida, se estiver habilitada.

> Esta API é 🧪 experimental.

Update on GitHub