Buckets:
| # Modelo Transformer de SD3 | |
| El modelo Transformer introducido en [Stable Diffusion 3](https://hf.co/papers/2403.03206). Su novedad radica en el bloque de transformer MMDiT. | |
| ## SD3Transformer2DModel[[diffusers.SD3Transformer2DModel]] | |
| #### diffusers.SD3Transformer2DModel[[diffusers.SD3Transformer2DModel]] | |
| ```python | |
| 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](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_sd3.py#L79) | |
| **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](https://huggingface.co/papers/2403.03206). | |
| #### enable_forward_chunking[[diffusers.SD3Transformer2DModel.enable_forward_chunking]] | |
| ```python | |
| enable_forward_chunking(chunk_size: int | None = None, dim: int = 0) | |
| ``` | |
| [Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_sd3.py#L175) | |
| **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](https://huggingface.co/blog/reformer#2-chunked-feed-forward-layers). | |
| #### forward[[diffusers.SD3Transformer2DModel.forward]] | |
| ```python | |
| 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](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_sd3.py#L248) | |
| **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](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py). | |
| 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](/docs/diffusers/main/es/api/models/sd3_transformer2d#diffusers.SD3Transformer2DModel). | |
| #### fuse_qkv_projections[[diffusers.SD3Transformer2DModel.fuse_qkv_projections]] | |
| ```python | |
| fuse_qkv_projections() | |
| ``` | |
| [Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_sd3.py#L217) | |
| 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. | |
| > [!WARNING] > Esta API es 🧪 experimental. | |
| #### unfuse_qkv_projections[[diffusers.SD3Transformer2DModel.unfuse_qkv_projections]] | |
| ```python | |
| unfuse_qkv_projections() | |
| ``` | |
| [Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_sd3.py#L239) | |
| Desactiva la proyección QKV fusionada si está habilitada. | |
| > [!WARNING] > 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.