Diffusers documentation
AutoencoderKLLTX2Video
AutoencoderKLLTX2Video
Le modèle d'auto-encodeur variationnel (VAE) 3D avec perte KL utilisé dans LTX-2 a été introduit par Lightricks.
Le modèle peut être chargé à l'aide du fragment de code suivant.
from diffusers import AutoencoderKLLTX2Video
vae = AutoencoderKLLTX2Video.from_pretrained("Lightricks/LTX-2", subfolder="vae", dtype=torch.float32).to("cuda") # or "mps", "xpu", "cpu"AutoencoderKLLTX2Video
classe diffusers.AutoencoderKLLTX2Video
< source >( in_channels: int = 3out_channels: int = 3latent_channels: int = 128block_out_channels: tuple = (256, 512, 1024, 2048)down_block_types: tuple = ('LTX2VideoDownBlock3D', 'LTX2VideoDownBlock3D', 'LTX2VideoDownBlock3D', 'LTX2VideoDownBlock3D')decoder_block_out_channels: tuple = (256, 512, 1024)layers_per_block: tuple = (4, 6, 6, 2, 2)decoder_layers_per_block: tuple = (5, 5, 5, 5)spatio_temporal_scaling: bool | tuple[bool, ...] = (True, True, True, True)decoder_spatio_temporal_scaling: bool | tuple[bool, ...] = (True, True, True)decoder_inject_noise: bool | tuple[bool, ...] = (False, False, False, False)downsample_type: tuple = ('spatial', 'temporal', 'spatiotemporal', 'spatiotemporal')upsample_type: tuple = ('spatiotemporal', 'spatiotemporal', 'spatiotemporal')upsample_residual: bool | tuple[bool, ...] = (True, True, True)upsample_factor: tuple = (2, 2, 2)timestep_conditioning: bool = Falsepatch_size: int = 4patch_size_t: int = 1resnet_norm_eps: float = 1e-06scaling_factor: float = 1.0encoder_causal: bool = Truedecoder_causal: bool = Trueencoder_spatial_padding_mode: str = 'zeros'decoder_spatial_padding_mode: str = 'reflect'spatial_compression_ratio: int = Nonetemporal_compression_ratio: int = None )
Paramètres
- in_channels (
int, par défaut3) — Nombre de canaux d'entrée. - out_channels (
int, par défaut3) — Nombre de canaux de sortie. - latent_channels (
int, par défaut128) — Nombre de canaux latents. - block_out_channels (
tuple[int, ...], par défaut(128, 256, 512, 512)) — Le nombre de canaux de sortie pour chaque bloc. - spatio_temporal_scaling (
tuple[bool, ...], defaults to(True, True, True, False)` — Indique si un bloc doit contenir une réduction spatio-temporelle ou non. - layers_per_block (
tuple[int, ...], par défaut(4, 3, 3, 3, 4)) — Le nombre de couches par bloc. - patch_size (
int, par défaut4) — La taille des patches spatiaux. - patch_size_t (
int, par défaut1) — La taille des patches temporels. - resnet_norm_eps (
float, par défaut1e-6) — Valeur epsilon pour les couches de normalisation de ResNet. - scaling_factor (
float, facultatif, valeur par défaut1.0) — 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 formulez = z * scaling_factoravant 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. - encoder_causal (
bool, par défautTrue) — Indique si l’encodeur doit se comporter de manière causale (les trames futures ne dépendent que des trames passées) ou non. - decoder_causal (
bool, par défautFalse) — Indique si le décodeur doit se comporter de manière causale (les trames futures ne dépendent que des trames passées) ou non.
Un modèle VAE avec perte KL pour encoder des images en latents et décoder des représentations latentes en images. Utilisé dans LTX-2.
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
< source >( z: Tensortemb: typing.Optional[torch.Tensor] = Nonecausal: bool | None = Nonereturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple
Paramètres
- z (
torch.Tensor) — Lot d’entrée de vecteurs latents. - return_dict (
bool, facultatif, par défautTrue) — Indique s'il faut retourner un~models.vae.DecoderOutputplutôt qu'un simple tuple.
Retourne
~models.vae.DecoderOutput ou tuple
If return_dict is True, a ~models.vae.DecoderOutput is returned, otherwise a plain tuple is
returned.
Décoder un lot d'images.
encode
< source >( x: Tensorcausal: bool | None = Nonereturn_dict: bool = True )
Encode un lot d'images en latents.
enable_tiling
< source >( tile_sample_min_height: int | None = Nonetile_sample_min_width: int | None = Nonetile_sample_min_num_frames: int | None = Nonetile_sample_stride_height: float | None = Nonetile_sample_stride_width: float | None = Nonetile_sample_stride_num_frames: float | None = None )
Paramètres
- tile_sample_min_height (
int, facultatif) — 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) — 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) — La distance 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 la 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.
forward
< source >( sample: Tensortemb: typing.Optional[torch.Tensor] = Nonesample_posterior: bool = Falseencoder_causal: bool | None = Nonedecoder_causal: bool | None = Nonereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → ~models.vae.DecoderOutput or tuple
Paramètres
- sample (
torch.Tensor) — Échantillon d'entrée. - temb (
torch.Tensor, facultatif) — Tenseur d’incorporation de pas de temps facultatif utilisé pour conditionner le décodeur. - sample_posterior (
bool, facultatif, par défautFalse) — Indique s'il faut échantillonner à partir de la postérieure. - encoder_causal (
bool, facultatif) — Indique si l'encodeur doit utiliser des convolutions causales. SiNone, la valeur par défaut du modèle est utilisée. - decoder_causal (
bool, facultatif) — Indique si le décodeur doit utiliser des convolutions causales. SiNone, la valeur par défaut du modèle est utilisée. - return_dict (
bool, facultatif, par défautTrue) — Indique s'il faut retourner unDecoderOutputplutôt qu'un simple tuple. - generator (
torch.Generator, facultatif) — Untorch.Generatorpour 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
< source >( z: Tensortemb: typing.Optional[torch.Tensor]causal: bool | None = Nonereturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple
Paramètres
- z (
torch.Tensor) — Lot d’entrée de vecteurs latents. - return_dict (
bool, facultatif, par défautTrue) — Indique s'il faut retourner un~models.vae.DecoderOutputplutôt qu'un simple tuple.
Retourne
~models.vae.DecoderOutput ou tuple
If return_dict is True, a ~models.vae.DecoderOutput is returned, otherwise a plain tuple is
returned.
Décoder un lot d'images à l'aide d'un décodeur tuilé.
tiled_encode
< source >( x: Tensorcausal: bool | None = None ) → torch.Tensor
Encoder un lot d'images à l'aide d'un encodeur tuilé.