Diffusers documentation

AutoencoderKLHunyuanVideo

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoencoderKLHunyuanVideo

腾讯在HunyuanVideo: A Systematic Framework For Large Video Generative Models中介绍的HunyuanVideo所使用的、带有 KL 损失的 3D 变分自编码器(VAE)模型。

可以使用以下代码片段加载该模型。

from diffusers import AutoencoderKLHunyuanVideo

vae = AutoencoderKLHunyuanVideo.from_pretrained("hunyuanvideo-community/HunyuanVideo", subfolder="vae", dtype=torch.float16)

AutoencoderKLHunyuanVideo

类 diffusers.AutoencoderKLHunyuanVideo

< >

( in_channels: int = 3out_channels: int = 3latent_channels: int = 16down_block_types: tuple = ('HunyuanVideoDownBlock3D', 'HunyuanVideoDownBlock3D', 'HunyuanVideoDownBlock3D', 'HunyuanVideoDownBlock3D')up_block_types: tuple = ('HunyuanVideoUpBlock3D', 'HunyuanVideoUpBlock3D', 'HunyuanVideoUpBlock3D', 'HunyuanVideoUpBlock3D')block_out_channels: tuple = (128, 256, 512, 512)layers_per_block: int = 2act_fn: str = 'silu'norm_num_groups: int = 32scaling_factor: float = 0.476986spatial_compression_ratio: int = 8temporal_compression_ratio: int = 4mid_block_add_attention: bool = True )

一个用于将视频编码为潜在表示并将潜在表示解码为视频的 VAE 模型,采用 KL 损失。 在 HunyuanVideo 中引入。

该模型继承自 ModelMixin。请查阅其父类文档,了解为所有模型实现的通用方法(例如下载或保存)。

decode

< >

( z: Tensorreturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple

参数

  • z (torch.Tensor) — 输入批次的潜在向量。
  • return_dict (bool,可选,默认为 True) — 是否返回 ~models.vae.DecoderOutput 而不是普通元组。

返回值

~models.vae.DecoderOutput 或 tuple

如果 return_dict 为 True,则返回 ~models.vae.DecoderOutput,否则返回普通的 tuple。

解码一批图像。

enable_tiling

< >

( tile_sample_min_height: int | None = Nonetile_sample_min_width: int | None = Nonetile_sample_min_num_frames: int | None = Nonetile_sample_stride_height: float | None = Nonetile_sample_stride_width: float | None = Nonetile_sample_stride_num_frames: float | None = None )

参数

  • tile_sample_min_height (int, 可选) — 样本在高度维度上被分割为多个 tile 所需的最小高度。
  • tile_sample_min_width (int, 可选) — 样本在宽度维度上被分割为多个 tile 所需的最小宽度。
  • tile_sample_min_num_frames (int, 可选) — 将样本沿帧维度拆分为多个 tile 所需的最小帧数。
  • tile_sample_stride_height (int, 可选) — 两个相邻垂直瓦片之间的最小重叠量。这用于确保在高度维度上不会产生瓦片伪影。
  • tile_sample_stride_width (int, 可选) — 两个相邻水平瓦片之间的步长。用于确保在宽度维度上不会产生瓦片拼接伪影。
  • tile_sample_stride_num_frames (int, 可选) — 两个连续帧块之间的步长。用于确保在帧维度上不产生分块伪影。

启用分块 VAE 解码。启用此选项后,VAE 会将输入张量拆分为多个分块,分步执行解码和编码。这有助于节省大量内存,并支持处理更大的图像。

encode

< >

( x: Tensorreturn_dict: bool = True )

参数

  • x (torch.Tensor) — 输入图像批次。
  • return_dict (bool,可选,默认为 True) — 是否返回 ~models.autoencoder_kl.AutoencoderKLOutput 而不是普通元组。

将一批图像编码为潜在表示。

forward

< >

( sample: Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → ~models.vae.DecoderOutput or tuple

参数

  • sample (torch.Tensor) — 输入样本。
  • sample_posterior (bool,可选,默认为 False) — 是否从后验分布中采样。
  • return_dict (bool,可选,默认为 True) — 是否返回 DecoderOutput 而不是普通元组。
  • generator (torch.Generator,可选) — 用于使采样过程确定性的 torch.Generator。

返回值

~models.vae.DecoderOutput 或 tuple

如果 return_dict 为 True,则返回 ~models.vae.DecoderOutput,否则返回普通的 tuple。

tiled_decode

< >

( z: Tensorreturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple

参数

  • z (torch.Tensor) — 输入批次的潜在向量。
  • return_dict (bool,可选,默认为 True) — 是否返回 ~models.vae.DecoderOutput 而不是普通元组。

返回值

~models.vae.DecoderOutput 或 tuple

如果 return_dict 为 True,则返回 ~models.vae.DecoderOutput,否则返回普通的 tuple。

使用分块解码器解码一批图像。

tiled_encode

< >

( x: Tensor ) → torch.Tensor

参数

  • x (torch.Tensor) — 输入的视频批次。

返回值

torch.Tensor

编码视频的潜在表示。

使用分块编码器对一批图像进行编码。

DecoderOutput

class diffusers.models.autoencoders.vae.DecoderOutput

< >

( sample: Tensorcommit_loss: typing.Optional[torch.FloatTensor] = None )

参数

  • sample(形状为 (batch_size, num_channels, height, width) 的 torch.Tensor)— 模型最后一层解码输出的样本。

解码方法的输出。

Update on GitHub