Diffusers documentation

AutoencoderOobleck

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において、オーディオ波形を潜在変数にエンコードし、潜在表現をオーディオ波形にデコードするために使用されます。

論文の抄録は以下の通りです:

オープンな生成モデルはコミュニティにとって極めて重要であり、ファインチューニングを可能にし、新しいモデルを提示する際のベースラインとして機能します。しかし、現在のテキストからオーディオを生成するモデルの多くは非公開であり、アーティストや研究者がその上に構築することができません。ここでは、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

return_dict が True の場合、~models.vae.OobleckDecoderOutput が返され、それ以外の場合は通常の tuple が返されます。

画像のバッチをデコードします。

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 (torch.Tensor、形状 (batch_size, audio_channels, sequence_length)) — モデルの最終層からのデコード済み出力サンプル。

デコードメソッドの出力。

AutoencoderOobleckOutput

class diffusers.models.autoencoders.autoencoder_oobleck.AutoencoderOobleckOutput

< >

( latent_dist: OobleckDiagonalGaussianDistribution )

パラメータ

  • latent_dist (OobleckDiagonalGaussianDistribution) — Encoder のエンコード出力を、OobleckDiagonalGaussianDistribution の平均と標準偏差として表したものです。OobleckDiagonalGaussianDistribution を使用すると、この分布から潜在変数をサンプリングできます。

AutoencoderOobleck のエンコードメソッドの出力。

Update on GitHub