Buckets:
AutoencoderKLMochi
Le modèle d'auto-encodeur variationnel 3D (VAE) avec perte KL utilisé dans Mochi a été introduit dans Mochi 1 Preview par l'Université Tsinghua et ZhipuAI.
Le modèle peut être chargé à l'aide du fragment de code suivant.
from diffusers import AutoencoderKLMochi
vae = AutoencoderKLMochi.from_pretrained("genmo/mochi-1-preview", subfolder="vae", dtype=torch.float32).to("cuda") # or "mps", "xpu", "cpu"
AutoencoderKLMochi[[diffusers.AutoencoderKLMochi]]
diffusers.AutoencoderKLMochi[[diffusers.AutoencoderKLMochi]]
diffusers.AutoencoderKLMochi(in_channels: int = 15, out_channels: int = 3, encoder_block_out_channels: tuple[int] = (64, 128, 256, 384), decoder_block_out_channels: tuple[int] = (128, 256, 512, 768), latent_channels: int = 12, layers_per_block: tuple[int, ...] = (3, 3, 4, 6, 3), act_fn: str = 'silu', temporal_expansions: tuple[int, ...] = (1, 2, 3), spatial_expansions: tuple[int, ...] = (2, 2, 2), add_attention_block: tuple[bool, ...] = (False, True, True, True, True), latents_mean: tuple[float, ...] = (-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[float, ...] = (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)
Paramètres :
in_channels (int, facultatif, valeur par défaut 3) : Nombre de canaux de l'image d'entrée.
out_channels (int, facultatif, valeur par défaut 3) : Nombre de canaux dans la sortie.
block_out_channels (tuple[int], facultatif, par défaut (64,)) : tuple des canaux de sortie des blocs.
act_fn (str, facultatif, par défaut "silu") : La fonction d'activation à utiliser.
scaling_factor (float, facultatif, valeur par défaut 1.15258426) : L'écart-type par composante de l'espace latent entraîné, calculé à l'aide du premier lot du jeu de données d'entraînement. Il est utilisé pour mettre à l'échelle l'espace latent afin qu'il ait une variance unitaire lors de l'entraînement du modèle de diffusion. Les latents sont mis à l'échelle avec la formule z = z * scaling_factor avant d'être transmis au modèle de diffusion. Lors du décodage, les latents sont remis à l'échelle d'origine avec la formule : z = 1 / scaling_factor * z. Pour plus de détails, consultez les sections 4.3.2 et D.1 de l'article High-Resolution Image Synthesis with Latent Diffusion Models.
Un modèle VAE avec perte KL pour encoder des images en latents et décoder des représentations latentes en images. Utilisé dans Mochi 1 preview.
Ce modèle hérite de ModelMixin. Consultez la documentation de la classe parente pour ses méthodes génériques implémentées pour tous les modèles (tels que le téléchargement ou l'enregistrement).
decode[[diffusers.AutoencoderKLMochi.decode]]
decode(z: Tensor, return_dict: bool = True)
Paramètres :
z (torch.Tensor) : Lot d'entrée de vecteurs latents.
return_dict (bool, facultatif, par défaut True) : Indique s'il faut retourner un ~models.vae.DecoderOutput plutôt qu'un simple tuple.
Retourne : ~models.vae.DecoderOutput ou tuple
Si return_dict est True, un ~models.vae.DecoderOutput est renvoyé, sinon un simple tuple est renvoyé.
Décoder un lot d'images.
enable_tiling[[diffusers.AutoencoderKLMochi.enable_tiling]]
enable_tiling(tile_sample_min_height: int | None = None, tile_sample_min_width: int | None = None, tile_sample_stride_height: float | None = None, tile_sample_stride_width: float | None = None)
Paramètres :
tile_sample_min_height (int, facultatif) : La hauteur minimale requise pour qu'un échantillon soit séparé en tuiles le long de la dimension de hauteur.
tile_sample_min_width (int, facultatif) : La largeur minimale requise pour qu'un échantillon soit séparé en tuiles le long de la dimension de la largeur.
tile_sample_stride_height (int, facultatif) : La quantité minimale de chevauchement entre deux tuiles verticales consécutives. Cela permet de s'assurer qu'aucun artefact de tuilage n'est produit le long de la dimension de hauteur.
tile_sample_stride_width (int, facultatif) : Le pas entre deux tuiles horizontales consécutives. Cela permet de s'assurer qu'aucun artefact de tuilage n'est produit le long de la dimension de largeur.
Active le décodage VAE par tuiles. Lorsque cette option est activée, le VAE divise le tenseur d’entrée en tuiles pour effectuer le décodage et l’encodage en plusieurs étapes. Cela est utile pour économiser une grande quantité de mémoire et pour permettre le traitement d’images plus grandes.
encode[[diffusers.AutoencoderKLMochi.encode]]
encode(x: Tensor, return_dict: bool = True)
Paramètres :
x (torch.Tensor) : Lot d'images en entrée.
return_dict (bool, facultatif, par défaut True) : Indique s'il faut retourner un ~models.autoencoder_kl.AutoencoderKLOutput plutôt qu'un simple tuple.
Retourne :
Les représentations latentes des vidéos encodées. Si return_dict est True, un ~models.autoencoder_kl.AutoencoderKLOutput est renvoyé, sinon un simple tuple est renvoyé.
Encode un lot d'images en latents.
forward[[diffusers.AutoencoderKLMochi.forward]]
forward(sample: Tensor, sample_posterior: bool = False, return_dict: bool = True, generator: typing.Optional[torch.Generator] = None)
Paramètres :
sample (torch.Tensor) : Échantillon d'entrée.
sample_posterior (bool, facultatif, par défaut False) : Indique s'il faut échantillonner à partir de la distribution a posteriori.
return_dict (bool, facultatif, par défaut True) : Indique s'il faut retourner un DecoderOutput plutôt qu'un simple tuple.
generator (torch.Generator, facultatif) : Un torch.Generator pour rendre l'échantillonnage déterministe.
Retourne : ~models.vae.DecoderOutput ou tuple
Si return_dict est True, un ~models.vae.DecoderOutput est renvoyé, sinon un simple tuple est renvoyé.
tiled_decode[[diffusers.AutoencoderKLMochi.tiled_decode]]
tiled_decode(z: Tensor, return_dict: bool = True)
Paramètres :
z (torch.Tensor) : Lot d'entrée de vecteurs latents.
return_dict (bool, facultatif, par défaut True) : Indique s'il faut retourner un ~models.vae.DecoderOutput plutôt qu'un simple tuple.
Retourne : ~models.vae.DecoderOutput ou tuple
Si return_dict est True, un ~models.vae.DecoderOutput est renvoyé, sinon un simple tuple est renvoyé.
Décoder un lot d'images à l'aide d'un décodeur tuilé.
tiled_encode[[diffusers.AutoencoderKLMochi.tiled_encode]]
tiled_encode(x: Tensor)
Paramètres :
x (torch.Tensor) : Lot d'entrée de vidéos.
Retourne : torch.Tensor
La représentation latente des vidéos encodées.
Encoder un lot d'images à l'aide d'un encodeur tuilé.
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)
Paramètres :
sample (torch.Tensor de forme (batch_size, num_channels, height, width)) : L'échantillon de sortie décodé de la dernière couche du modèle.
Sortie de la méthode de décodage.
Xet Storage Details
- Size:
- 9.12 kB
- Xet hash:
- 0648192df6e09b994e9ca2da351a7561fc8e37483a0e2d33c47df0c39f2825c3
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.