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

Model 3D variational autoencoder (VAE) dengan KL loss yang digunakan dalam LTX-2 diperkenalkan oleh Lightricks.

Model dapat dimuat dengan potongan kode berikut.

from diffusers import AutoencoderKLLTX2Video

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

AutoencoderKLLTX2Video

kelas 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 )

Parameter

  • in_channels (int, defaultnya 3) — Jumlah saluran input.
  • out_channels (int, defaultnya 3) — Jumlah saluran output.
  • latent_channels (int, defaultnya 128) — Jumlah kanal laten.
  • block_out_channels (tuple[int, ...], defaultnya (128, 256, 512, 512)) — Jumlah saluran output untuk setiap blok.
  • spatio_temporal_scaling (tuple[bool, ...], defaults to (True, True, True, False)` — Apakah sebuah blok harus mengandung penurun skala spatio-temporal atau tidak.
  • layers_per_block (tuple[int, ...], defaultnya (4, 3, 3, 3, 4)) — Jumlah lapisan per blok.
  • patch_size (int, defaultnya 4) — Ukuran patch spasial.
  • patch_size_t (int, defaultnya 1) — Ukuran patch temporal.
  • resnet_norm_eps (float, defaultnya 1e-6) — Nilai epsilon untuk lapisan normalisasi ResNet.
  • scaling_factor (float, opsional, default 1.0) — Standar deviasi per komponen dari ruang laten yang dilatih, dihitung menggunakan batch pertama dari set pelatihan. Nilai ini digunakan untuk menskalakan ruang laten agar memiliki varians satu saat melatih model difusi. Laten diskalakan dengan rumus z = z * scaling_factor sebelum diteruskan ke model difusi. Saat decoding, laten diskalakan kembali ke skala aslinya dengan rumus: z = 1 / scaling_factor * z. Untuk detail lebih lanjut, lihat bagian 4.3.2 dan D.1 dari paper High-Resolution Image Synthesis with Latent Diffusion Models.
  • encoder_causal (bool, defaultnya True) — Apakah encoder harus berperilaku secara kausal (frame masa depan hanya bergantung pada frame masa lalu) atau tidak.
  • decoder_causal (bool, defaultnya False) — Apakah decoder harus berperilaku secara kausal (frame masa depan hanya bergantung pada frame masa lalu) atau tidak.

Model VAE dengan kerugian KL untuk mengkodekan gambar menjadi latens dan mendekodekan representasi latens menjadi gambar. Digunakan dalam LTX-2.

Model ini mewarisi dari ModelMixin. Periksa dokumentasi kelas induk untuk metode generiknya yang diimplementasikan untuk semua model (seperti mengunduh atau menyimpan).

decode

< >

( z: Tensortemb: typing.Optional[torch.Tensor] = Nonecausal: bool | None = Nonereturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple

Parameter

  • z (torch.Tensor) — Batch input dari vektor laten.
  • return_dict (bool, opsional, default True) — Apakah akan mengembalikan ~models.vae.DecoderOutput alih-alih tuple biasa.

Mengembalikan

~models.vae.DecoderOutput atau tuple

Jika return_dict adalah True, sebuah ~models.vae.DecoderOutput dikembalikan, selain itu sebuah tuple biasa yang dikembalikan.

Decode sekelompok gambar.

encode

< >

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

Parameter

  • x (torch.Tensor) — Batch input gambar.
  • return_dict (bool, opsional, default True) — Apakah akan mengembalikan ~models.autoencoder_kl.AutoencoderKLOutput alih-alih tuple biasa.

Enkodekan batch gambar menjadi latents.

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 )

Parameter

  • tile_sample_min_height (int, opsional) — Tinggi minimum yang diperlukan agar sampel dapat dipisahkan menjadi ubin di sepanjang dimensi tinggi.
  • tile_sample_min_width (int, opsional) — Lebar minimum yang diperlukan agar sampel dipisahkan menjadi ubin di sepanjang dimensi lebar.
  • tile_sample_stride_height (int, opsional) — Jumlah tumpang tindih minimum antara dua tile vertikal yang berurutan. Hal ini untuk memastikan tidak ada artefak tiling yang dihasilkan di sepanjang dimensi tinggi.
  • tile_sample_stride_width (int, opsional) — Stride antara dua tile horizontal yang berurutan. Hal ini untuk memastikan tidak ada artefak tiling yang dihasilkan di sepanjang dimensi lebar.

Aktifkan decoding VAE bertile. Ketika opsi ini diaktifkan, VAE akan membagi tensor input menjadi beberapa tile untuk menghitung decoding dan encoding dalam beberapa langkah. Hal ini berguna untuk menghemat memori dalam jumlah besar dan memungkinkan pemrosesan gambar yang lebih besar.

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

Parameter

  • sample (torch.Tensor) — Sampel input.
  • temb (torch.Tensor, opsional) — Tensor embedding timestep opsional yang digunakan untuk mengondisikan decoder.
  • sample_posterior (bool, opsional, default False) — Apakah akan mengambil sampel dari posterior.
  • encoder_causal (bool, opsional) — Apakah encoder harus menggunakan konvolusi kausal. Jika None, kembali ke default model.
  • decoder_causal (bool, opsional) — Apakah decoder harus menggunakan konvolusi kausal. Jika None, kembali ke default model.
  • return_dict (bool, opsional, default True) — Apakah akan mengembalikan DecoderOutput alih-alih tuple biasa.
  • generator (torch.Generator, opsional) — torch.Generator untuk membuat sampling menjadi deterministik.

Mengembalikan

~models.vae.DecoderOutput atau tuple

Jika return_dict bernilai True, sebuah ~models.vae.DecoderOutput akan dikembalikan, selain itu sebuah tuple biasa akan dikembalikan.

tiled_decode

< >

( z: Tensortemb: typing.Optional[torch.Tensor]causal: bool | None = Nonereturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple

Parameter

  • z (torch.Tensor) — Batch input dari vektor laten.
  • return_dict (bool, opsional, default True) — Apakah akan mengembalikan ~models.vae.DecoderOutput alih-alih tuple biasa.

Mengembalikan

~models.vae.DecoderOutput atau tuple

Jika return_dict adalah True, sebuah ~models.vae.DecoderOutput dikembalikan, selain itu sebuah tuple biasa yang dikembalikan.

Decode batch gambar menggunakan decoder bertile.

tiled_encode

< >

( x: Tensorcausal: bool | None = None ) → torch.Tensor

Parameter

  • x (torch.Tensor) — Batch input video.

Mengembalikan

torch.Tensor

Representasi laten dari video yang dikodekan.

Enkodekan batch gambar menggunakan encoder bertile.

Update on GitHub