Diffusers documentation
AutoencoderKLMagvit
AutoencoderKLMagvit
Model 3D variational autoencoder (VAE) dengan KL loss yang digunakan dalam EasyAnimate diperkenalkan oleh Alibaba PAI.
Model dapat dimuat dengan potongan kode berikut.
from diffusers import AutoencoderKLMagvit
vae = AutoencoderKLMagvit.from_pretrained("alibaba-pai/EasyAnimateV5.1-12b-zh", subfolder="vae", dtype=torch.float16).to("cuda") # or "mps", "xpu", "cpu"AutoencoderKLMagvit
kelas diffusers.AutoencoderKLMagvit
< source >( in_channels: int = 3latent_channels: int = 16out_channels: int = 3block_out_channels: tuple = [128, 256, 512, 512]down_block_types: tuple = ['SpatialDownBlock3D', 'SpatialTemporalDownBlock3D', 'SpatialTemporalDownBlock3D', 'SpatialTemporalDownBlock3D']up_block_types: tuple = ['SpatialUpBlock3D', 'SpatialTemporalUpBlock3D', 'SpatialTemporalUpBlock3D', 'SpatialTemporalUpBlock3D']layers_per_block: int = 2act_fn: str = 'silu'norm_num_groups: int = 32scaling_factor: float = 0.7125spatial_group_norm: bool = True )
Model VAE dengan kerugian KL untuk mengkodekan gambar menjadi latens dan mendekodekan representasi latens menjadi gambar. Model ini digunakan dalam EasyAnimate.
Model ini mewarisi dari ModelMixin. Periksa dokumentasi kelas induk untuk metode generiknya yang diimplementasikan untuk semua model (seperti mengunduh atau menyimpan).
decode
< source >( z: Tensorreturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple
Parameter
- z (
torch.Tensor) — Batch input dari vektor laten. - return_dict (
bool, opsional, defaultTrue) — Apakah akan mengembalikan~models.vae.DecoderOutputalih-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
< source >( x: Tensorreturn_dict: bool = True )
Enkodekan batch gambar menjadi latents.
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 )
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
< source >( sample: Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → ~models.vae.DecoderOutput or tuple
Parameter
- sample (
torch.Tensor) — Sampel input. - sample_posterior (
bool, opsional, defaultFalse) — Apakah akan mengambil sampel dari posterior. - return_dict (
bool, opsional, defaultTrue) — Apakah akan mengembalikanDecoderOutputalih-alih tuple biasa. - generator (
torch.Generator, opsional) —torch.Generatoruntuk 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.
AutoencoderKLOutput
kelas diffusers.models.modeling_outputs.AutoencoderKLOutput
< source >( latent_dist: DiagonalGaussianDistribution )
Output dari metode encoding AutoencoderKL.
DecoderOutput
kelas diffusers.models.autoencoders.vae.DecoderOutput
< source >( sample: Tensorcommit_loss: typing.Optional[torch.FloatTensor] = None )
Output dari metode decoding.