# TransformerTemporalModel

Một mô hình Transformer cho dữ liệu dạng 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)
```

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

**Tham số:**

num_attention_heads (`int`, *tuỳ chọn*, mặc định là 16) : Số lượng đầu (heads) được sử dụng cho chú ý đa đầu (multi-head attention).

attention_head_dim (`int`, *tùy chọn*, mặc định là 88) : Số lượng kênh trong mỗi đầu.

in_channels (`int`, *tuỳ chọn*) : Số lượng kênh trong đầu vào và đầu ra (cần chỉ định nếu đầu vào là **liên tục**).

num_layers (`int`, *tuỳ chọn*, mặc định là 1) : Số lượng lớp khối Transformer cần sử dụng.

dropout (`float`, *tuỳ chọn*, mặc định là 0.0) : Xác suất dropout cần sử dụng.

cross_attention_dim (`int`, *optional*) : Số chiều của `encoder_hidden_states` cần sử dụng.

attention_bias (`bool`, *tùy chọn*) : Cấu hình xem chú ý của `TransformerBlock` có nên chứa tham số bias hay không.

sample_size (`int`, *tuỳ chọn*) : Độ rộng của các ảnh tiềm ẩn (cần chỉ định nếu đầu vào là **rời rạc**). Giá trị này được cố định trong quá trình huấn luyện vì nó được dùng để học một số lượng embedding vị trí.

activation_fn (`str`, *tùy chọn*, mặc định là `"geglu"`) : Hàm kích hoạt để sử dụng trong feed-forward. Xem `diffusers.models.activations.get_activation` để biết các hàm kích hoạt được hỗ trợ.

norm_elementwise_affine (`bool`, *tùy chọn*) : Cấu hình xem `TransformerBlock` có nên sử dụng các tham số affine elementwise có thể học được cho phép chuẩn hóa hay không.

double_self_attention (`bool`, *tùy chọn*) : Cấu hình xem mỗi `TransformerBlock` có nên chứa hai lớp self-attention hay không.

positional_embeddings : (`str`, *tùy chọn*): Loại nhúng vị trí cần áp dụng cho đầu vào chuỗi trước khi truyền để sử dụng.

num_positional_embeddings : (`int`, *tùy chọn*): Độ dài tối đa của chuỗi để áp dụng nhúng vị trí.

Một mô hình Transformer cho dữ liệu dạng 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)
```

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

**Tham số:**

hidden_states (`torch.LongTensor` có hình dạng `(batch size, num latent pixels)` nếu rời rạc, `torch.Tensor` có hình dạng `(batch size, channel, height, width)` nếu liên tục) : hidden_states đầu vào.

encoder_hidden_states ( `torch.LongTensor` có shape `(batch size, encoder_hidden_states dim)`, *tuỳ chọn*) : Các embedding điều kiện cho lớp cross attention. Nếu không được cung cấp, cross-attention sẽ mặc định là self-attention.

timestep ( `torch.LongTensor`, *tùy chọn*) : Dùng để chỉ bước khử nhiễu. Timestep tùy chọn được áp dụng dưới dạng embedding trong `AdaLayerNorm`.

class_labels ( `torch.LongTensor` có shape `(batch size, num classes)`, *tuỳ chọn*) : Dùng để chỉ định điều kiện nhãn lớp. Các nhãn lớp tuỳ chọn sẽ được áp dụng dưới dạng embedding trong `AdaLayerZeroNorm`.

num_frames (`int`, *optional*, mặc định là 1) : Số khung hình cần xử lý cho mỗi batch. Tham số này được dùng để thay đổi hình dạng (reshape) của hidden states.

cross_attention_kwargs (`dict`, *tùy chọn*) : Một từ điển kwargs mà nếu được chỉ định sẽ được truyền đến `AttentionProcessor` như đã định nghĩa dưới `self.processor` trong [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py).

return_dict (`bool`, *tùy chọn*, mặc định là `True`) : Có nên trả về một [TransformerTemporalModelOutput](/docs/diffusers/v0.43.0/vi/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput) thay vì một tuple thông thường hay không.

**Trả về:** [TransformerTemporalModelOutput](/docs/diffusers/v0.43.0/vi/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput) hoặc `tuple`

Nếu `return_dict` là True, một [TransformerTemporalModelOutput](/docs/diffusers/v0.43.0/vi/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput) sẽ được trả về, ngược lại một `tuple` sẽ được trả về, trong đó phần tử đầu tiên là tensor mẫu.

Phương thức forward của `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)
```

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

**Tham số:**

sample (`torch.Tensor` có hình dạng `(batch_size x num_frames, num_channels, height, width)`) : Trạng thái ẩn đầu ra được điều kiện bởi đầu vào `encoder_hidden_states`.

Đầu ra của [TransformerTemporalModel](/docs/diffusers/v0.43.0/vi/api/models/transformer_temporal#diffusers.TransformerTemporalModel).

