Buckets:

hf-doc-build/doc / diffusers /main /id /api /models /autoencoderkl_cogvideox.md
mishig's picture
|
download
raw
11.1 kB

AutoencoderKLCogVideoX

Model 3D variational autoencoder (VAE) dengan KL loss yang digunakan dalam CogVideoX diperkenalkan dalam CogVideoX: Text-to-Video Diffusion Models with An Expert Transformer oleh Tsinghua University & ZhipuAI.

Model dapat dimuat dengan potongan kode berikut.

from diffusers import AutoencoderKLCogVideoX

vae = AutoencoderKLCogVideoX.from_pretrained("THUDM/CogVideoX-2b", subfolder="vae", dtype=torch.float16).to("cuda")  # or "mps", "xpu", "cpu"

AutoencoderKLCogVideoX[[diffusers.AutoencoderKLCogVideoX]]

diffusers.AutoencoderKLCogVideoX[[diffusers.AutoencoderKLCogVideoX]]

diffusers.AutoencoderKLCogVideoX(in_channels: int = 3, out_channels: int = 3, down_block_types: tuple[str] = ('CogVideoXDownBlock3D', 'CogVideoXDownBlock3D', 'CogVideoXDownBlock3D', 'CogVideoXDownBlock3D'), up_block_types: tuple[str] = ('CogVideoXUpBlock3D', 'CogVideoXUpBlock3D', 'CogVideoXUpBlock3D', 'CogVideoXUpBlock3D'), block_out_channels: tuple[int] = (128, 256, 256, 512), latent_channels: int = 16, layers_per_block: int = 3, act_fn: str = 'silu', norm_eps: float = 1e-06, norm_num_groups: int = 32, temporal_compression_ratio: float = 4, sample_height: int = 480, sample_width: int = 720, scaling_factor: float = 1.15258426, shift_factor: float | None = None, latents_mean: tuple[float] | None = None, latents_std: tuple[float] | None = None, force_upcast: float = True, use_quant_conv: bool = False, use_post_quant_conv: bool = False, invert_scale_latents: bool = False)

Sumber

Parameter:

in_channels (int, opsional, default 3) : Jumlah channel pada gambar input.

out_channels (int, opsional, default 3) : Jumlah channel pada output.

down_block_types (tuple[str], opsional, defaultnya ("DownEncoderBlock2D",)) : tuple dari tipe blok downsample.

up_block_types (tuple[str], opsional, defaultnya ("UpDecoderBlock2D",)) : tuple dari tipe blok upsample.

block_out_channels (tuple[int], opsional, defaultnya (64,)) : tuple dari kanal output blok.

act_fn (str, opsional, defaultnya "silu") : Fungsi aktivasi yang akan digunakan.

sample_size (int, opsional, defaultnya 32) : Ukuran input sampel.

scaling_factor (float, opsional, defaultnya 1.15258426) : Deviasi standar per komponen dari ruang laten yang dilatih, dihitung menggunakan batch pertama dari set pelatihan. Ini digunakan untuk menskalakan ruang laten agar memiliki varians satuan 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.

force_upcast (bool, opsional, default True) : Jika diaktifkan, parameter ini akan memaksa VAE untuk berjalan dalam float32 pada pipeline resolusi gambar tinggi, seperti SD-XL. VAE dapat dihaluskan / dilatih ke rentang yang lebih rendah tanpa kehilangan terlalu banyak presisi, di mana dalam kasus tersebut force_upcast dapat diatur ke False - lihat: https://huggingface.co/madebyollin/sdxl-vae-fp16-fix

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

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

decode[[diffusers.AutoencoderKLCogVideoX.decode]]

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

Sumber

Parameter:

z (torch.Tensor) : Batch input dari vektor laten.

return_dict (bool, opsional, defaultnya 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 dikembalikan.

Decode sekelompok gambar.

encode[[diffusers.AutoencoderKLCogVideoX.encode]]

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

Sumber

Parameter:

x (torch.Tensor) : Batch input gambar.

return_dict (bool, opsional, defaultnya True) : Apakah akan mengembalikan ~models.autoencoder_kl.AutoencoderKLOutput alih-alih tuple biasa.

Mengembalikan:

Representasi laten dari video yang dikodekan. Jika return_dict bernilai True, sebuah ~models.autoencoder_kl.AutoencoderKLOutput dikembalikan, selain itu sebuah tuple polos yang dikembalikan.

Enkodekan batch gambar menjadi latents.

enable_tiling[[diffusers.AutoencoderKLCogVideoX.enable_tiling]]

enable_tiling(tile_sample_min_height: int | None = None, tile_sample_min_width: int | None = None, tile_overlap_factor_height: float | None = None, tile_overlap_factor_width: float | None = None)

Sumber

Parameter:

tile_sample_min_height (int, opsional) : Tinggi minimum yang diperlukan agar sampel 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_overlap_factor_height (int, opsional) : Jumlah minimum tumpang tindih antara dua ubin vertikal yang berurutan. Hal ini untuk memastikan tidak ada artefak penataan ubin yang dihasilkan di sepanjang dimensi tinggi. Nilai harus berada di antara 0 dan 1. Pengaturan nilai yang lebih tinggi dapat menyebabkan lebih banyak ubin diproses, sehingga memperlambat proses decoding.

tile_overlap_factor_width (int, opsional) : Jumlah minimum tumpang tindih antara dua ubin horizontal yang berurutan. Hal ini untuk memastikan tidak ada artefak penataan ubin yang dihasilkan di sepanjang dimensi lebar. Nilai harus berada di antara 0 dan 1. Pengaturan nilai yang lebih tinggi dapat menyebabkan lebih banyak ubin diproses, sehingga memperlambat proses decoding.

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[[diffusers.AutoencoderKLCogVideoX.forward]]

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

Sumber

Parameter:

sample (torch.Tensor) : Sampel input.

sample_posterior (bool, opsional, defaultnya False) : Apakah akan melakukan sampling dari posterior.

return_dict (bool, opsional, defaultnya True) : Apakah akan mengembalikan DecoderOutput alih-alih tuple biasa.

generator (torch.Generator, opsional) : Sebuah 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[[diffusers.AutoencoderKLCogVideoX.tiled_decode]]

tiled_decode(z: Tensor, return_dict: bool = True)

Sumber

Parameter:

z (torch.Tensor) : Batch input dari vektor laten.

return_dict (bool, opsional, defaultnya 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 dikembalikan.

Decode batch gambar menggunakan decoder bertile.

tiled_encode[[diffusers.AutoencoderKLCogVideoX.tiled_encode]]

tiled_encode(x: Tensor)

Sumber

Parameter:

x (torch.Tensor) : Batch input video.

Mengembalikan: torch.Tensor

Representasi laten dari video yang dikodekan.

Enkodekan batch gambar menggunakan encoder bertile.

Ketika opsi ini diaktifkan, VAE akan membagi tensor input menjadi ubin (tiles) untuk menghitung encoding dalam beberapa langkah. Hal ini berguna untuk menjaga penggunaan memori tetap konstan terlepas dari ukuran gambar. Hasil akhir dari encoding bertile berbeda dari encoding non-tile karena setiap ubin menggunakan encoder yang berbeda. Untuk menghindari artefak tiling, ubin-ubin tersebut saling tumpang tindih dan dicampur (blended) untuk membentuk output yang halus. Anda mungkin masih melihat perubahan berukuran ubin pada output, tetapi seharusnya jauh lebih tidak terlihat.

AutoencoderKLOutput[[diffusers.models.modeling_outputs.AutoencoderKLOutput]]

diffusers.models.modeling_outputs.AutoencoderKLOutput[[diffusers.models.modeling_outputs.AutoencoderKLOutput]]

diffusers.models.modeling_outputs.AutoencoderKLOutput(latent_dist: DiagonalGaussianDistribution)

Sumber

Parameter:

latent_dist (DiagonalGaussianDistribution) : Output hasil enkripsi dari Encoder yang direpresentasikan sebagai mean dan logvar dari DiagonalGaussianDistribution. DiagonalGaussianDistribution memungkinkan pengambilan sampel latents dari distribusi tersebut.

Output dari metode encoding AutoencoderKL.

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

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

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

Sumber

Parameter:

sample (torch.Tensor dengan bentuk (batch_size, num_channels, height, width)) : Sampel output yang didekodekan dari lapisan terakhir model.

Output dari metode decoding.

Xet Storage Details

Size:
11.1 kB
·
Xet hash:
c7be4224f0ec295b954b78aaf58c885f550f6274e8a7b3242356562dd63b6846

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.