Buckets:
PixArtTransformer2DModel
Um modelo Transformer para dados semelhantes a imagens do PixArt-Alpha e do PixArt-Sigma.
PixArtTransformer2DModel[[diffusers.PixArtTransformer2DModel]]
diffusers.PixArtTransformer2DModel[[diffusers.PixArtTransformer2DModel]]
diffusers.PixArtTransformer2DModel(num_attention_heads: int = 16, attention_head_dim: int = 72, in_channels: int = 4, out_channels: int | None = 8, num_layers: int = 28, dropout: float = 0.0, norm_num_groups: int = 32, cross_attention_dim: int | None = 1152, attention_bias: bool = True, sample_size: int = 128, patch_size: int = 2, activation_fn: str = 'gelu-approximate', num_embeds_ada_norm: int | None = 1000, upcast_attention: bool = False, norm_type: str = 'ada_norm_single', norm_elementwise_affine: bool = False, norm_eps: float = 1e-06, interpolation_scale: int | None = None, use_additional_conditions: bool | None = None, caption_channels: int | None = None, attention_type: str | None = 'default')
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 72) : O número de canais em cada head.
in_channels (int, padrão 4) : O número de canais na entrada.
out_channels (int, opcional) : O número de canais na saída. Especifique este parâmetro se o número de canais de saída for diferente do de entrada.
num_layers (int, opcional, padrão 28) : O número de blocos de camadas de Transformer a serem usados.
dropout (float, opcional, padrão 0.0) : A probabilidade de dropout a ser utilizada nos blocos do Transformer.
norm_num_groups (int, opcional, padrão 32) : Número de grupos para a normalização de grupos dentro dos blocos do Transformer.
cross_attention_dim (int, opcional) : A dimensionalidade para as camadas de atenção cruzada, geralmente correspondendo à dimensão oculta do codificador.
attention_bias (bool, opcional, padrão True) : Configura se a atenção dos blocos do Transformer deve conter um parâmetro de viés.
sample_size (int, padrão 128) : A largura das imagens latentes. Este parâmetro é fixado durante o treinamento.
patch_size (int, padrão 2) : Tamanho dos patches que o modelo processa, relevante para arquiteturas que trabalham com dados não sequenciais.
activation_fn (str, opcional, padrão "gelu-approximate") : Função de ativação a ser usada nas redes feed-forward dentro dos blocos Transformer.
num_embeds_ada_norm (int, opcional, padrão 1000) : Número de embeddings para AdaLayerNorm, fixado durante o treinamento e afeta o número máximo de etapas de desruidamento durante a inferência.
upcast_attention (bool, opcional, padrão é False) : Se verdadeiro, faz o upcast das dimensões do mecanismo de atenção para um desempenho potencialmente melhorado.
norm_type (str, opcional, padrão "ada_norm_zero") : Especifica o tipo de normalização usado, pode ser 'ada_norm_zero'.
norm_elementwise_affine (bool, opcional, padrão é False) : Se verdadeiro, habilita parâmetros afins elemento a elemento nas camadas de normalização.
norm_eps (float, opcional, padrão 1e-6) : Uma pequena constante adicionada ao denominador em camadas de normalização para evitar divisão por zero.
interpolation_scale (int, opcional) : Fator de escala a ser usado durante a interpolação dos embeddings de posição.
use_additional_conditions (bool, opcional) : Se estamos usando condições adicionais como entradas.
attention_type (str, opcional, padrão "default") : Tipo de mecanismo de atenção a ser utilizado.
caption_channels (int, opcional, padrão None) : Número de canais a serem usados para projetar os embeddings da legenda.
use_linear_projection (bool, opcional, padrão é False) : Argumento obsoleto. Será removido em uma versão futura.
num_vector_embeds (bool, opcional, padrão é False) : Argumento obsoleto. Será removido em uma versão futura.
Um modelo Transformer 2D, conforme introduzido na família de modelos PixArt (https://huggingface.co/papers/2310.00426, https://huggingface.co/papers/2403.04692).
forward[[diffusers.PixArtTransformer2DModel.forward]]
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, 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)
Parâmetros:
hidden_states (torch.FloatTensor de forma (batch size, channel, height, width)) : hidden_states de entrada.
encoder_hidden_states (torch.FloatTensor 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. Passo de tempo opcional a ser aplicado como um embedding em AdaLayerNorm.
added_cond_kwargs : (dict[str, Any], opcional): Condições adicionais a serem usadas como entradas.
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.
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 em vez de uma tupla simples.
Retorna:
Se return_dict for True, um ~models.transformer_2d.Transformer2DModelOutput é retornado; caso contrário, uma tuple onde o primeiro elemento é o tensor da amostra.
O método forward do PixArtTransformer2DModel.
fuse_qkv_projections[[diffusers.PixArtTransformer2DModel.fuse_qkv_projections]]
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[[diffusers.PixArtTransformer2DModel.set_default_attn_processor]]
set_default_attn_processor()
Desativa os processadores de atenção personalizados e define a implementação padrão de atenção.
É seguro usar apenas AttnProcessor(), pois o PixArt não possui processadores de atenção exóticos no modelo padrão.
unfuse_qkv_projections[[diffusers.PixArtTransformer2DModel.unfuse_qkv_projections]]
unfuse_qkv_projections()
Desativa a projeção QKV fundida, se estiver habilitada.
> Esta API é 🧪 experimental.
Xet Storage Details
- Size:
- 8.71 kB
- Xet hash:
- 58f6268fb8c549cc0601422a2c19f25309db4ec29602f5571d54a76e55aebec4
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.