Diffusers documentation
HunyuanDiT2DModel
HunyuanDiT2DModel
Un modelo Diffusion Transformer para datos 2D de Hunyuan-DiT.
HunyuanDiT2DModel
clase diffusers.HunyuanDiT2DModel
< source >( 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, valor predeterminado 16) — El número de cabezas a utilizar para la atención multi-cabeza. - attention_head_dim (
int, opcional, valor predeterminado 88) — El número de canales en cada cabeza. - in_channels (
int, opcional) — El número de canales en la entrada y la salida (especifícalo si la entrada es continua). - patch_size (
int, opcional) — El tamaño del parche a utilizar para la entrada. - activation_fn (
str, opcional, valor predeterminado"geglu") — Función de activación a utilizar en la red feed-forward. - sample_size (
int, opcional) — El ancho de las imágenes latentes. Esto se fija durante el entrenamiento, ya que se utiliza para aprender un número de embeddings de posición. - dropout (
float, opcional, valor predeterminado 0.0) — La probabilidad de dropout a utilizar. - cross_attention_dim (
int, opcional) — El número de dimensiones en el embedding de texto de clip. - hidden_size (
int, opcional) — El tamaño de la capa oculta en las capas de incrustación de condicionamiento. - num_layers (
int, opcional, valor predeterminado 1) — El número de capas de bloques Transformer a utilizar. - mlp_ratio (
float, opcional, valor predeterminado 4.0) — La proporción entre el tamaño de la capa oculta y el tamaño de la entrada. - learn_sigma (
bool, opcional, valor predeterminadoTrue) — Si se debe predecir la varianza. - cross_attention_dim_t5 (
int, opcional) — El número de dimensiones en la incrustación de texto de t5. - pooled_projection_dim (
int, opcional) — El tamaño de la proyección agrupada. - text_len (
int, opcional) — La longitud del embedding de texto del clip. - text_len_t5 (
int, opcional) — La longitud de la incrustación de texto de T5. - use_style_cond_and_image_meta_size (
bool, opcional) — Si se usa o no la condición de estilo y el tamaño meta de la imagen. True para versión <=1.1, False para versión >= 1.2
HunYuanDiT: modelo de difusión con un esqueleto Transformer.
Hereda de ModelMixin y ConfigMixin para ser compatible con el sampler StableDiffusionPipeline de diffusers.
enable_forward_chunking
< source >( chunk_size: int | None = Nonedim: int = 0 )
Parámetros
- chunk_size (
int, opcional) — El tamaño de bloque de las capas feed-forward. Si no se especifica, se ejecutará la capa feed-forward de forma individual sobre cada tensor con dim=dim. - dim (
int, opcional, valor predeterminado0) — La dimensión sobre la que se debe dividir en bloques el cálculo de la red feed-forward. Elija entre dim=0 (lote) o dim=1 (longitud de la secuencia).
Establece el procesador de atención para usar fragmentación de avance hacia adelante.
forward
< source >( 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.Tensorde forma(batch size, dim, height, width)) — El tensor de entrada. - timestep (
torch.LongTensor, opcional) — Se utiliza para indicar el paso de desruido. - encoder_hidden_states (
torch.Tensorde forma(batch size, sequence len, embed dims), opcional) — Incrustados condicionales para la capa de atención cruzada. Esta es la salida deBertModel. - text_embedding_mask — torch.Tensor
Se aplica una máscara de atención de forma
(batch, key_tokens)aencoder_hidden_states. Esta es la salida deBertModel. - encoder_hidden_states_t5 (
torch.Tensorde forma(batch size, sequence len, embed dims), opcional) — Incrustados condicionales para la capa de atención cruzada. Esta es la salida del codificador de texto de T5. - text_embedding_mask_t5 — torch.Tensor
Se aplica una máscara de atención de forma
(batch, key_tokens)aencoder_hidden_states. Esta es la salida del codificador de texto de T5. - image_meta_size (torch.Tensor) — Embedding condicional que indica los tamaños de las imágenes
- style — torch.Tensor: Incrustado condicional que indica el estilo
- image_rotary_emb (
torch.Tensor) — Los embeddings rotatorios de imagen que se aplican a los tensores de consulta y clave durante el cálculo de la atención. - controlnet_block_samples (
listdetorch.Tensor, opcional) — Una lista de tensores que, si se especifica, se añaden a los residuos de los bloques del transformer. - return_dict — bool Si se debe devolver un diccionario.
El método forward de HunyuanDiT2DModel.
Habilita las proyecciones QKV fusionadas. Para los módulos de autoatención, todas las matrices de proyección (es decir, consulta, clave y valor) se fusionan. Para los módulos de atención cruzada, las matrices de proyección de clave y valor se fusionan.
> Esta API es 🧪 experimental.
Desactiva los procesadores de atención personalizados y establece la implementación de atención predeterminada.
Desactiva la proyección QKV fusionada si está habilitada.
> Esta API es 🧪 experimental.