Diffusers documentation
AutoencoderKLKVAEAudio
AutoencoderKLKVAEAudio
Kandinsky Lab 팀이 KVAE-Audio에서 소개한 KL 손실을 사용하는 1차원 컨볼루션 변분 오토인코더(VAE)입니다. 원본 풀밴드(48 kHz) 웨이브폼을 압축된 연속형 잠재 변수로 압축하고, 음성, 음악, 일반 오디오 전반에 걸쳐 높은 충실도로 재구성합니다.
다음 코드 스니펫으로 모델을 로드할 수 있습니다.
import torch
from diffusers import AutoencoderKLKVAEAudio
vae = AutoencoderKLKVAEAudio.from_pretrained("kandinskylab/KVAE-Audio", subfolder="diffusers", dtype=torch.float32)AutoencoderKLKVAEAudio
class diffusers.AutoencoderKLKVAEAudio
< source >( encoder_dim: int = 64encoder_rates: list = [2, 3, 4, 5, 8]latent_dim: int = 2048codebook_dim: int = 64decoder_dim: int = 1536decoder_rates: list = [8, 5, 4, 3, 2]sample_rate: int = 48000num_channels: int = 1attn_num_heads: int = 8 )
매개변수
- encoder_dim (
int, 선택 사항, 기본값 64) — 인코더의 기본 채널 차원입니다. 모든 다운샘플링 단계에서 두 배로 증가합니다. - encoder_rates (
list[int], 선택 사항, 기본값[2, 3, 4, 5, 8]) — 인코더에서 다운샘플링에 사용되는 스트라이드입니다. - latent_dim (
int, 선택 사항, 기본값 2048) — 인코더 출력의 채널 차원(in_proj병목 처리 전). - codebook_dim (
int, 선택 사항, 기본값 64) — 후분포 잠재 공간의 채널 차원(in_proj병목 이후). - decoder_dim (
int, 선택 사항, 기본값 1536) — 디코더의 기본 채널 차원입니다. 모든 업샘플링 단계에서 절반으로 줄어듭니다. - decoder_rates (
list[int], 선택 사항, 기본값[8, 5, 4, 3, 2]) — 디코더에서 업샘플링에 사용되는 스트라이드입니다. - sample_rate (
int, 선택 사항, 기본값 48000) — 모델이 학습된 Hz 단위의 샘플링 레이트입니다. - num_channels (
int, 선택 사항, 기본값 1) — 오디오 데이터의 채널 수(모노의 경우 1). - attn_num_heads (
int, 선택 사항, 기본값 8) — 인코더 출력에 적용되는 셀프 어텐션 블록의 헤드 수입니다.
원시 오디오 웨이브폼을 연속적인 잠재 변수로 인코딩하고 다시 웨이브폼으로 디코딩하는 1차원 컨볼루션 오토인코더입니다. KVAE-Audio에서 소개되었습니다.
이 모델은 ModelMixin에서 상속됩니다. 모든 모델에 대해 구현된 일반적 메서드(다운로드 또는 저장 등)에 대해서는 상위 클래스 문서를 확인하세요.
decode
< source >( z: Tensorreturn_dict: bool = True ) → DecoderOutput or tuple
매개변수
- z (
torch.Tensor) — 잠재 벡터의 입력 배치. - return_dict (
bool, 선택 사항, 기본값True) — 일반 튜플 대신 DecoderOutput를 반환할지 여부.
반환값
DecoderOutput 또는 tuple
return_dict가 True이면 DecoderOutput가 반환되고, 그렇지 않으면 일반 tuple이 반환됩니다.
latents 배치 하나를 오디오 웨이브폼으로 디코딩합니다.
encode
< source >( audio_data: Tensorreturn_dict: bool = True )
audio waveforms 배치의 오디오 웨이브폼을 latents로 인코딩합니다.
forward
< source >( sample: Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → DecoderOutput or tuple
매개변수
- sample (
torch.Tensor, shape(batch_size, num_channels, num_samples)) — 원시 오디오 웨이브폼의 입력 배치. - sample_posterior (
bool, 선택 사항, 기본값False) — 후분포에서 샘플링할지 여부. - return_dict (
bool, 선택 사항, 기본값True) — 일반 튜플 대신 DecoderOutput를 반환할지 여부. - generator (
torch.Generator, 선택 사항) — 샘플링을 결정적으로 만들기 위한torch.Generator.
반환값
DecoderOutput 또는 tuple
return_dict가 True이면 DecoderOutput가 반환되고, 그렇지 않으면 단순한 tuple이 반환됩니다.