Diffusers documentation
AutoencoderKLHunyuanVideo
AutoencoderKLHunyuanVideo
O modelo de autoencoder variacional 3D (VAE) com perda KL usado em HunyuanVideo, que foi introduzido em HunyuanVideo: A Systematic Framework For Large Video Generative Models pela Tencent.
O modelo pode ser carregado com o seguinte trecho de código.
from diffusers import AutoencoderKLHunyuanVideo
vae = AutoencoderKLHunyuanVideo.from_pretrained("hunyuanvideo-community/HunyuanVideo", subfolder="vae", dtype=torch.float16)AutoencoderKLHunyuanVideo
classe diffusers.AutoencoderKLHunyuanVideo
< source >( in_channels: int = 3out_channels: int = 3latent_channels: int = 16down_block_types: tuple[str, ...] = ('HunyuanVideoDownBlock3D', 'HunyuanVideoDownBlock3D', 'HunyuanVideoDownBlock3D', 'HunyuanVideoDownBlock3D')up_block_types: tuple[str, ...] = ('HunyuanVideoUpBlock3D', 'HunyuanVideoUpBlock3D', 'HunyuanVideoUpBlock3D', 'HunyuanVideoUpBlock3D')block_out_channels: tuple[int] = (128, 256, 512, 512)layers_per_block: int = 2act_fn: str = 'silu'norm_num_groups: int = 32scaling_factor: float = 0.476986spatial_compression_ratio: int = 8temporal_compression_ratio: int = 4mid_block_add_attention: bool = True )
Um modelo VAE com perda KL para codificar vídeos em latentes e decodificar representações latentes em vídeos. Introduzido em HunyuanVideo.
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
< source >( 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ãoTrue) — Se deve retornar um~models.vae.DecoderOutputem vez de uma tupla simples.
Retorna
~models.vae.DecoderOutput ou tuple
If return_dict is True, a ~models.vae.DecoderOutput is returned, otherwise a plain tuple is
returned.
Decodifique um lote de imagens.
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 )
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_min_num_frames (
int, opcional) — O número mínimo de quadros necessário para que uma amostra seja separada em tiles ao longo da dimensão de quadros. - 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. - tile_sample_stride_num_frames (
int, opcional) — O passo entre duas tiles de quadros consecutivos. Isso garante que não haja artefatos de tiling produzidos ao longo da dimensão de quadros.
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
< source >( x: Tensorreturn_dict: bool = True )
Codifica um lote de imagens em latentes.
forward
< source >( 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ãoFalse) — Se deve amostrar da posterior. - return_dict (
bool, opcional, padrãoTrue) — Se deve ou não retornar umDecoderOutputem vez de uma tupla simples. - generator (
torch.Generator, opcional) — Umtorch.Generatorpara 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
< source >( 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ãoTrue) — Se deve ou não retornar um~models.vae.DecoderOutputem vez de uma tupla simples.
Retorna
~models.vae.DecoderOutput ou tuple
If return_dict is True, a ~models.vae.DecoderOutput is returned, otherwise a plain tuple is
returned.
Decodifique um lote de imagens usando um decodificador em mosaico.
tiled_encode
< source >( x: Tensor ) → torch.Tensor
Codifique um lote de imagens usando um codificador em mosaico.
DecoderOutput
classe diffusers.models.autoencoders.vae.DecoderOutput
< source >( sample: Tensorcommit_loss: typing.Optional[torch.FloatTensor] = None )
Saída do método de decodificação.