Buckets:

hf-doc-build/doc / diffusers /main /es /api /models /sd3_transformer2d.md
mishig's picture
|
download
raw
6.48 kB

Modelo Transformer de SD3

El modelo Transformer introducido en Stable Diffusion 3. Su novedad radica en el bloque de transformer MMDiT.

SD3Transformer2DModel[[diffusers.SD3Transformer2DModel]]

diffusers.SD3Transformer2DModel[[diffusers.SD3Transformer2DModel]]

diffusers.SD3Transformer2DModel(sample_size: int = 128, patch_size: int = 2, in_channels: int = 16, num_layers: int = 18, attention_head_dim: int = 64, num_attention_heads: int = 18, joint_attention_dim: int = 4096, caption_projection_dim: int = 1152, pooled_projection_dim: int = 2048, out_channels: int = 16, pos_embed_max_size: int = 96, dual_attention_layers: tuple[int, ...] = (), qk_norm: str | None = None)

Fuente

Parámetros:

sample_size (int, por defecto 128) : El ancho/alto de los latentes. Esto se fija durante el entrenamiento, ya que se utiliza para aprender un número de embeddings de posición.

patch_size (int, por defecto 2) : Tamaño del parche para convertir los datos de entrada en pequeños parches.

in_channels (int, por defecto 16) : El número de canales latentes en la entrada.

num_layers (int, por defecto 18) : El número de bloques de transformador a utilizar.

attention_head_dim (int, por defecto 64) : El número de canales en cada cabeza.

num_attention_heads (int, por defecto 18) : El número de cabezas a utilizar para la atención multi-cabeza.

joint_attention_dim (int, por defecto 4096) : La dimensión de embedding a utilizar para la atención conjunta de texto e imagen.

caption_projection_dim (int, por defecto 1152) : La dimensión de los embeddings de las descripciones.

pooled_projection_dim (int, por defecto 2048) : La dimensión de incrustación de las proyecciones de texto agrupadas.

out_channels (int, por defecto 16) : El número de canales latentes en la salida.

pos_embed_max_size (int, por defecto 96) : La altura/ancho máximo latente de las incorporaciones posicionales.

dual_attention_layers (tuple[int, ...], por defecto ()) : El número de bloques de transformador de doble flujo a utilizar.

qk_norm (str, opcional, valor predeterminado None) : La normalización que se utilizará para la consulta y la clave en la capa de atención. Si es None, no se utiliza ninguna normalización.

El modelo Transformer introducido en Stable Diffusion 3.

enable_forward_chunking[[diffusers.SD3Transformer2DModel.enable_forward_chunking]]

enable_forward_chunking(chunk_size: int | None = None, dim: int = 0)

Fuente

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 predeterminado 0) : La dimensión sobre la cual 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 feed forward chunking.

forward[[diffusers.SD3Transformer2DModel.forward]]

forward(hidden_states: Tensor, encoder_hidden_states: Tensor = None, pooled_projections: Tensor = None, timestep: LongTensor = None, block_controlnet_hidden_states: list = None, joint_attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True, skip_layers: list[int] | None = None)

Fuente

Parámetros:

hidden_states (torch.Tensor de forma (batch size, channel, height, width)) : hidden_states de entrada.

encoder_hidden_states (torch.Tensor de forma (batch size, sequence_len, embed_dims)) : Embeddings condicionales (embeddings calculados a partir de las condiciones de entrada, como los prompts) a utilizar.

pooled_projections (torch.Tensor de forma (batch_size, projection_dim)) : Embeddings proyectados a partir de los embeddings de las condiciones de entrada.

timestep (torch.LongTensor) : Se utiliza para indicar el paso de desruido.

block_controlnet_hidden_states (list de torch.Tensor) : Una lista de tensores que, si se especifica, se añaden a los residuos de los bloques de transformador.

joint_attention_kwargs (dict, opcional) : Un diccionario de kwargs que, si se especifica, se pasa al AttentionProcessor tal como se define bajo self.processor en 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.

skip_layers (list de int, opcional) : Una lista de índices de capas para omitir durante la pasada hacia adelante.

Devuelve:

Si return_dict es True, se devuelve un ~models.transformer_2d.Transformer2DModelOutput; en caso contrario, se devuelve una tuple cuyo primer elemento es el tensor de la muestra.

El método forward de SD3Transformer2DModel.

fuse_qkv_projections[[diffusers.SD3Transformer2DModel.fuse_qkv_projections]]

fuse_qkv_projections()

Fuente

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.

unfuse_qkv_projections[[diffusers.SD3Transformer2DModel.unfuse_qkv_projections]]

unfuse_qkv_projections()

Fuente

Desactiva la proyección QKV fusionada si está habilitada.

> Esta API es 🧪 experimental.

Xet Storage Details

Size:
6.48 kB
·
Xet hash:
ee7dbc6104e79f87b3d48cbd36311505f54da7865be0e8c8047b403cb1b61a44

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.