Diffusers documentation

AutoencoderKLAllegro

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.43.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoencoderKLAllegro

Le modèle d'auto-encodeur variationnel (VAE) 3D avec perte KL utilisé dans Allegro a été introduit dans Allegro: Open the Black Box of Commercial-Level Video Generation Model par RhymesAI.

Le modèle peut être chargé à l'aide du fragment de code suivant.

from diffusers import AutoencoderKLAllegro

vae = AutoencoderKLAllegro.from_pretrained("rhymes-ai/Allegro", subfolder="vae", dtype=torch.float32).to("cuda")  # or "mps", "xpu", "cpu"

AutoencoderKLAllegro

classe diffusers.AutoencoderKLAllegro

< >

( in_channels: int = 3out_channels: int = 3down_block_types: tuple[str, ...] = ('AllegroDownBlock3D', 'AllegroDownBlock3D', 'AllegroDownBlock3D', 'AllegroDownBlock3D')up_block_types: tuple[str, ...] = ('AllegroUpBlock3D', 'AllegroUpBlock3D', 'AllegroUpBlock3D', 'AllegroUpBlock3D')block_out_channels: tuple[int, ...] = (128, 256, 512, 512)temporal_downsample_blocks: tuple[bool, ...] = (True, True, False, False)temporal_upsample_blocks: tuple[bool, ...] = (False, True, True, False)latent_channels: int = 4layers_per_block: int = 2act_fn: str = 'silu'norm_num_groups: int = 32temporal_compression_ratio: float = 4sample_size: int = 320scaling_factor: float = 0.13force_upcast: bool = True )

Paramètres

  • in_channels (int, par défaut 3) — Nombre de canaux de l'image d'entrée.
  • out_channels (int, par défaut 3) — Nombre de canaux dans la sortie.
  • down_block_types (tuple[str, ...], par défaut ("AllegroDownBlock3D", "AllegroDownBlock3D", "AllegroDownBlock3D", "AllegroDownBlock3D")) — tuplet de chaînes de caractères indiquant les types de blocs de descente à utiliser.
  • up_block_types (tuple[str, ...], par défaut ("AllegroUpBlock3D", "AllegroUpBlock3D", "AllegroUpBlock3D", "AllegroUpBlock3D")) — tuplet de chaînes de caractères indiquant les types de blocs de remontée à utiliser.
  • block_out_channels (tuple[int, ...], par défaut (128, 256, 512, 512)) — tuplet d'entiers indiquant le nombre de canaux de sortie de chaque bloc.
  • temporal_downsample_blocks (tuple[bool, ...], par défaut (True, True, False, False)) — tuple de booléens indiquant dans quels blocs activer le sous-échantillonnage temporel.
  • latent_channels (int, par défaut 4) — Nombre de canaux dans les latents.
  • layers_per_block (int, par défaut 2) — Nombre de couches de resnet ou d'attention ou de convolution temporelle par bloc de descente/montée.
  • act_fn (str, par défaut "silu") — La fonction d'activation à utiliser.
  • norm_num_groups (int, par défaut 32) — Nombre de groupes à utiliser dans les couches de normalisation.
  • temporal_compression_ratio (int, par défaut 4) — Ratio de compression de la dimension temporelle des échantillons.
  • sample_size (int, par défaut 320) — Taille latente par défaut.
  • scaling_factor (float, par défaut 0.13235) — L'écart-type par composante de l'espace latent entraîné, calculé à l'aide du premier lot du jeu 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.
  • force_upcast (bool, par défaut True) — Si activé, force le VAE à s’exécuter en float32 pour les pipelines à haute résolution d’image, tels que SD-XL. Le VAE peut être affiné / entraîné sur une plage inférieure sans perdre trop de précision, auquel cas force_upcast peut être défini sur False - voir : https://huggingface.co/madebyollin/sdxl-vae-fp16-fix

Un modèle VAE avec perte KL pour encoder des vidéos en latents et décoder des représentations latentes en vidéos. Utilisé dans Allegro.

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 (téléchargement ou sauvegarde, par exemple).

décoder

< >

( z: Tensorreturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple

Paramètres

  • z (torch.Tensor) — Lot d'entrée de vecteurs latents.
  • return_dict (bool, 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 de vidéos.

encode

< >

( x: Tensorreturn_dict: bool = True )

Paramètres

  • x (torch.Tensor) — Lot d'entrée de vidéos.
  • return_dict (bool, par défaut True) — Indique s'il faut retourner un ~models.autoencoder_kl.AutoencoderKLOutput plutôt qu'un simple tuple.

Encoder un lot de vidéos en latents.

forward

< >

( sample: Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → ~models.vae.DecoderOutput or tuple

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 postérieure.
  • 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) — Générateur de nombres aléatoires PyTorch.

Retourne

~models.vae.DecoderOutput ou tuple

Si return_dict est True, un ~models.vae.DecoderOutput est renvoyé, sinon un simple tuple est renvoyé.

AutoencoderKLOutput

classe diffusers.models.modeling_outputs.AutoencoderKLOutput

< >

( latent_dist: DiagonalGaussianDistribution )

Paramètres

  • latent_dist (DiagonalGaussianDistribution) — Sorties encodées de Encoder représentées par la moyenne et le logvar de DiagonalGaussianDistribution. DiagonalGaussianDistribution permet d’échantillonner des latents à partir de la distribution.

Sortie de la méthode d'encodage d'AutoencoderKL.

DecoderOutput

classe diffusers.models.autoencoders.vae.DecoderOutput

< >

( sample: Tensorcommit_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.

Update on GitHub