# AutoencoderKLHunyuanVideo15

Модель трёхмерного вариационного автоэнкодера (VAE) с потерей KL, используемая в [HunyuanVideo1.5](https://github.com/Tencent-Hunyuan/HunyuanVideo-1.5) от Tencent.

Модель можно загрузить с помощью следующего фрагмента кода.

```python
from diffusers import AutoencoderKLHunyuanVideo15

vae = AutoencoderKLHunyuanVideo15.from_pretrained("hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-480p_t2v", subfolder="vae", dtype=torch.float32)

# make sure to enable tiling to avoid OOM
vae.enable_tiling()
```

## AutoencoderKLHunyuanVideo15[[diffusers.AutoencoderKLHunyuanVideo15]]

#### diffusers.AutoencoderKLHunyuanVideo15[[diffusers.AutoencoderKLHunyuanVideo15]]

```python
diffusers.AutoencoderKLHunyuanVideo15(in_channels: int = 3, out_channels: int = 3, latent_channels: int = 32, block_out_channels: tuple = (128, 256, 512, 1024, 1024), layers_per_block: int = 2, spatial_compression_ratio: int = 16, temporal_compression_ratio: int = 4, downsample_match_channel: bool = True, upsample_match_channel: bool = True, scaling_factor: float = 1.03682)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_hunyuanvideo15.py#L634)

Модель VAE с потерей KL для кодирования видео в латенты и декодирования латентных представлений в видео. Используется для HunyuanVideo-1.5.

Эта модель наследуется от [ModelMixin](/docs/diffusers/main/ru/api/models/overview#diffusers.ModelMixin). См. документацию суперкласса для его универсальных методов, реализованных для всех моделей (например, загрузка или сохранение).

#### decode[[diffusers.AutoencoderKLHunyuanVideo15.decode]]

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

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_hunyuanvideo15.py#L779)

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

z (`torch.Tensor`) : Входная партия латентных векторов.

return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли `~models.vae.DecoderOutput` вместо обычного кортежа.

**Возвращает:** `~models.vae.DecoderOutput` или `tuple`

Если return_dict равно True, возвращается `~models.vae.DecoderOutput`, иначе возвращается обычный `tuple`.

Декодировать пакет изображений.

#### encode[[diffusers.AutoencoderKLHunyuanVideo15.encode]]

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

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_hunyuanvideo15.py#L741)

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

x (`torch.Tensor`) : Входная партия изображений.

return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли `~models.autoencoder_kl.AutoencoderKLOutput` вместо обычного кортежа.

**Возвращает:**

Латентные представления закодированных видео. Если `return_dict` равно True, возвращается `~models.autoencoder_kl.AutoencoderKLOutput`, в противном случае возвращается обычный `tuple`.

Кодирует пакет изображений в латенты.

#### enable_tiling[[diffusers.AutoencoderKLHunyuanVideo15.enable_tiling]]

```python
enable_tiling(tile_sample_min_height: int | None = None, tile_sample_min_width: int | None = None, tile_latent_min_height: int | None = None, tile_latent_min_width: int | None = None, tile_overlap_factor: float | None = None)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_hunyuanvideo15.py#L702)

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

tile_sample_min_height (`int`, *optional*) : минимальная высота, необходимая для того, чтобы образец был разделён на плитки по оси высоты.

tile_sample_min_width (`int`, *optional*) : Минимальная ширина, необходимая для того, чтобы образец был разделён на плитки по размерности ширины.

tile_latent_min_height (`int`, *optional*) : Минимальная высота, необходимая для того, чтобы латентное представление могло быть разделено на тайлы по размерности высоты.

tile_latent_min_width (`int`, *optional*) : Минимальная ширина, необходимая для того, чтобы латентное представление могло быть разделено на плитки по размерности ширины.

Включает тайловое декодирование VAE. При включении этого параметра VAE разбивает входной тензор на тайлы для выполнения декодирования и кодирования в несколько шагов. Это полезно для экономии значительного объёма памяти и для обработки изображений большего размера.

#### forward[[diffusers.AutoencoderKLHunyuanVideo15.forward]]

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

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_hunyuanvideo15.py#L926)

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

sample (`torch.Tensor`) : Входящий образец.

sample_posterior (`bool`, *необязательный*, по умолчанию `False`) : Флаг, определяющий, следует ли выполнять выборку из апостериорного распределения.

return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли `DecoderOutput` вместо обычного кортежа.

generator (`torch.Generator`, *необязательный*) : [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) для обеспечения детерминированности выборки.

**Возвращает:** `~models.vae.DecoderOutput` или `tuple`

Если `return_dict` равно True, возвращается `~models.vae.DecoderOutput`, иначе возвращается обычный `tuple`.

#### tiled_decode[[diffusers.AutoencoderKLHunyuanVideo15.tiled_decode]]

```python
tiled_decode(z: Tensor)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_hunyuanvideo15.py#L877)

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

z (`torch.Tensor`) : Входная партия латентных векторов.

**Возвращает:** `torch.Tensor`

Декодированные изображения.

Декодирование пакета изображений с использованием тайлованного декодера.

#### tiled_encode[[diffusers.AutoencoderKLHunyuanVideo15.tiled_encode]]

```python
tiled_encode(x: Tensor)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_hunyuanvideo15.py#L829)

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

x (`torch.Tensor`) : Входная партия видео.

**Возвращает:** `torch.Tensor`

Латентное представление закодированных видео.

Кодирует пакет изображений с использованием тайлованного энкодера.

## DecoderOutput[[diffusers.models.autoencoders.vae.DecoderOutput]]

#### diffusers.models.autoencoders.vae.DecoderOutput[[diffusers.models.autoencoders.vae.DecoderOutput]]

```python
diffusers.models.autoencoders.vae.DecoderOutput(sample: Tensor, commit_loss: typing.Optional[torch.FloatTensor] = None)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/vae.py#L49)

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

sample (`torch.Tensor` формы `(batch_size, num_channels, height, width)`) : Декодированный вывод из последнего слоя модели.

Результат метода декодирования.

