# AutoencoderKLKVAEVideo

Mô hình tự mã hóa biến phân (VAE) 3D với tổn thất KL.

Mô hình có thể được tải bằng đoạn mã sau.

```python
import torch
from diffusers import AutoencoderKLKVAEVideo

vae = AutoencoderKLKVAEVideo.from_pretrained("kandinskylab/KVAE-3D-1.0", subfolder="diffusers", dtype=torch.float16)
```

## AutoencoderKLKVAEVideo[[diffusers.AutoencoderKLKVAEVideo]]

#### diffusers.AutoencoderKLKVAEVideo[[diffusers.AutoencoderKLKVAEVideo]]

```python
diffusers.AutoencoderKLKVAEVideo(ch: int = 128, ch_mult: typing.Tuple[int, ...] = (1, 2, 4, 8), num_res_blocks: int = 2, in_channels: int = 3, out_ch: int = 3, z_channels: int = 16, temporal_compress_times: int = 4)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_kvae_video.py#L707)

**Tham số:**

ch (`int`, *tuỳ chọn*, mặc định là 128) : Số lượng kênh cơ sở.

ch_mult (`Tuple[int]`, *tùy chọn*, mặc định là `(1, 2, 4, 8)`) : Hệ số nhân kênh cho từng mức.

num_res_blocks (`int`, *tuỳ chọn*, mặc định là 2) : Số lượng khối dư (residual blocks) cho mỗi cấp.

in_channels (`int`, *tuỳ chọn*, mặc định là 3) : Số kênh đầu vào.

out_ch (`int`, *tuỳ chọn*, mặc định là 3) : Số lượng kênh đầu ra.

z_channels (`int`, *tuỳ chọn*, mặc định là 16) : Số lượng kênh tiềm ẩn.

temporal_compress_times (`int`, *optional*, mặc định là 4) : Hệ số nén theo thời gian.

Một mô hình VAE có tổn thất KL để mã hóa video thành các ẩn và giải mã các biểu diễn ẩn thành video. Được sử dụng trong [KVAE](https://github.com/kandinskylab/kvae-1).

Mô hình này kế thừa từ [ModelMixin](/docs/diffusers/main/vi/api/models/overview#diffusers.ModelMixin). Xem tài liệu của lớp cha để biết các phương thức chung được triển khai cho tất cả các mô hình (chẳng hạn như tải xuống hoặc lưu).

#### decode[[diffusers.AutoencoderKLKVAEVideo.decode]]

```python
decode(z: Tensor, return_dict: bool = True)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_kvae_video.py#L915)

**Tham số:**

z (`torch.Tensor`) : Lô đầu vào của các vector ẩn có hình dạng (B, C, T, H, W).

return_dict (`bool`, *tùy chọn*, mặc định là `True`) : Có nên trả về một `~models.vae.DecoderOutput` thay vì một tuple thông thường hay không.

**Trả về:** `~models.vae.DecoderOutput` hoặc `tuple`

Video đã giải mã.

Giải mã một lô video.

#### disable_slicing[[diffusers.AutoencoderKLKVAEVideo.disable_slicing]]

```python
disable_slicing()
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_kvae_video.py#L844)

Tắt giải mã VAE dạng lát cắt.

#### enable_slicing[[diffusers.AutoencoderKLKVAEVideo.enable_slicing]]

```python
enable_slicing()
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_kvae_video.py#L840)

Bật giải mã VAE theo lát.

#### encode[[diffusers.AutoencoderKLKVAEVideo.encode]]

```python
encode(x: Tensor, return_dict: bool = True)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_kvae_video.py#L867)

**Tham số:**

x (`torch.Tensor`) : Lô đầu vào các video có hình dạng (B, C, T, H, W).

return_dict (`bool`, *tùy chọn*, mặc định là `True`) : Có nên trả về một `~models.autoencoder_kl.AutoencoderKLOutput` thay vì một tuple thông thường hay không.

**Trả về:**

Các biểu diễn ẩn của các video đã được mã hóa.

Mã hóa một lô video thành các biến ẩn.

#### forward[[diffusers.AutoencoderKLKVAEVideo.forward]]

```python
forward(sample: Tensor, sample_posterior: bool = False, return_dict: bool = True, generator: typing.Optional[torch.Generator] = None)
```

[Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_kvae_video.py#L938)

**Tham số:**

sample (`torch.Tensor`) : Mẫu đầu vào.

sample_posterior (`bool`, *tùy chọn*, mặc định là `False`) : Có lấy mẫu từ phân phối hậu nghiệm hay không.

return_dict (`bool`, *tùy chọn*, mặc định là `True`) : Có nên trả về một `DecoderOutput` thay vì một tuple thông thường hay không.

generator (`torch.Generator`, *tùy chọn*) : Một [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) để làm cho việc lấy mẫu trở nên tất định.

**Trả về:** `~models.vae.DecoderOutput` hoặc `tuple`

Nếu `return_dict` là True, một `~models.vae.DecoderOutput` sẽ được trả về, ngược lại một `tuple` thông thường sẽ được trả về.

