Diffusers documentation

AutoencoderKLMagvit

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

and get access to the augmented documentation experience

to get started

AutoencoderKLMagvit

EasyAnimate에서 사용된 KL 손실을 갖춘 3D 변분 오토인코더(VAE) 모델은 Alibaba PAI에서 소개했습니다.

다음 코드 스니펫으로 모델을 로드할 수 있습니다.

from diffusers import AutoencoderKLMagvit

vae = AutoencoderKLMagvit.from_pretrained("alibaba-pai/EasyAnimateV5.1-12b-zh", subfolder="vae", dtype=torch.float16).to("cuda")  # or "mps", "xpu", "cpu"

AutoencoderKLMagvit

class diffusers.AutoencoderKLMagvit

< >

( in_channels: int = 3latent_channels: int = 16out_channels: int = 3block_out_channels: tuple = [128, 256, 512, 512]down_block_types: tuple = ['SpatialDownBlock3D', 'SpatialTemporalDownBlock3D', 'SpatialTemporalDownBlock3D', 'SpatialTemporalDownBlock3D']up_block_types: tuple = ['SpatialUpBlock3D', 'SpatialTemporalUpBlock3D', 'SpatialTemporalUpBlock3D', 'SpatialTemporalUpBlock3D']layers_per_block: int = 2act_fn: str = 'silu'norm_num_groups: int = 32scaling_factor: float = 0.7125spatial_group_norm: bool = True )

KL 손실을 사용하여 이미지를 잠재 변수로 인코딩하고 잠재 표현을 이미지로 디코딩하는 VAE 모델입니다. 이 모델은 EasyAnimate에 사용됩니다.

이 모델은 ModelMixin에서 상속됩니다. 모든 모델에 대해 구현된 일반적 메서드(다운로드 또는 저장 등)에 대해서는 상위 클래스 문서를 확인하세요.

decode

< >

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

매개변수

  • z (torch.Tensor) — 잠재 벡터의 입력 배치.
  • return_dict (bool, 선택 사항, 기본값 True) — 일반 튜플 대신 ~models.vae.DecoderOutput를 반환할지 여부.

반환값

~models.vae.DecoderOutput 또는 tuple

return_dict가 True이면 ~models.vae.DecoderOutput가 반환되고, 그렇지 않으면 일반 tuple이 반환됩니다.

이미지 배치(decode)를 디코딩합니다.

encode

< >

( x: Tensorreturn_dict: bool = True )

매개변수

  • x (torch.Tensor) — 이미지 입력 배치.
  • return_dict (bool, 선택 사항, 기본값 True) — 일반 튜플 대신 ~models.autoencoder_kl.AutoencoderKLOutput을 반환할지 여부.

이미지 배치(latents)를 인코딩합니다.

enable_tiling

< >

( 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 )

매개변수

  • tile_sample_min_height (int, 선택 사항) — 높이 차원에서 샘플이 타일로 분리되려면 필요한 최소 높이입니다.
  • tile_sample_min_width (int, 선택 사항) — 샘플이 너비 차원으로 타일 분리되려면 필요한 최소 너비입니다.
  • tile_sample_stride_height (int, 선택 사항) — 연속된 세로 타일 사이의 최소 겹침 양입니다. 이는 높이 차원에서 타일링 아티팩트가 발생하지 않도록 보장하기 위한 것입니다.
  • tile_sample_stride_width (int, 선택 사항) — 연속된 두 수평 타일 사이의 스트라이드입니다. 이는 너비 차원에서 타일링 아티팩트가 발생하지 않도록 보장하기 위한 것입니다.

타일 VAE 디코딩을 활성화합니다. 이 옵션이 활성화되면 VAE는 입력 텐서를 타일로 분할하여 디코딩 및 인코딩을 여러 단계로 계산합니다. 이는 대량의 메모리를 절약하고 더 큰 이미지를 처리할 수 있도록 하는 데 유용합니다.

forward

< >

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

매개변수

  • sample (torch.Tensor) — 입력 샘플.
  • sample_posterior (bool, 선택 사항, 기본값 False) — 후분포에서 샘플링할지 여부.
  • return_dict (bool, 선택 사항, 기본값 True) — 일반 튜플 대신 DecoderOutput를 반환할지 여부.
  • generator (torch.Generator, 선택 사항) — 샘플링을 결정적으로 만들기 위한 torch.Generator.

반환값

~models.vae.DecoderOutput 또는 tuple

return_dict가 True이면 ~models.vae.DecoderOutput가 반환되고, 그렇지 않으면 일반 tuple이 반환됩니다.

AutoencoderKLOutput

클래스 diffusers.models.modeling_outputs.AutoencoderKLOutput

< >

( latent_dist: DiagonalGaussianDistribution )

매개변수

  • latent_dist (DiagonalGaussianDistribution) — Encoder의 인코딩된 출력으로, DiagonalGaussianDistribution의 평균과 logvar로 표현됩니다. DiagonalGaussianDistribution을 사용하면 해당 분포에서 latent를 샘플링할 수 있습니다.

AutoencoderKL 인코딩 메서드의 출력.

DecoderOutput

class diffusers.models.autoencoders.vae.DecoderOutput

< >

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

매개변수

  • sample (torch.Tensor, shape (batch_size, num_channels, height, width)) — 모델의 마지막 레이어에서 디코딩된 출력 샘플입니다.

디코딩 메서드의 출력.

Update on GitHub