Diffusers documentation
AutoencoderKLMochi
AutoencoderKLMochi
Model 3D variational autoencoder (VAE) dengan KL loss yang digunakan dalam Mochi diperkenalkan dalam Mochi 1 Preview oleh Tsinghua University & ZhipuAI.
Model dapat dimuat dengan potongan kode berikut.
from diffusers import AutoencoderKLMochi
vae = AutoencoderKLMochi.from_pretrained("genmo/mochi-1-preview", subfolder="vae", dtype=torch.float32).to("cuda") # or "mps", "xpu", "cpu"AutoencoderKLMochi
kelas diffusers.AutoencoderKLMochi
< source >( in_channels: int = 15out_channels: int = 3encoder_block_out_channels: tuple = (64, 128, 256, 384)decoder_block_out_channels: tuple = (128, 256, 512, 768)latent_channels: int = 12layers_per_block: tuple = (3, 3, 4, 6, 3)act_fn: str = 'silu'temporal_expansions: tuple = (1, 2, 3)spatial_expansions: tuple = (2, 2, 2)add_attention_block: tuple = (False, True, True, True, True)latents_mean: tuple = (-0.06730895953510081, -0.038011381506090416, -0.07477820912866141, -0.05565264470995561, 0.012767231469026969, -0.04703542746246419, 0.043896967884726704, -0.09346305707025976, -0.09918314763016893, -0.008729793427399178, -0.011931556316503654, -0.0321993391887285)latents_std: tuple = (0.9263795028493863, 0.9248894543193766, 0.9393059390890617, 0.959253732819592, 0.8244560132752793, 0.917259975397747, 0.9294154431013696, 1.3720942357788521, 0.881393668867029, 0.9168315692124348, 0.9185249279345552, 0.9274757570805041)scaling_factor: float = 1.0 )
Parameter
- in_channels (int, opsional, default 3) — Jumlah channel pada gambar input.
- out_channels (int, opsional, default 3) — Jumlah channel pada output.
- block_out_channels (
tuple[int], opsional, default(64,)) — tuple dari kanal output blok. - act_fn (
str, opsional, defaultnya"silu") — Fungsi aktivasi yang akan digunakan. - scaling_factor (
float, opsional, default1.15258426) — 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 rumusz = z * scaling_factorsebelum 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.
Model VAE dengan kerugian KL untuk mengkodekan gambar menjadi latens dan mendekodekan representasi latens menjadi gambar. Digunakan dalam Mochi 1 preview.
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.
enable_tiling
< source >( tile_sample_min_height: int | None = Nonetile_sample_min_width: int | None = Nonetile_sample_stride_height: float | None = Nonetile_sample_stride_width: 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.
encode
< source >( x: Tensorreturn_dict: bool = True )
Enkodekan batch gambar menjadi latents.
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.
tiled_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 batch gambar menggunakan decoder bertile.
tiled_encode
< source >( x: Tensor ) → torch.Tensor
Enkodekan batch gambar menggunakan encoder bertile.
DecoderOutput
kelas diffusers.models.autoencoders.vae.DecoderOutput
< source >( sample: Tensorcommit_loss: typing.Optional[torch.FloatTensor] = None )
Output dari metode decoding.