# TransformerTemporalModel

Модель Transformer для данных, похожих на видео.

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

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_temporal.py#L41)

**Параметры:**

num_attention_heads (`int`, *optional*, по умолчанию 16) : Количество головок для использования в механизме внимания с несколькими головками.

attention_head_dim (`int`, *необязательный*, по умолчанию 88) : Количество каналов в каждой голове.

in_channels (`int`, *необязательный*) : Количество каналов на входе и выходе (указывается, если вход является **непрерывным**).

num_layers (`int`, *необязательный*, по умолчанию 1) : Количество блоков Transformer, используемых в модели.

dropout (`float`, *необязательный*, по умолчанию 0.0) : Вероятность dropout, которую следует использовать.

cross_attention_dim (`int`, *optional*) : Количество измерений `encoder_hidden_states`, которые следует использовать.

attention_bias (`bool`, *необязательный*) : Настройка того, должен ли параметр смещения (bias) присутствовать в механизме внимания блока `TransformerBlock`.

sample_size (`int`, *необязательный*) : Ширина латентных изображений (указывается, если вход **дискретный**). Это значение фиксировано во время обучения, поскольку используется для обучения набора позиционных эмбеддингов.

activation_fn (`str`, *необязательный*, по умолчанию `"geglu"`) : Функция активации, используемая в полносвязном слое. См. `diffusers.models.activations.get_activation` для списка поддерживаемых функций активации.

norm_elementwise_affine (`bool`, *необязательный*) : Настройка того, следует ли `TransformerBlock` использовать обучаемые параметры аффинного преобразования для нормализации.

double_self_attention (`bool`, *необязательный*) : Настройка того, должен ли каждый `TransformerBlock` содержать два слоя само-внимания.

positional_embeddings : (`str`, *необязательный*): Тип позиционных эмбеддингов, применяемых к входной последовательности перед использованием.

num_positional_embeddings : (`int`, *необязательный*): Максимальная длина последовательности, для которой применяются позиционные эмбеддинги.

Модель Transformer для данных, похожих на видео.

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

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_temporal.py#L123)

**Параметры:**

hidden_states (`torch.LongTensor` формы `(batch size, num latent pixels)` для дискретных, `torch.Tensor` формы `(batch size, channel, height, width)` для непрерывных) : Входные hidden_states.

encoder_hidden_states ( `torch.LongTensor` формы `(batch size, encoder_hidden_states dim)`, *необязательный*) : Условные эмбеддинги для слоя cross-attention. Если не заданы, cross-attention по умолчанию работает как self-attention.

timestep ( `torch.LongTensor`, *необязательный*) : Используется для указания шага денойзинга. Необязательный временной шаг, применяемый как эмбеддинг в `AdaLayerNorm`.

class_labels ( `torch.LongTensor` формы `(batch size, num classes)`, *необязательный*) : Используется для указания условий по классам. Необязательные метки классов, применяемые как эмбеддинг в `AdaLayerZeroNorm`.

num_frames (`int`, *optional*, по умолчанию 1) : Количество кадров, обрабатываемых в одном батче. Используется для изменения формы скрытых состояний.

cross_attention_kwargs (`dict`, *необязательный*) : Словарь kwargs, который при указании передается в `AttentionProcessor`, определенный в `self.processor` в [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py).

return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли [TransformerTemporalModelOutput](/docs/diffusers/v0.43.0/ru/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput) вместо обычного кортежа.

**Возвращает:** [TransformerTemporalModelOutput](/docs/diffusers/v0.43.0/ru/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput) или `tuple`

Если `return_dict` равно True, возвращается [TransformerTemporalModelOutput](/docs/diffusers/v0.43.0/ru/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput), иначе — `tuple`, первым элементом которого является тензор выборки.

Метод forward класса `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)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_temporal.py#L29)

**Параметры:**

sample (`torch.Tensor` формы `(batch_size x num_frames, num_channels, height, width)`) : Выходные скрытые состояния, обусловленные входом `encoder_hidden_states`.

Вывод [TransformerTemporalModel](/docs/diffusers/v0.43.0/ru/api/models/transformer_temporal#diffusers.TransformerTemporalModel).

