Buckets:

hf-doc-build/doc / diffusers /main /fr /api /models /autoencoderkl_allegro.md
mishig's picture
|
download
raw
8.37 kB

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[[diffusers.AutoencoderKLAllegro]]

diffusers.AutoencoderKLAllegro[[diffusers.AutoencoderKLAllegro]]

diffusers.AutoencoderKLAllegro(in_channels: int = 3, out_channels: int = 3, down_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 = 4, layers_per_block: int = 2, act_fn: str = 'silu', norm_num_groups: int = 32, temporal_compression_ratio: float = 4, sample_size: int = 320, scaling_factor: float = 0.13, force_upcast: bool = True)

Source

Paramètres :

in_channels (int, par défaut 3) : Nombre de canaux dans 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")) : tuple de chaînes de caractères indiquant les types de down blocks à utiliser.

up_block_types (tuple[str, ...], par défaut ("AllegroUpBlock3D", "AllegroUpBlock3D", "AllegroUpBlock3D", "AllegroUpBlock3D")) : tuple de chaînes de caractères indiquant les types de blocs de montée à utiliser.

block_out_channels (tuple[int, ...], par défaut (128, 256, 512, 512)) : tuple d'entiers indiquant le nombre de canaux de sortie dans 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 convolution résiduelle, 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 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.

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 (tels que le téléchargement ou l'enregistrement).

decode[[diffusers.AutoencoderKLAllegro.decode]]

decode(z: Tensor, return_dict: bool = True)

Source

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[[diffusers.AutoencoderKLAllegro.encode]]

encode(x: Tensor, return_dict: bool = True)

Source

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.

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é.

Encoder un lot de vidéos en latents.

forward[[diffusers.AutoencoderKLAllegro.forward]]

forward(sample: Tensor, sample_posterior: bool = False, return_dict: bool = True, generator: typing.Optional[torch.Generator] = None)

Source

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) : 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[[diffusers.models.modeling_outputs.AutoencoderKLOutput]]

diffusers.models.modeling_outputs.AutoencoderKLOutput[[diffusers.models.modeling_outputs.AutoencoderKLOutput]]

diffusers.models.modeling_outputs.AutoencoderKLOutput(latent_dist: DiagonalGaussianDistribution)

Source

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[[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)

Source

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:
8.37 kB
·
Xet hash:
4598fec8126b3a3bc247a9cd2b67bace94b747a0272bcb6d6fa22243ddd192a7

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.