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](https://github.com/rhymes-ai/Allegro) a été introduit dans [Allegro: Open the Black Box of Commercial-Level Video Generation Model](https://huggingface.co/papers/2410.15458) par RhymesAI.
Le modèle peut être chargé à l'aide du fragment de code suivant.
```python
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]]
```python
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](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_allegro.py#L676)
**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](https://huggingface.co/papers/2112.10752).
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](https://github.com/rhymes-ai/Allegro).
Ce modèle hérite de [ModelMixin](/docs/diffusers/main/fr/api/models/overview#diffusers.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]]
```python
decode(z: Tensor, return_dict: bool = True)
```
[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_allegro.py#L843)
**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]]
```python
encode(x: Tensor, return_dict: bool = True)
```
[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_allegro.py#L806)
**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]]
```python
forward(sample: Tensor, sample_posterior: bool = False, return_dict: bool = True, generator: typing.Optional[torch.Generator] = None)
```
[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_allegro.py#L1041)
**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]]
```python
diffusers.models.modeling_outputs.AutoencoderKLOutput(latent_dist: DiagonalGaussianDistribution)
```
[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/modeling_outputs.py#L7)
**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]]
```python
diffusers.models.autoencoders.vae.DecoderOutput(sample: Tensor, commit_loss: typing.Optional[torch.FloatTensor] = None)
```
[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/vae.py#L49)
**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.