Diffusers documentation
AutoencoderKLLTXVideo
AutoencoderKLLTXVideo
O modelo de autoencoder variacional 3D (VAE) com perda KL usado no LTX foi introduzido pela Lightricks.
O modelo pode ser carregado com o seguinte trecho de código.
from diffusers import AutoencoderKLLTXVideo
vae = AutoencoderKLLTXVideo.from_pretrained("Lightricks/LTX-Video", subfolder="vae", dtype=torch.float32).to("cuda") # or "mps", "xpu", "cpu"AutoencoderKLLTXVideo
classe diffusers.AutoencoderKLLTXVideo
< source >( in_channels: int = 3out_channels: int = 3latent_channels: int = 128block_out_channels: tuple = (128, 256, 512, 512)down_block_types: tuple = ('LTXVideoDownBlock3D', 'LTXVideoDownBlock3D', 'LTXVideoDownBlock3D', 'LTXVideoDownBlock3D')decoder_block_out_channels: tuple = (128, 256, 512, 512)layers_per_block: tuple = (4, 3, 3, 3, 4)decoder_layers_per_block: tuple = (4, 3, 3, 3, 4)spatio_temporal_scaling: tuple = (True, True, True, False)decoder_spatio_temporal_scaling: tuple = (True, True, True, False)decoder_inject_noise: tuple = (False, False, False, False, False)downsample_type: tuple = ('conv', 'conv', 'conv', 'conv')upsample_residual: tuple = (False, False, False, False)upsample_factor: tuple = (1, 1, 1, 1)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 = Falsespatial_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.
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] = 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: Tensorreturn_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 = Falsereturn_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. - 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]return_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.
AutoencoderKLOutput
classe diffusers.models.modeling_outputs.AutoencoderKLOutput
< source >( latent_dist: DiagonalGaussianDistribution )
Saída do método de codificação do AutoencoderKL.
DecoderOutput
classe diffusers.models.autoencoders.vae.DecoderOutput
< source >( sample: Tensorcommit_loss: typing.Optional[torch.FloatTensor] = None )
Saída do método de decodificação.