Diffusers documentation
AutoencoderKLHunyuanVideo
AutoencoderKLHunyuanVideo
Модель трёхмерного вариационного автоэнкодера (VAE) с потерей KL, используемая в HunyuanVideo, которая была представлена в работе HunyuanVideo: A Systematic Framework For Large Video Generative Models от Tencent.
Модель можно загрузить с помощью следующего фрагмента кода.
from diffusers import AutoencoderKLHunyuanVideo
vae = AutoencoderKLHunyuanVideo.from_pretrained("hunyuanvideo-community/HunyuanVideo", subfolder="vae", dtype=torch.float16)AutoencoderKLHunyuanVideo
класс diffusers.AutoencoderKLHunyuanVideo
< source >( in_channels: int = 3out_channels: int = 3latent_channels: int = 16down_block_types: tuple[str, ...] = ('HunyuanVideoDownBlock3D', 'HunyuanVideoDownBlock3D', 'HunyuanVideoDownBlock3D', 'HunyuanVideoDownBlock3D')up_block_types: tuple[str, ...] = ('HunyuanVideoUpBlock3D', 'HunyuanVideoUpBlock3D', 'HunyuanVideoUpBlock3D', 'HunyuanVideoUpBlock3D')block_out_channels: tuple[int] = (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
< source >( 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
< source >( 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_sample_min_width (
int, необязательный) — Минимальная ширина, необходимая для того, чтобы образец был разделён на плитки по размерности ширины. - tile_sample_min_num_frames (
int, необязательный) — Минимальное количество кадров, необходимое для того, чтобы образец был разделён на плитки по размерности кадров. - tile_sample_stride_height (
int, необязательный) — Минимальное перекрытие между двумя последовательными вертикальными тайлами. Это обеспечивает отсутствие артефактов тайлинга вдоль вертикальной оси. - tile_sample_stride_width (
int, необязательный) — Шаг между двумя соседними горизонтальными тайлами. Это обеспечивает отсутствие артефактов тайлинга вдоль ширины. - tile_sample_stride_num_frames (
int, необязательный) — Шаг между двумя последовательными кадрами тайлов. Это обеспечивает отсутствие артефактов тайлинга вдоль размерности кадров.
Включает тайловое декодирование VAE. При включении этого параметра VAE разбивает входной тензор на тайлы, чтобы выполнять декодирование и кодирование в несколько шагов. Это полезно для экономии значительного количества памяти и для обработки изображений большего размера.
encode
< source >( x: Tensorreturn_dict: bool = True )
Кодирует пакет изображений в латенты.
forward
< source >( 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
< source >( 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
< source >( x: Tensor ) → torch.Tensor
Кодирует пакет изображений с использованием тайлованного энкодера.
DecoderOutput
класс diffusers.models.autoencoders.vae.DecoderOutput
< source >( sample: Tensorcommit_loss: typing.Optional[torch.FloatTensor] = None )
Результат метода декодирования.