# TransformerTemporalModel

Un modèle Transformer pour des données de type vidéo.

## 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)
```

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

**Paramètres :**

num_attention_heads (`int`, *facultatif*, valeur par défaut 16) : Le nombre de têtes à utiliser pour l'attention multi-têtes.

attention_head_dim (`int`, *facultatif*, valeur par défaut 88) : Le nombre de canaux dans chaque tête.

in_channels (`int`, *facultatif*) : Le nombre de canaux dans l'entrée et la sortie (à spécifier si l'entrée est **continue**).

num_layers (`int`, *facultatif*, valeur par défaut 1) : Le nombre de blocs Transformer à utiliser.

dropout (`float`, *facultatif*, par défaut 0.0) : La probabilité de dropout à utiliser.

cross_attention_dim (`int`, *facultatif*) : Le nombre de dimensions de `encoder_hidden_states` à utiliser.

attention_bias (`bool`, *facultatif*) : Configure si l'attention du `TransformerBlock` doit contenir un paramètre de biais.

sample_size (`int`, *facultatif*) : La largeur des images latentes (à spécifier si l'entrée est **discrète**). Cette valeur est fixe pendant l'entraînement, car elle est utilisée pour apprendre un nombre d'embeddings de position.

activation_fn (`str`, *facultatif*, par défaut `"geglu"`) : Fonction d'activation à utiliser dans le réseau de neurones à propagation avant. Consultez `diffusers.models.activations.get_activation` pour les fonctions d'activation prises en charge.

norm_elementwise_affine (`bool`, *facultatif*) : Configure si le `TransformerBlock` doit utiliser des paramètres affines élément par élément apprenables pour la normalisation.

double_self_attention (`bool`, *facultatif*) : Configure si chaque `TransformerBlock` doit contenir deux couches d'auto-attention.

positional_embeddings : (`str`, *facultatif*) : Le type d'embeddings positionnels à appliquer à l'entrée de la séquence avant utilisation.

num_positional_embeddings : (`int`, *facultatif*): La longueur maximale de la séquence sur laquelle appliquer les embeddings positionnels.

Un modèle Transformer pour des données de type vidéo.

#### 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)
```

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

**Paramètres :**

hidden_states (`torch.LongTensor` de forme `(batch size, num latent pixels)` si discret, `torch.Tensor` de forme `(batch size, channel, height, width)` si continu) : hidden_states d'entrée.

encoder_hidden_states ( `torch.LongTensor` de forme `(batch size, encoder_hidden_states dim)`, *facultatif*) : Incrustations conditionnelles pour la couche d'attention croisée. Si non fournies, l'attention croisée se comporte par défaut comme une auto-attention.

timestep ( `torch.LongTensor`, *facultatif*) : Sert à indiquer l'étape de débruitage. Pas de temps facultatif à appliquer en tant qu'embedding dans `AdaLayerNorm`.

class_labels ( `torch.LongTensor` de forme `(batch size, num classes)`, *facultatif*) : Utilisé pour indiquer le conditionnement par étiquettes de classe. Étiquettes de classe facultatives à appliquer sous forme d'embedding dans `AdaLayerZeroNorm`.

num_frames (`int`, *facultatif*, valeur par défaut 1) : Le nombre d'images à traiter par lot. Cette valeur est utilisée pour redimensionner les états cachés.

cross_attention_kwargs (`dict`, *facultatif*) : Un dictionnaire de kwargs qui, s'il est spécifié, est transmis à l'`AttentionProcessor` tel que défini sous `self.processor` dans [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py).

return_dict (`bool`, *facultatif*, par défaut `True`) : Indique s'il faut retourner un [TransformerTemporalModelOutput](/docs/diffusers/main/fr/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput) plutôt qu'un simple tuple.

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

Si `return_dict` est True, un [TransformerTemporalModelOutput](/docs/diffusers/main/fr/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput) est renvoyé, sinon un `tuple` dont le premier élément est le tenseur d'échantillon.

La méthode forward de `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)
```

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

**Paramètres :**

sample (`torch.Tensor` de forme `(batch_size x num_frames, num_channels, height, width)`) : Les états cachés en sortie, conditionnés par l'entrée `encoder_hidden_states`.

La sortie de [TransformerTemporalModel](/docs/diffusers/main/fr/api/models/transformer_temporal#diffusers.TransformerTemporalModel).

