Diffusers documentation

AutoencoderOobleck

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

AutoencoderOobleck

KL 손실을 사용하는 Oobleck 변분 오토인코더(VAE) 모델은 Stability AI의 Stability-AI/stable-audio-tools와 Stable Audio Open에서 소개되었습니다. 이 모델은 🤗 Diffusers에서 오디오 웨이브폼을 잠재 변수(latents)로 인코딩하고, 잠재 표현을 오디오 웨이브폼으로 디코딩하는 데 사용됩니다.

해당 논문의 초록은 다음과 같습니다:

오픈 생성 모델은 커뮤니티에 매우 중요하며, 파인튜닝을 가능하게 하고 새로운 모델을 발표할 때 베이스라인으로 활용됩니다. 그러나 현재 대부분의 텍스트-오디오 모델은 비공개이며, 예술가와 연구자가 이를 기반으로 구축할 수 없습니다. 이 글에서는 Creative Commons 데이터로 학습된 새로운 오픈 웨이트 텍스트-오디오 모델의 아키텍처와 학습 과정을 설명합니다. 평가 결과에 따르면, 해당 모델의 성능은 다양한 지표에서 최첨단 수준과 경쟁력이 있습니다. 특히, 생성물의 현실성을 측정하는 FDopenl3 결과에서 44.1kHz의 고품질 스테레오 사운드 합성 잠재력을 보여줍니다.

AutoencoderOobleck

클래스 diffusers.AutoencoderOobleck

< >

( encoder_hidden_size = 128downsampling_ratios = [2, 4, 4, 8, 8]channel_multiples = [1, 2, 4, 8, 16]decoder_channels = 128decoder_input_channels = 64audio_channels = 2sampling_rate = 44100 )

매개변수

  • encoder_hidden_size (int, 선택 사항, 기본값 128) — 인코더의 중간 표현 차원입니다.
  • downsampling_ratios (list[int], 선택 사항, 기본값 [2, 4, 4, 8, 8]) — 인코더에서 다운샘플링에 사용되는 비율입니다. 디코더에서 업샘플링 시 역순으로 사용됩니다.
  • channel_multiples (list[int], 선택 사항, 기본값 [1, 2, 4, 8, 16]) — 숨겨진 레이어의 hidden size를 결정하는 데 사용되는 배수입니다.
  • decoder_channels (int, 선택 사항, 기본값 128) — 디코더의 중간 표현 차원입니다.
  • decoder_input_channels (int, 선택 사항, 기본값 64) — 디코더의 입력 차원입니다. 잠재 차원에 해당합니다.
  • audio_channels (int, 선택 사항, 기본값 2) — 오디오 데이터의 채널 수입니다. 모노는 1, 스테레오는 2입니다.
  • sampling_rate (int, 선택 사항, 기본값 44100) — 오디오 웨이브포름을 디지털화할 때 사용할 샘플링 레이트를 헤르츠(Hz) 단위로 나타낸 값입니다.

latents로 웨이브폼을 인코딩하고 latents 표현을 웨이브폼으로 디코딩하는 오토인코더입니다. 처음에는 Stable Audio에서 소개되었습니다.

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

decode

< >

( z: FloatTensorreturn_dict: bool = Truegenerator = None ) → ~models.vae.OobleckDecoderOutput or tuple

매개변수

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

반환값

~models.vae.OobleckDecoderOutput 또는 tuple

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

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

encode

< >

( x: Tensorreturn_dict: bool = True )

매개변수

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

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

forward

< >

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

매개변수

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

반환값

~models.vae.OobleckDecoderOutput 또는 tuple

return_dict가 True이면 ~models.vae.OobleckDecoderOutput가 반환되고, 그렇지 않으면 단순한 tuple이 반환됩니다.

OobleckDecoderOutput

class diffusers.models.autoencoders.autoencoder_oobleck.OobleckDecoderOutput

< >

( sample: Tensor )

매개변수

  • sample (torch.Tensor, shape (batch_size, audio_channels, sequence_length)) — 모델의 마지막 레이어에서 디코딩된 출력 샘플.

디코딩 메서드의 출력.

AutoencoderOobleckOutput

class diffusers.models.autoencoders.autoencoder_oobleck.AutoencoderOobleckOutput

< >

( latent_dist: OobleckDiagonalGaussianDistribution )

매개변수

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

AutoencoderOobleck 인코딩 메서드의 출력.

Update on GitHub