Buckets:
| # Transformer2DModel | |
| Um modelo Transformer para dados semelhantes a imagens da [CompVis](https://huggingface.co/CompVis) que é baseado no [Vision Transformer](https://huggingface.co/papers/2010.11929) introduzido por Dosovitskiy et al. O [Transformer2DModel](/docs/diffusers/main/pt/api/models/transformer2d#diffusers.Transformer2DModel) aceita entradas discretas (classes de embeddings de vetores) ou contínuas (embeddings reais). | |
| Quando a entrada é **contínua**: | |
| 1. Projete a entrada e redimensione-a para `(batch_size, sequence_length, feature_dimension)`. | |
| 2. Aplique os blocos Transformer da maneira padrão. | |
| 3. Redimensionar para imagem. | |
| Quando a entrada é **discreta**: | |
| > [!TIP] | |
| > Pressupõe-se que uma das classes de entrada seja o pixel latente mascarado. As classes previstas da imagem sem ruído não contêm uma previsão para o pixel mascarado, pois a imagem sem ruído não pode ser mascarada. | |
| 1. Converte a entrada (classes de pixels latentes) em embeddings e aplica embeddings posicionais. | |
| 2. Aplique os blocos Transformer da maneira padrão. | |
| 3. Preveja as classes da imagem sem ruído. | |
| ## Transformer2DModel[[diffusers.Transformer2DModel]] | |
| #### diffusers.Transformer2DModel[[diffusers.Transformer2DModel]] | |
| ```python | |
| diffusers.Transformer2DModel(num_attention_heads: int = 16, attention_head_dim: int = 88, in_channels: int | None = None, out_channels: int | None = None, num_layers: int = 1, dropout: float = 0.0, norm_num_groups: int = 32, cross_attention_dim: int | None = None, attention_bias: bool = False, sample_size: int | None = None, num_vector_embeds: int | None = None, patch_size: int | None = None, activation_fn: str = 'geglu', num_embeds_ada_norm: int | None = None, use_linear_projection: bool = False, only_cross_attention: bool = False, double_self_attention: bool = False, upcast_attention: bool = False, norm_type: str = 'layer_norm', norm_elementwise_affine: bool = True, norm_eps: float = 1e-05, attention_type: str = 'default', caption_channels: int = None, interpolation_scale: float = None, use_additional_conditions: bool | None = None) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_2d.py#L39) | |
| **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 head. | |
| in_channels (`int`, *opcional*) : O número de canais na entrada e na saída (especifique se a entrada é **contínua**). | |
| num_layers (`int`, *opcional*, padrão 1) : O número de blocos de Transformer a serem usados. | |
| 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 de `encoder_hidden_states` a serem usadas. | |
| sample_size (`int`, *opcional*) : A largura das imagens latentes (especifique se a entrada é **discreta**). Isso é fixo durante o treinamento, pois é usado para aprender um número de embeddings de posição. | |
| num_vector_embeds (`int`, *opcional*) : O número de classes dos embeddings vetoriais dos pixels latentes (especifique se a entrada é **discreta**). Inclui a classe para o pixel latente mascarado. | |
| activation_fn (`str`, *opcional*, padrão `"geglu"`) : Função de ativação a ser usada no feed-forward. | |
| num_embeds_ada_norm ( `int`, *opcional*) : O número de etapas de difusão usadas durante o treinamento. Passe se pelo menos uma das norm_layers for `AdaLayerNorm`. Isso é fixo durante o treinamento, pois é usado para aprender um número de embeddings que são adicionados aos estados ocultos. Durante a inferência, você pode desruidar para até, mas não mais etapas do que `num_embeds_ada_norm`. | |
| attention_bias (`bool`, *opcional*) : Configura se a atenção dos `TransformerBlocks` deve conter um parâmetro de viés. | |
| Um modelo Transformer 2D para dados semelhantes a imagens. | |
| #### forward[[diffusers.Transformer2DModel.forward]] | |
| ```python | |
| forward(hidden_states: Tensor, encoder_hidden_states: typing.Optional[torch.Tensor] = None, timestep: typing.Optional[torch.LongTensor] = None, added_cond_kwargs: dict[str, torch.Tensor] = None, class_labels: typing.Optional[torch.LongTensor] = None, cross_attention_kwargs: dict[str, typing.Any] = None, attention_mask: typing.Optional[torch.Tensor] = None, encoder_attention_mask: typing.Optional[torch.Tensor] = None, return_dict: bool = True) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_2d.py#L324) | |
| **Parâmetros:** | |
| hidden_states (`torch.LongTensor` de forma `(batch size, num latent pixels)` se discreto, `torch.Tensor` de forma `(batch size, channel, height, width)` se contínuo) : `hidden_states` de entrada. | |
| encoder_hidden_states ( `torch.Tensor` de forma `(batch size, sequence len, embed dims)`, *opcional*) : Embebidings condicionais para a camada de atenção cruzada. Se não fornecidos, a atenção cruzada padrão é a autoatenção. | |
| timestep ( `torch.LongTensor`, *opcional*) : Usado para indicar o passo de desruidamento. Timestep opcional a ser aplicado como um embedding em `AdaLayerNorm`. | |
| class_labels ( `torch.LongTensor` de forma `(batch size, num classes)`, *opcional*) : Usado para indicar o condicionamento por rótulos de classe. Rótulos de classe opcionais a serem aplicados como um embedding em `AdaLayerZeroNorm`. | |
| cross_attention_kwargs ( `dict[str, Any]`, *opcional*) : Um dicionário de kwargs que, se especificado, é passado para o `AttentionProcessor` conforme definido em `self.processor` em [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py). | |
| attention_mask ( `torch.Tensor`, *opcional*) : Uma máscara de atenção com forma `(batch, key_tokens)` é aplicada a `encoder_hidden_states`. Se `1`, a máscara é mantida; caso contrário, se `0`, ela é descartada. A máscara será convertida em um viés, que adiciona valores negativos grandes às pontuações de atenção correspondentes aos tokens "descartados". | |
| encoder_attention_mask ( `torch.Tensor`, *opcional*) : Máscara de atenção cruzada aplicada a `encoder_hidden_states`. Dois formatos suportados: * Máscara `(batch, sequence_length)` True = manter, False = descartar. * Viés `(batch, 1, sequence_length)` 0 = manter, -10000 = descartar. Se `ndim == 2`: será interpretada como uma máscara e, em seguida, convertida em um viés consistente com o formato acima. Esse viés será adicionado às pontuações de atenção cruzada. | |
| return_dict (`bool`, *opcional*, padrão `True`) : Se deve ou não retornar um [UNet2DConditionOutput](/docs/diffusers/main/pt/api/models/unet2d-cond#diffusers.models.unets.unet_2d_condition.UNet2DConditionOutput) em vez de uma tupla simples. | |
| **Retorna:** | |
| Se `return_dict` for True, um `Transformer2DModelOutput` é retornado; caso contrário, uma `tuple` em que o primeiro elemento é o tensor da amostra. | |
| O método forward do [Transformer2DModel](/docs/diffusers/main/pt/api/models/transformer2d#diffusers.Transformer2DModel). | |
| ## Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]] | |
| #### diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]] | |
| ```python | |
| diffusers.models.modeling_outputs.Transformer2DModelOutput(sample: torch.Tensor) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/modeling_outputs.py#L21) | |
| **Parâmetros:** | |
| sample (`torch.Tensor` de forma `(batch_size, num_channels, height, width)` ou `(batch size, num_vector_embeds - 1, num_latent_pixels)` se [Transformer2DModel](/docs/diffusers/main/pt/api/models/transformer2d#diffusers.Transformer2DModel) for discreto) : A saída dos estados ocultos condicionada à entrada `encoder_hidden_states`. Se discreto, retorna distribuições de probabilidade para os pixels latentes sem ruído. | |
| A saída de [Transformer2DModel](/docs/diffusers/main/pt/api/models/transformer2d#diffusers.Transformer2DModel). | |
Xet Storage Details
- Size:
- 8.14 kB
- Xet hash:
- 2ea6f66a393680711d5926bcf72f628a640db6b7945259578c23ca69a218c201
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.