Diffusers documentation
AutoencoderKLKVAEAudio
AutoencoderKLKVAEAudio
Одномерный свёрточный вариационный автоэнкодер (VAE) с потерей KL для аудио, предложенный командой Kandinsky Lab в KVAE-Audio. Он сжимает необработанные широкополосные (48 кГц) звуковые сигналы в компактные непрерывные латентные представления и восстанавливает их с высокой точностью для речи, музыки и общего аудио.
Модель можно загрузить с помощью следующего фрагмента кода.
import torch
from diffusers import AutoencoderKLKVAEAudio
vae = AutoencoderKLKVAEAudio.from_pretrained("kandinskylab/KVAE-Audio", subfolder="diffusers", dtype=torch.float32)AutoencoderKLKVAEAudio
класс diffusers.AutoencoderKLKVAEAudio
< source >( encoder_dim: int = 64encoder_rates: list[int] = [2, 3, 4, 5, 8]latent_dim: int = 2048codebook_dim: int = 64decoder_dim: int = 1536decoder_rates: list[int] = [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) — Частота дискретизации, в Гц, на которой обучалась модель. - num_channels (
int, необязательный, по умолчанию 1) — Количество каналов в аудиоданных (1 для моно). - attn_num_heads (
int, необязательный, по умолчанию 8) — Количество головок в блоке само-внимания, применяемом к выходу кодировщика.
Одномерный свёрточный автоэнкодер для кодирования сырых аудиосигналов в непрерывные латенты и декодирования их обратно в сигналы. Представлен в 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.
Декодирование батча латентов в аудиоволны.
encode
< source >( audio_data: Tensorreturn_dict: bool = True )
Кодирует пакет аудиоволн в латенты.
forward
< source >( sample: Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → DecoderOutput or tuple
Параметры
- sample (
torch.Tensorформы(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.