Diffusers documentation

AutoencoderKLLTX2Video

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

AutoencoderKLLTX2Video

Модель трёхмерного вариационного автоэнкодера (VAE) с потерей KL, используемая в LTX-2, была представлена компанией Lightricks.

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

from diffusers import AutoencoderKLLTX2Video

vae = AutoencoderKLLTX2Video.from_pretrained("Lightricks/LTX-2", subfolder="vae", dtype=torch.float32).to("cuda")  # or "mps", "xpu", "cpu"

AutoencoderKLLTX2Video

класс diffusers.AutoencoderKLLTX2Video

< >

( in_channels: int = 3out_channels: int = 3latent_channels: int = 128block_out_channels: tuple = (256, 512, 1024, 2048)down_block_types: tuple = ('LTX2VideoDownBlock3D', 'LTX2VideoDownBlock3D', 'LTX2VideoDownBlock3D', 'LTX2VideoDownBlock3D')decoder_block_out_channels: tuple = (256, 512, 1024)layers_per_block: tuple = (4, 6, 6, 2, 2)decoder_layers_per_block: tuple = (5, 5, 5, 5)spatio_temporal_scaling: bool | tuple[bool, ...] = (True, True, True, True)decoder_spatio_temporal_scaling: bool | tuple[bool, ...] = (True, True, True)decoder_inject_noise: bool | tuple[bool, ...] = (False, False, False, False)downsample_type: tuple = ('spatial', 'temporal', 'spatiotemporal', 'spatiotemporal')upsample_type: tuple = ('spatiotemporal', 'spatiotemporal', 'spatiotemporal')upsample_residual: bool | tuple[bool, ...] = (True, True, True)upsample_factor: tuple = (2, 2, 2)timestep_conditioning: bool = Falsepatch_size: int = 4patch_size_t: int = 1resnet_norm_eps: float = 1e-06scaling_factor: float = 1.0encoder_causal: bool = Truedecoder_causal: bool = Trueencoder_spatial_padding_mode: str = 'zeros'decoder_spatial_padding_mode: str = 'reflect'spatial_compression_ratio: int = Nonetemporal_compression_ratio: int = None )

Параметры

  • in_channels (int, по умолчанию 3) — Количество входных каналов.
  • out_channels (int, по умолчанию 3) — Количество выходных каналов.
  • latent_channels (int, по умолчанию 128) — Количество латентных каналов.
  • block_out_channels (tuple[int, ...], по умолчанию (128, 256, 512, 512)) — Количество выходных каналов для каждого блока.
  • spatio_temporal_scaling (tuple[bool, ...], defaults to (True, True, True, False)` — Определяет, должен ли блок содержать пространственно-временное уменьшение разрешения.
  • layers_per_block (tuple[int, ...], по умолчанию (4, 3, 3, 3, 4)) — Количество слоёв в каждом блоке.
  • patch_size (int, по умолчанию 4) — Размер пространственных патчей.
  • patch_size_t (int, по умолчанию 1) — Размер временных патчей.
  • resnet_norm_eps (float, по умолчанию 1e-6) — Значение эпсилона для слоёв нормализации ResNet.
  • scaling_factor (float, необязательный, по умолчанию 1.0) — Послекомпонентное стандартное отклонение обученного латентного пространства, вычисленное на основе первой партии (батча) обучающей выборки. Эта величина используется для масштабирования латентного пространства до единичной дисперсии при обучении диффузионной модели. Перед передачей в диффузионную модель латенты масштабируются по формуле z = z * scaling_factor. При декодировании латенты возвращаются к исходному масштабу по формуле: z = 1 / scaling_factor * z. Дополнительные сведения см. в разделах 4.3.2 и D.1 статьи High-Resolution Image Synthesis with Latent Diffusion Models.
  • encoder_causal (bool, по умолчанию True) — Определяет, должен ли энкодер работать в каузальном режиме (будущие кадры зависят только от прошлых) или нет.
  • decoder_causal (bool, по умолчанию False) — Определяет, должен ли декодер работать в каузальном режиме (будущие кадры зависят только от прошлых) или нет.

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

Эта модель наследуется от ModelMixin. См. документацию суперкласса для его универсальных методов, реализованных для всех моделей (например, загрузка или сохранение).

decode

< >

( z: Tensortemb: typing.Optional[torch.Tensor] = Nonecausal: bool | None = Nonereturn_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.

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

encode

< >

( x: Tensorcausal: bool | None = Nonereturn_dict: bool = True )

Параметры

  • x (torch.Tensor) — Входная партия изображений.
  • return_dict (bool, необязательный, по умолчанию True) — Определяет, следует ли возвращать ~models.autoencoder_kl.AutoencoderKLOutput вместо обычного кортежа.

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

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_sample_min_width (int, необязательный) — Минимальная ширина, необходимая для того, чтобы образец был разделён на плитки по размерности ширины.
  • tile_sample_stride_height (int, необязательный) — Минимальное перекрытие между двумя последовательными вертикальными тайлами. Это обеспечивает отсутствие артефактов тайлинга вдоль вертикальной оси.
  • tile_sample_stride_width (int, необязательный) — Шаг между двумя соседними горизонтальными тайлами. Это обеспечивает отсутствие артефактов тайлинга вдоль ширины.

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

forward

< >

( sample: Tensortemb: typing.Optional[torch.Tensor] = Nonesample_posterior: bool = Falseencoder_causal: bool | None = Nonedecoder_causal: bool | None = Nonereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → ~models.vae.DecoderOutput or tuple

Параметры

  • sample (torch.Tensor) — Входной образец.
  • temb (torch.Tensor, необязательный) — Необязательный тензор эмбеддинга временного шага, используемый для обусловливания декодера.
  • sample_posterior (bool, необязательный, по умолчанию False) — Следует ли извлекать выборку из апостериорного распределения.
  • encoder_causal (bool, необязательный) — Определяет, следует ли кодировщику использовать каузальные свёртки. Если None, используется значение по умолчанию для модели.
  • decoder_causal (bool, необязательный) — Определяет, следует ли декодеру использовать каузальные свёртки. Если None, используется значение по умолчанию для модели.
  • return_dict (bool, необязательный, по умолчанию True) — Определяет, следует ли возвращать DecoderOutput вместо обычного кортежа.
  • generator (torch.Generator, необязательный) — torch.Generator для обеспечения детерминированности выборки.

Возвращает

~models.vae.DecoderOutput или tuple

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

tiled_decode

< >

( z: Tensortemb: typing.Optional[torch.Tensor]causal: bool | None = Nonereturn_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: Tensorcausal: bool | None = None ) → torch.Tensor

Параметры

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

Возвращает

torch.Tensor

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

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

Update on GitHub