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.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoencoderKLAllegro

Allegro에서 사용된 KL loss를 적용한 3D 변분 오토인코더(VAE) 모델은 RhymesAI의 Allegro: Open the Black Box of Commercial-Level Video Generation Model에서 소개되었습니다.

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

from diffusers import AutoencoderKLAllegro

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

AutoencoderKLAllegro

class diffusers.AutoencoderKLAllegro

< >

( in_channels: int = 3out_channels: int = 3down_block_types: tuple = ('AllegroDownBlock3D', 'AllegroDownBlock3D', 'AllegroDownBlock3D', 'AllegroDownBlock3D')up_block_types: tuple = ('AllegroUpBlock3D', 'AllegroUpBlock3D', 'AllegroUpBlock3D', 'AllegroUpBlock3D')block_out_channels: tuple = (128, 256, 512, 512)temporal_downsample_blocks: tuple = (True, True, False, False)temporal_upsample_blocks: tuple = (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 )

매개변수

  • in_channels (int, 기본값 3) — 입력 이미지의 채널 수.
  • out_channels (int, 기본값 3) — 출력의 채널 수.
  • down_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)) — 시간 차원 다운샘플링을 활성화할 블록을 나타내는 불리언 튜플입니다.
  • latent_channels (int, 기본값 4) — Latents의 채널 수입니다.
  • layers_per_block (int, 기본값 2) — 다운/업 블록당 resnet 또는 attention 또는 temporal convolution 레이어의 수입니다.
  • act_fn (str, 기본값 "silu") — 사용할 활성화 함수입니다.
  • norm_num_groups (int, 기본값 32) — 정규화 레이어에 사용할 그룹 수입니다.
  • temporal_compression_ratio (int, 기본값 4) — 샘플의 시간 차원이 압축되는 비율입니다.
  • sample_size (int, 기본값 320) — 기본 latent 크기입니다.
  • scaling_factor (float, 기본값 0.13235) — 학습 세트의 첫 번째 배치(first batch)를 사용하여 계산된 학습된 잠재 공간(latent space)의 구성 요소별(component-wise) 표준 편차입니다. 이는 diffusion model을 학습할 때 잠재 공간의 분산을 1로 만들기 위해 사용됩니다. 잠재 변수(latents)는 z = z * scaling_factor 공식으로 스케일링된 후 diffusion model에 전달됩니다. 디코딩 시에는 z = 1 / scaling_factor * z 공식을 사용하여 원래의 스케일로 되돌립니다. 자세한 내용은 High-Resolution Image Synthesis with Latent Diffusion Models 논문의 4.3.2절과 D.1절을 참조하세요.
  • force_upcast (bool, 기본값 True) — 활성화하면 SD-XL과 같은 고해상도 이미지 파이프라인에서 VAE가 float32로 실행되도록 강제합니다. VAE는 정밀도가 크게 손실되지 않는 범위 내에서 더 낮은 범위로 fine-tune 또는 학습될 수 있으며, 이 경우 force_upcast를 False로 설정할 수 있습니다 - 참고: https://huggingface.co/madebyollin/sdxl-vae-fp16-fix

KL 손실을 사용하여 비디오를 잠재 변수로 인코딩하고 잠재 표현을 비디오로 디코딩하는 VAE 모델입니다. Allegro에서 사용됩니다.

이 모델은 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이 반환됩니다.

videos 배치의 디코딩을 수행합니다.

encode

< >

( x: Tensorreturn_dict: bool = True )

매개변수

  • x (torch.Tensor) — 입력 비디오 배치.
  • return_dict (bool, 기본값 True) — 단순 튜플 대신 ~models.autoencoder_kl.AutoencoderKLOutput을 반환할지 여부.

…

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, 선택 사항) — PyTorch 난수 생성기입니다.

반환값

~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