# TransformerTemporalModel

Um modelo Transformer para dados semelhantes a vídeo.

## TransformerTemporalModel[[diffusers.TransformerTemporalModel]]

#### diffusers.TransformerTemporalModel[[diffusers.TransformerTemporalModel]]

```python
diffusers.TransformerTemporalModel(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, activation_fn: str = 'geglu', norm_elementwise_affine: bool = True, double_self_attention: bool = True, positional_embeddings: str | None = None, num_positional_embeddings: int | None = None)
```

[Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_temporal.py#L41)

**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.

attention_bias (`bool`, *opcional*) : Configura se a atenção do `TransformerBlock` deve conter um parâmetro de viés.

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.

activation_fn (`str`, *opcional*, padrão `"geglu"`) : Função de ativação a ser usada no feed-forward. Consulte `diffusers.models.activations.get_activation` para as funções de ativação suportadas.

norm_elementwise_affine (`bool`, *opcional*) : Configura se o `TransformerBlock` deve usar parâmetros afins elementwise aprendíveis para normalização.

double_self_attention (`bool`, *opcional*) : Configura se cada `TransformerBlock` deve conter duas camadas de autoatenção.

positional_embeddings : (`str`, *opcional*): O tipo de embeddings posicionais a aplicar à entrada da sequência antes de passar para uso.

num_positional_embeddings : (`int`, *opcional*): O comprimento máximo da sequência sobre o qual aplicar os embeddings posicionais.

Um modelo Transformer para dados semelhantes a vídeo.

#### forward[[diffusers.TransformerTemporalModel.forward]]

```python
forward(hidden_states: Tensor, encoder_hidden_states: typing.Optional[torch.LongTensor] = None, timestep: typing.Optional[torch.LongTensor] = None, class_labels: LongTensor = None, num_frames: int = 1, cross_attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True)
```

[Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_temporal.py#L123)

**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.LongTensor` de forma `(batch size, encoder_hidden_states dim)`, *opcional*) : Embebimentos condicionais para a camada de cross attention. Se não fornecidos, a cross-attention padrão é a self-attention.

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`.

num_frames (`int`, *opcional*, padrão 1) : O número de quadros a serem processados por lote. Isso é usado para redimensionar os estados ocultos.

cross_attention_kwargs (`dict`, *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).

return_dict (`bool`, *opcional*, padrão `True`) : Se deve ou não retornar um [TransformerTemporalModelOutput](/docs/diffusers/main/pt/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput) em vez de uma tupla simples.

**Retorna:** [TransformerTemporalModelOutput](/docs/diffusers/main/pt/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput) ou `tuple`

Se `return_dict` for True, um [TransformerTemporalModelOutput](/docs/diffusers/main/pt/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput) é retornado; caso contrário, uma `tuple` em que o primeiro elemento é o tensor da amostra.

O método forward do `TransformerTemporal`.

## TransformerTemporalModelOutput[[diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput]]

#### diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput[[diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput]]

```python
diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput(sample: Tensor)
```

[Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_temporal.py#L29)

**Parâmetros:**

sample (`torch.Tensor` de forma `(batch_size x num_frames, num_channels, height, width)`) : Os estados ocultos de saída condicionados à entrada `encoder_hidden_states`.

A saída de [TransformerTemporalModel](/docs/diffusers/main/pt/api/models/transformer_temporal#diffusers.TransformerTemporalModel).

