Diffusers documentation
AutoencoderKLMochi
AutoencoderKLMochi
Mochi'de kullanılan KL kaybına sahip 3D varyasyonel otoenkoder (VAE) modeli, Tsinghua Üniversitesi & ZhipuAI tarafından Mochi 1 Preview'de tanıtılmıştır.
Model, aşağıdaki kod parçasıyla yüklenebilir.
from diffusers import AutoencoderKLMochi
vae = AutoencoderKLMochi.from_pretrained("genmo/mochi-1-preview", subfolder="vae", dtype=torch.float32).to("cuda") # or "mps", "xpu", "cpu"AutoencoderKLMochi
sınıf 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 )
Parametreler
- in_channels (int, isteğe bağlı, varsayılan 3) — Girdi görüntüsündeki kanal sayısı.
- out_channels (int, isteğe bağlı, varsayılan 3) — Çıktıdaki kanal sayısı.
- block_out_channels (
tuple[int], isteğe bağlı, varsayılan(64,)) — Blok çıktı kanallarının tuple'ı. - act_fn (
str, isteğe bağlı, varsayılan"silu") — Kullanılacak aktivasyon fonksiyonu. - scaling_factor (
float, isteğe bağlı, varsayılan1.15258426) — Eğitim setinin ilk partisi kullanılarak hesaplanan, eğitilmiş gizli uzayın bileşen bazlı standart sapması. Bu değer, difüzyon modelinin eğitimi sırasında gizli uzayın birim varyansa sahip olacak şekilde ölçeklendirilmesinde kullanılır. Gizli değişkenler, difüzyon modeline aktarılmadan öncez = z * scaling_factorformülüyle ölçeklenir. Kod çözme sırasında ise gizli değişkenler,z = 1 / scaling_factor * zformülüyle orijinal ölçeğe geri getirilir. Daha fazla ayrıntı için High-Resolution Image Synthesis with Latent Diffusion Models makalesinin 4.3.2 ve D.1 bölümlerine bakınız.
Görselleri latentlere kodlamak ve latent temsilleri görsellere çözmek için KL kaybı kullanan bir VAE modeli. Mochi 1 preview içinde kullanılır.
Bu model ModelMixin sınıfından devralır. Tüm modeller için uygulanan genel yöntemleri (indirme veya kaydetme gibi) görmek için üst sınıfın belgelendirmesine bakın.
decode
< source >( z: Tensorreturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple
Parametreler
- z (
torch.Tensor) — Girdi partisi latent vektörleri. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~models.vae.DecoderOutputdöndürülüp döndürülmemesi.
Dönüş değeri
~models.vae.DecoderOutput veya tuple
return_dict True ise, ~models.vae.DecoderOutput döndürülür, aksi takdirde düz bir tuple döndürülür.
Bir görüntü grubunu çözümlen.
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 )
Parametreler
- tile_sample_min_height (
int, isteğe bağlı) — Bir örneğin yükseklik boyutu boyunca karolalara ayrılabilmesi için gereken minimum yükseklik. - tile_sample_min_width (
int, isteğe bağlı) — Bir örneğin genişlik boyutu boyunca karolalara ayrılabilmesi için gereken minimum genişlik. - tile_sample_stride_height (
int, isteğe bağlı) — İki ardışık dikey karo arasındaki minimum örtüşme miktarı. Bu, yükseklik boyutu boyunca karo artefaktlarının oluşmamasını sağlamak içindir. - tile_sample_stride_width (
int, isteğe bağlı) — İki ardışık yatay karoyu arasındaki adım. Bu, genişlik boyutu boyunca karo artefaktlarının oluşmamasını sağlamak içindir.
Döşemeli VAE çözümlemesini etkinleştirir. Bu seçenek etkinleştirildiğinde, VAE girdi tensörünü çözümleme ve kodlamayı birden fazla adımda hesaplamak için döşemelere böler. Bu, büyük miktarda bellek tasarrufu sağlamak ve daha büyük görüntülerin işlenmesine izin vermek için kullanışlıdır.
encode
< source >( x: Tensorreturn_dict: bool = True )
Bir görüntü grubunu latentlere kodlayın.
forward
< source >( sample: Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → ~models.vae.DecoderOutput or tuple
Parametreler
- sample (
torch.Tensor) — Girdi örneği. - sample_posterior (
bool, isteğe bağlı, varsayılanFalse) — Posterior'dan örneklemeye alınıp alınmayacağı. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerineDecoderOutputdöndürülüp döndürülmemesi. - generator (
torch.Generator, isteğe bağlı) — Örnekleme işlemini deterministik hale getirmek için kullanılan birtorch.Generator.
Dönüş değeri
~models.vae.DecoderOutput veya tuple
return_dict True ise, ~models.vae.DecoderOutput döndürülür, aksi takdirde düz bir tuple döndürülür.
tiled_decode
< source >( z: Tensorreturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple
Parametreler
- z (
torch.Tensor) — Girdi partisi latent vektörleri. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~models.vae.DecoderOutputdöndürülüp döndürülmemesi.
Dönüş değeri
~models.vae.DecoderOutput veya tuple
return_dict True ise, ~models.vae.DecoderOutput döndürülür, aksi takdirde düz bir tuple döndürülür.
Bir görüntü grubunu karolarlı bir çözücü kullanarak çözümlen.
tiled_encode
< source >( x: Tensor ) → torch.Tensor
Bir görüntü grubunu, karolalı bir kodlayıcı kullanarak kodlayın.
DecoderOutput
sınıf diffusers.models.autoencoders.vae.DecoderOutput
< source >( sample: Tensorcommit_loss: typing.Optional[torch.FloatTensor] = None )
Çözümleme yönteminin çıktısı.