Diffusers documentation

AutoencoderKLWan

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoencoderKLWan

O modelo de autoencoder variacional 3D (VAE) com perda KL usado no Wan 2.1 pela equipe Wan da Alibaba.

O modelo pode ser carregado com o seguinte trecho de código.

from diffusers import AutoencoderKLWan

vae = AutoencoderKLWan.from_pretrained("Wan-AI/Wan2.1-T2V-1.3B-Diffusers", subfolder="vae", dtype=torch.float32)

AutoencoderKLWan

classe diffusers.AutoencoderKLWan

< >

( base_dim: int = 96decoder_base_dim: int | None = Nonez_dim: int = 16dim_mult: list[int] = [1, 2, 4, 4]num_res_blocks: int = 2attn_scales: list[float] = []temperal_downsample: list[bool] = [False, True, True]dropout: float = 0.0latents_mean: list[float] = [-0.7571, -0.7089, -0.9113, 0.1075, -0.1745, 0.9653, -0.1517, 1.5508, 0.4134, -0.0715, 0.5517, -0.3632, -0.1922, -0.9497, 0.2503, -0.2921]latents_std: list[float] = [2.8184, 1.4541, 2.3275, 2.6558, 1.2196, 1.7708, 2.6052, 2.0743, 3.2687, 2.1526, 2.8652, 1.5579, 1.6382, 1.1253, 2.8251, 1.916]is_residual: bool = Falsein_channels: int = 3out_channels: int = 3patch_size: int | None = Nonescale_factor_temporal: int | None = 4scale_factor_spatial: int | None = 8 )

Um modelo VAE com perda KL para codificar vídeos em latentes e decodificar representações latentes em vídeos. Introduzido em [Wan 2.1].

Este modelo herda de ModelMixin. Consulte a documentação da superclasse para seus métodos genéricos implementados para todos os modelos (como download ou salvamento).

decode

< >

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

Parâmetros

  • z (torch.Tensor) — Lote de entrada de vetores latentes.
  • return_dict (bool, opcional, padrão True) — Se deve retornar um ~models.vae.DecoderOutput em vez de uma tupla simples.

Retorna

~models.vae.DecoderOutput ou tuple

Se return_dict for True, um ~models.vae.DecoderOutput é retornado, caso contrário, uma tuple simples é retornada.

Decodifique um lote de imagens.

enable_tiling

< >

( tile_sample_min_height: int | None = Nonetile_sample_min_width: int | None = Nonetile_sample_stride_height: float | None = Nonetile_sample_stride_width: float | None = None )

Parâmetros

  • tile_sample_min_height (int, opcional) — A altura mínima necessária para que uma amostra seja separada em tiles ao longo da dimensão de altura.
  • tile_sample_min_width (int, opcional) — A largura mínima necessária para que uma amostra seja separada em tiles ao longo da dimensão de largura.
  • tile_sample_stride_height (int, opcional) — A quantidade mínima de sobreposição entre duas tiles verticais consecutivas. Isso garante que não haja artefatos de tiling produzidos ao longo da dimensão de altura.
  • tile_sample_stride_width (int, opcional) — O deslocamento entre duas tiles horizontais consecutivas. Isso garante que não sejam produzidos artefatos de tiling ao longo da dimensão de largura.

Ativa a decodificação do VAE em blocos (tiled). Quando essa opção está ativada, o VAE divide o tensor de entrada em blocos para calcular a decodificação e a codificação em várias etapas. Isso é útil para economizar uma grande quantidade de memória e permitir o processamento de imagens maiores.

encode

< >

( x: Tensorreturn_dict: bool = True )

Parâmetros

  • x (torch.Tensor) — Lote de entrada de imagens.
  • return_dict (bool, opcional, padrão True) — Se deve retornar um ~models.autoencoder_kl.AutoencoderKLOutput em vez de uma tupla simples.

Codifica um lote de imagens em latentes.

forward

< >

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

Parâmetros

  • sample (torch.Tensor) — Amostra de entrada.
  • sample_posterior (bool, opcional, padrão False) — Se deve amostrar da posterior.
  • return_dict (bool, opcional, padrão True) — Se deve ou não retornar um DecoderOutput em vez de uma tupla simples.
  • generator (torch.Generator, opcional) — Um torch.Generator para tornar a amostragem determinística.

Retorna

~models.vae.DecoderOutput ou tuple

Se return_dict for True, um ~models.vae.DecoderOutput é retornado; caso contrário, uma tuple simples é retornada.

tiled_decode

< >

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

Parâmetros

  • z (torch.Tensor) — Lote de entrada de vetores latentes.
  • return_dict (bool, opcional, padrão True) — Se deve ou não retornar um ~models.vae.DecoderOutput em vez de uma tupla simples.

Retorna

~models.vae.DecoderOutput ou tuple

Se return_dict for True, um ~models.vae.DecoderOutput é retornado, caso contrário, uma tuple simples é retornada.

Decodifique um lote de imagens usando um decodificador em mosaico.

tiled_encode

< >

( x: Tensor ) → torch.Tensor

Parâmetros

  • x (torch.Tensor) — Lote de entrada de vídeos.

Retorna

torch.Tensor

A representação latente dos vídeos codificados.

Codifique um lote de imagens usando um codificador em mosaico.

DecoderOutput

classe diffusers.models.autoencoders.vae.DecoderOutput

< >

( sample: Tensorcommit_loss: typing.Optional[torch.FloatTensor] = None )

Parâmetros

  • sample (torch.Tensor de forma (batch_size, num_channels, height, width)) — A amostra de saída decodificada da última camada do modelo.

Saída do método de decodificação.

Update on GitHub