Diffusers documentation

AutoencoderKLAllegro

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.43.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoencoderKLAllegro

O modelo de autoencoder variacional 3D (VAE) com perda KL usado em Allegro foi introduzido em Allegro: Open the Black Box of Commercial-Level Video Generation Model pela RhymesAI.

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

from diffusers import AutoencoderKLAllegro

vae = AutoencoderKLAllegro.from_pretrained("rhymes-ai/Allegro", subfolder="vae", dtype=torch.float32).to("cuda")  # or "mps", "xpu", "cpu"

AutoencoderKLAllegro

classe diffusers.AutoencoderKLAllegro

< >

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

Parâmetros

  • in_channels (int, padrão 3) — Número de canais na imagem de entrada.
  • out_channels (int, padrão 3) — Número de canais na saída.
  • down_block_types (tuple[str, ...], padrão ("AllegroDownBlock3D", "AllegroDownBlock3D", "AllegroDownBlock3D", "AllegroDownBlock3D")) — tupla de strings que indica quais tipos de down blocks usar.
  • up_block_types (tuple[str, ...], padrão ("AllegroUpBlock3D", "AllegroUpBlock3D", "AllegroUpBlock3D", "AllegroUpBlock3D")) — tupla de strings que indica quais tipos de blocos de upsample a serem usados.
  • block_out_channels (tuple[int, ...], padrão (128, 256, 512, 512)) — tupla de inteiros que indica o número de canais de saída em cada bloco.
  • temporal_downsample_blocks (tuple[bool, ...], padrão (True, True, False, False)) — tupla de booleanos que indica em quais blocos habilitar o downsampling temporal.
  • latent_channels (int, padrão 4) — Número de canais nos latentes.
  • layers_per_block (int, padrão 2) — Número de camadas de resnet ou atenção ou convolução temporal por bloco de down/up.
  • act_fn (str, padrão "silu") — A função de ativação a ser utilizada.
  • norm_num_groups (int, padrão 32) — Número de grupos a serem usados nas camadas de normalização.
  • temporal_compression_ratio (int, padrão 4) — Fator pelo qual a dimensão temporal das amostras é comprimida.
  • sample_size (int, padrão 320) — Tamanho padrão do latente.
  • scaling_factor (float, padrão 0.13235) — O desvio padrão por componente do espaço latente treinado, calculado usando o primeiro lote do conjunto de treinamento. Isso é usado para escalar o espaço latente para ter variância unitária durante o treinamento do modelo de difusão. Os latentes são escalados com a fórmula z = z * scaling_factor antes de serem passados para o modelo de difusão. Ao decodificar, os latentes são escalados de volta para a escala original com a fórmula: z = 1 / scaling_factor * z. Para mais detalhes, consulte as seções 4.3.2 e D.1 do artigo High-Resolution Image Synthesis with Latent Diffusion Models.
  • force_upcast (bool, padrão True) — Se habilitado, força o VAE a executar em float32 para pipelines de alta resolução de imagem, como o SD-XL. O VAE pode ser ajustado / treinado para uma faixa menor sem perder muita precisão, caso em que force_upcast pode ser definido como False - veja: https://huggingface.co/madebyollin/sdxl-vae-fp16-fix

Um modelo VAE com perda KL para codificar vídeos em latentes e decodificar representações latentes em vídeos. Usado no Allegro.

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, 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 vídeos.

encode

< >

( x: Tensorreturn_dict: bool = True )

Parâmetros

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

Codifique um lote de vídeos 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) — Gerador de números aleatórios do PyTorch.

Retorna

~models.vae.DecoderOutput ou tuple

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

AutoencoderKLOutput

classe diffusers.models.modeling_outputs.AutoencoderKLOutput

< >

( latent_dist: DiagonalGaussianDistribution )

Parâmetros

  • latent_dist (DiagonalGaussianDistribution) — Saídas codificadas do Encoder representadas como a média e o logvar de DiagonalGaussianDistribution. DiagonalGaussianDistribution permite amostrar latentes da distribuição.

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

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