# TransformerTemporalModel

Un modelo Transformer para datos similares a video.

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

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

**Parámetros:**

num_attention_heads (`int`, *opcional*, valor predeterminado 16) : El número de cabezas a utilizar para la atención multi-cabeza.

attention_head_dim (`int`, *opcional*, valor predeterminado 88) : El número de canales en cada cabeza.

in_channels (`int`, *opcional*) : El número de canales en la entrada y la salida (especifícalo si la entrada es **continua**).

num_layers (`int`, *opcional*, valor predeterminado 1) : El número de capas de bloques Transformer a utilizar.

dropout (`float`, *opcional*, valor predeterminado 0.0) : La probabilidad de dropout a utilizar.

cross_attention_dim (`int`, *opcional*) : El número de dimensiones de `encoder_hidden_states` a utilizar.

attention_bias (`bool`, *opcional*) : Configura si la atención de `TransformerBlock` debe incluir un parámetro de sesgo.

sample_size (`int`, *opcional*) : El ancho de las imágenes latentes (especificar si la entrada es **discreta**). Esto se fija durante el entrenamiento, ya que se utiliza para aprender un número de embeddings de posición.

activation_fn (`str`, *opcional*, por defecto `"geglu"`) : Función de activación a utilizar en el feed-forward. Consulte `diffusers.models.activations.get_activation` para las funciones de activación admitidas.

norm_elementwise_affine (`bool`, *opcional*) : Configura si el `TransformerBlock` debe usar parámetros afines elementales aprendibles para la normalización.

double_self_attention (`bool`, *opcional*) : Configura si cada `TransformerBlock` debe contener dos capas de autoatención.

positional_embeddings : (`str`, *opcional*): El tipo de incrustaciones posicionales que se aplicarán a la entrada de la secuencia antes de pasarla para su uso.

num_positional_embeddings : (`int`, *opcional*): La longitud máxima de la secuencia sobre la que se aplican los embeddings posicionales.

Un modelo Transformer para datos similares a video.

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

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

**Parámetros:**

hidden_states (`torch.LongTensor` de forma `(batch size, num latent pixels)` si es discreto, `torch.Tensor` de forma `(batch size, channel, height, width)` si es continuo) : hidden_states de entrada.

encoder_hidden_states ( `torch.LongTensor` de forma `(batch size, encoder_hidden_states dim)`, *opcional*) : Incrustaciones condicionales para la capa de atención cruzada. Si no se proporcionan, la atención cruzada predeterminada es la autoatención.

timestep ( `torch.LongTensor`, *opcional*) : Se utiliza para indicar el paso de desruido. Paso temporal opcional que se aplica como un embedding en `AdaLayerNorm`.

class_labels ( `torch.LongTensor` de forma `(batch size, num classes)`, *opcional*) : Se utiliza para indicar la condición de etiquetas de clase. Etiquetas de clase opcionales que se aplicarán como un embedding en `AdaLayerZeroNorm`.

num_frames (`int`, *opcional*, valor predeterminado 1) : El número de fotogramas que se procesarán por lote. Se utiliza para redimensionar los estados ocultos.

cross_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 [TransformerTemporalModelOutput](/docs/diffusers/v0.43.0/es/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput) en lugar de una tupla simple.

**Devuelve:** [TransformerTemporalModelOutput](/docs/diffusers/v0.43.0/es/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput) o `tuple`

Si `return_dict` es True, se devuelve un [TransformerTemporalModelOutput](/docs/diffusers/v0.43.0/es/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput); en caso contrario, se devuelve una `tuple` cuyo primer elemento es el tensor de la muestra.

El método 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)
```

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

**Parámetros:**

sample (`torch.Tensor` de forma `(batch_size x num_frames, num_channels, height, width)`) : Los estados ocultos de salida condicionados a la entrada `encoder_hidden_states`.

La salida de [TransformerTemporalModel](/docs/diffusers/v0.43.0/es/api/models/transformer_temporal#diffusers.TransformerTemporalModel).

