Diffusers documentation

AutoencoderOobleck

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoencoderOobleck

Stability AI 在 Stability-AI/stable-audio-tools 和 Stable Audio Open 中引入了带有 KL 损失的 Oobleck 变分自编码器(VAE)模型。该模型在 🤗 Diffusers 中用于将音频波形编码为潜在表示,并将潜在表示解码为音频波形。

该论文的摘要如下:

开放生成模型对社区至关重要,它们支持微调,并在发布新模型时作为基线。然而,目前大多数文本转音频模型都是私有的,艺术家和研究人员无法基于这些模型进行开发。本文介绍了一个新的开放权重文本转音频模型的架构和训练过程,该模型使用 Creative Commons 数据进行训练。我们的评估表明,该模型在各项指标上的表现与当前最先进水平相当。值得注意的是,报告的 FDopenl3 结果(衡量生成内容的真实感)展示了其在 44.1kHz 下实现高质量立体声合成的潜力。

AutoencoderOobleck

class 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]) — 用于确定隐藏层隐藏大小的倍数。
  • decoder_channels (int,可选,默认为 128) — 解码器的中间表示维度。
  • decoder_input_channels (int,可选,默认为 64) — 解码器的输入维度。对应于潜在维度。
  • audio_channels (int,可选,默认为 2) — 音频数据的通道数。单声道为 1,立体声为 2。
  • sampling_rate (int,可选,默认为 44100) — 用于数字化音频波形的采样率,单位为赫兹(Hz)。

一种自编码器,用于将波形编码为潜在表示,并将潜在表示解码为波形。首次引入于 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

If return_dict is True, a ~models.vae.OobleckDecoderOutput is returned, otherwise a plain tuple is returned.

解码一批图像。

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.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(形状为 (batch_size, audio_channels, sequence_length) 的 torch.Tensor)— 模型最后一层解码输出的样本。

解码方法的输出。

AutoencoderOobleckOutput

class diffusers.models.autoencoders.autoencoder_oobleck.AutoencoderOobleckOutput

< >

( latent_dist: OobleckDiagonalGaussianDistribution )

参数

  • latent_dist (OobleckDiagonalGaussianDistribution) — Encoder 的编码输出,表示为 OobleckDiagonalGaussianDistribution 的均值和标准差。OobleckDiagonalGaussianDistribution 允许从该分布中采样潜在变量。

AutoencoderOobleck 编码方法的输出。

Update on GitHub