Diffusers documentation

AutoencoderOobleck

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoencoderOobleck

Mô hình biến thể tự mã hóa (VAE) Oobleck với tổn thất KL được giới thiệu trong Stability-AI/stable-audio-tools và Stable Audio Open của Stability AI. Mô hình này được sử dụng trong 🤗 Diffusers để mã hóa dạng sóng âm thanh thành các ẩn (latents) và giải mã các biểu diễn ẩn thành dạng sóng âm thanh.

Tóm tắt từ bài báo là:

Các mô hình sinh mở đóng vai trò thiết yếu đối với cộng đồng, cho phép tinh chỉnh và làm cơ sở so sánh khi giới thiệu các mô hình mới. Tuy nhiên, hầu hết các mô hình văn bản sang âm thanh hiện tại đều là riêng tư và không cho phép các nghệ sĩ và nhà nghiên cứu xây dựng dựa trên đó. Ở đây, chúng tôi mô tả kiến trúc và quy trình huấn luyện của một mô hình văn bản sang âm thanh mã nguồn mở mới, được huấn luyện bằng dữ liệu Creative Commons. Đánh giá của chúng tôi cho thấy hiệu suất của mô hình cạnh tranh với mức tiên tiến nhất trên nhiều chỉ số. Đáng chú ý, kết quả FDopenl3 được báo cáo (đo lường tính chân thực của các bản tổng hợp) cho thấy tiềm năng của mô hình trong việc tổng hợp âm thanh stereo chất lượng cao ở 44.1kHz.

AutoencoderOobleck

lớp 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 )

Tham số

  • encoder_hidden_size (int, tùy chọn, mặc định là 128) — Kích thước chiều của biểu diễn trung gian cho encoder.
  • downsampling_ratios (list[int], tuỳ chọn, mặc định là [2, 4, 4, 8, 8]) — Tỷ lệ hạ mẫu trong encoder. Các tỷ lệ này được sử dụng theo thứ tự ngược lại để tăng mẫu trong decoder.
  • channel_multiples (list[int], tùy chọn, mặc định là [1, 2, 4, 8, 16]) — Các bội số được sử dụng để xác định kích thước ẩn của các lớp ẩn.
  • decoder_channels (int, tùy chọn, mặc định là 128) — Kích thước biểu diễn trung gian cho bộ giải mã.
  • decoder_input_channels (int, tùy chọn, mặc định là 64) — Kích thước đầu vào cho bộ giải mã. Tương ứng với kích thước ẩn.
  • audio_channels (int, tùy chọn, mặc định là 2) — Số kênh trong dữ liệu âm thanh. 1 cho mono hoặc 2 cho stereo.
  • sampling_rate (int, tùy chọn, mặc định là 44100) — Tần số lấy mẫu (tính bằng hertz (Hz)) mà tại đó dạng sóng âm thanh cần được số hóa.

Autoencoder dùng để mã hóa dạng sóng thành các ẩn (latents) và giải mã các biểu diễn ẩn thành dạng sóng. Được giới thiệu lần đầu trong Stable Audio.

Mô hình này kế thừa từ ModelMixin. Hãy xem tài liệu của lớp cha để biết các phương thức chung được triển khai cho tất cả các mô hình (chẳng hạn như tải xuống hoặc lưu trữ).

decode

< >

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

Tham số

  • z (torch.Tensor) — Lô đầu vào của các vector ẩn.
  • return_dict (bool, tùy chọn, mặc định là True) — Có nên trả về một ~models.vae.OobleckDecoderOutput thay vì một tuple thông thường hay không.

Trả về

~models.vae.OobleckDecoderOutput hoặc tuple

Nếu return_dict là True, một ~models.vae.OobleckDecoderOutput sẽ được trả về, ngược lại một tuple thông thường sẽ được trả về.

Giải mã một lô ảnh.

encode

< >

( x: Tensorreturn_dict: bool = True )

Tham số

  • x (torch.Tensor) — Lô đầu vào của các hình ảnh.
  • return_dict (bool, tùy chọn, mặc định là True) — Có nên trả về một ~models.autoencoder_kl.AutoencoderKLOutput thay vì một tuple thông thường hay không.

Mã hóa một lô ảnh thành các biến ẩn.

forward

< >

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

Tham số

  • sample (torch.Tensor) — Mẫu đầu vào.
  • sample_posterior (bool, tùy chọn, mặc định là False) — Có lấy mẫu từ posterior hay không.
  • return_dict (bool, tùy chọn, mặc định là True) — Có nên trả về một OobleckDecoderOutput thay vì một tuple thông thường hay không.
  • generator (torch.Generator, tùy chọn) — Một torch.Generator để làm cho việc lấy mẫu trở nên tất định.

Trả về

~models.vae.OobleckDecoderOutput hoặc tuple

Nếu return_dict là True, một ~models.vae.OobleckDecoderOutput sẽ được trả về, ngược lại một tuple thông thường sẽ được trả về.

OobleckDecoderOutput

lớp diffusers.models.autoencoders.autoencoder_oobleck.OobleckDecoderOutput

< >

( sample: Tensor )

Tham số

  • sample (torch.Tensor có hình dạng (batch_size, audio_channels, sequence_length)) — Mẫu đầu ra đã giải mã từ lớp cuối cùng của mô hình.

Đầu ra của phương pháp giải mã.

AutoencoderOobleckOutput

class diffusers.models.autoencoders.autoencoder_oobleck.AutoencoderOobleckOutput

< >

( latent_dist: OobleckDiagonalGaussianDistribution )

Tham số

  • latent_dist (OobleckDiagonalGaussianDistribution) — Đầu ra mã hóa của Encoder được biểu diễn dưới dạng trung bình và độ lệch chuẩn của OobleckDiagonalGaussianDistribution. OobleckDiagonalGaussianDistribution cho phép lấy mẫu các latent từ phân phối này.

Đầu ra của phương pháp mã hóa của AutoencoderOobleck.

Update on GitHub