Diffusers documentation
AutoencoderKLLTX2Video
AutoencoderKLLTX2Video
O modelo de autoencoder variacional 3D (VAE) com perda KL usado em LTX-2 foi introduzido pela Lightricks.
O modelo pode ser carregado com o seguinte trecho de código.
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 )
Parâmetros
- in_channels (
int, padrão3) — Número de canais de entrada. - out_channels (
int, padrão3) — Número de canais de saída. - latent_channels (
int, padrão128) — Número de canais latentes. - block_out_channels (
tuple[int, ...], padrão(128, 256, 512, 512)) — O número de canais de saída para cada bloco. - spatio_temporal_scaling (
tuple[bool, ...], defaults to(True, True, True, False)` — Se um bloco deve ou não conter redução espaço-temporal. - layers_per_block (
tuple[int, ...], padrão(4, 3, 3, 3, 4)) — O número de camadas por bloco. - patch_size (
int, padrão4) — O tamanho dos patches espaciais. - patch_size_t (
int, padrão1) — O tamanho dos patches temporais. - resnet_norm_eps (
float, padrão1e-6) — Valor de epsilon para as camadas de normalização do ResNet. - scaling_factor (
float, opcional, padrão1.0) — 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órmulaz = z * scaling_factorantes 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. - encoder_causal (
bool, padrãoTrue) — Se o codificador deve se comportar de forma causal (quadros futuros dependem apenas de quadros passados) ou não. - decoder_causal (
bool, padrãoFalse) — Se o decodificador deve se comportar de forma causal (quadros futuros dependem apenas de quadros passados) ou não.
Um modelo VAE com perda KL para codificar imagens em latentes e decodificar representações latentes em imagens. Usado no LTX-2.
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: Tensortemb: typing.Optional[torch.Tensor] = Nonecausal: bool | None = Nonereturn_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.
encode
< source >( x: Tensorcausal: bool | None = Nonereturn_dict: bool = True )
Codifica um lote de imagens em latentes.
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_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.
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
Parâmetros
- sample (
torch.Tensor) — Amostra de entrada. - temb (
torch.Tensor, opcional) — Tensor opcional de incorporação de passo de tempo usado para condicionar o decodificador. - sample_posterior (
bool, opcional, padrãoFalse) — Se deve amostrar da posterior. - encoder_causal (
bool, opcional) — Se o encoder deve usar convoluções causais. SeNone, usa o padrão do modelo. - decoder_causal (
bool, opcional) — Se o decodificador deve usar convoluções causais. SeNone, usa o padrão do modelo. - 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: Tensortemb: typing.Optional[torch.Tensor]causal: bool | None = Nonereturn_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: Tensorcausal: bool | None = None ) → torch.Tensor
Codifique um lote de imagens usando um codificador em mosaico.