Diffusers 文件

AutoencoderKLAllegro

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

AutoencoderKLAllegro

Allegro 中使用的帶有 KL 損失的 3D 變分自編碼器 (VAE) 模型由 RhymesAI 在 Allegro: Open the Black Box of Commercial-Level Video Generation Model 論文中引入。

該模型可以透過以下程式碼片段載入。

from diffusers import AutoencoderKLAllegro

vae = AutoencoderKLAllegro.from_pretrained("rhymes-ai/Allegro", subfolder="vae", torch_dtype=torch.float32).to("cuda")

AutoencoderKLAllegro

class diffusers.AutoencoderKLAllegro

< >

( in_channels: int = 3 out_channels: int = 3 down_block_types: typing.Tuple[str, ...] = ('AllegroDownBlock3D', 'AllegroDownBlock3D', 'AllegroDownBlock3D', 'AllegroDownBlock3D') up_block_types: typing.Tuple[str, ...] = ('AllegroUpBlock3D', 'AllegroUpBlock3D', 'AllegroUpBlock3D', 'AllegroUpBlock3D') block_out_channels: typing.Tuple[int, ...] = (128, 256, 512, 512) temporal_downsample_blocks: typing.Tuple[bool, ...] = (True, True, False, False) temporal_upsample_blocks: typing.Tuple[bool, ...] = (False, True, True, False) latent_channels: int = 4 layers_per_block: int = 2 act_fn: str = 'silu' norm_num_groups: int = 32 temporal_compression_ratio: float = 4 sample_size: int = 320 scaling_factor: float = 0.13 force_upcast: bool = True )

引數

  • in_channels (int, 預設為 3) — 輸入影像中的通道數。
  • out_channels (int, 預設為 3) — 輸出通道數。
  • down_block_types (Tuple[str, ...], 預設為 ("AllegroDownBlock3D", "AllegroDownBlock3D", "AllegroDownBlock3D", "AllegroDownBlock3D")) — 表示要使用的下采樣塊型別的字串元組。
  • up_block_types (Tuple[str, ...], 預設為 ("AllegroUpBlock3D", "AllegroUpBlock3D", "AllegroUpBlock3D", "AllegroUpBlock3D")) — 表示要使用的上取樣塊型別的字串元組。
  • block_out_channels (Tuple[int, ...], 預設為 (128, 256, 512, 512)) — 每個塊中的輸出通道數元組。
  • temporal_downsample_blocks (Tuple[bool, ...], 預設為 (True, True, False, False)) — 表示哪些塊啟用時間下采樣的布林值元組。
  • latent_channels (int, 預設為 4) — 潛在空間中的通道數。
  • layers_per_block (int, 預設為 2) — 每個下/上取樣塊中 resnet 或 attention 或時間卷積層的數量。
  • act_fn (str, 預設為 "silu") — 要使用的啟用函式。
  • norm_num_groups (int, 預設為 32) — 歸一化層中使用的組數。
  • temporal_compression_ratio (int, 預設為 4) — 樣本時間維度壓縮比率。
  • sample_size (int, 預設為 320) — 預設潛在空間大小。
  • scaling_factor (float, 預設為 0.13235) — 使用訓練集的第一批計算的訓練潛在空間的逐分量標準差。這用於在訓練擴散模型時將潛在空間縮放到單位方差。潛在空間在傳遞給擴散模型之前透過公式 z = z * scaling_factor 進行縮放。解碼時,潛在空間透過公式 z = 1 / scaling_factor * z 縮放回原始比例。有關更多詳細資訊,請參閱 高解析度影像合成與潛在擴散模型 論文的 4.3.2 節和 D.1 節。
  • force_upcast (bool, 預設為 True) — 如果啟用,它將強制 VAE 以 float32 執行,以實現高影像解析度流水線,例如 SD-XL。VAE 可以進行微調/訓練以降低範圍,而不會損失太多精度,在這種情況下,force_upcast 可以設定為 False - 請參閱:https://huggingface.co/madebyollin/sdxl-vae-fp16-fix

一個帶有 KL 損失的 VAE 模型,用於將影片編碼為潛在空間並將潛在表示解碼為影片。在 Allegro 中使用。

此模型繼承自 ModelMixin。有關所有模型實現的通用方法(如下載或儲存),請參閱超類文件。

包裝器

< >

( *args **kwargs )

包裝器

< >

( *args **kwargs )

disable_slicing

< >

( )

停用切片 VAE 解碼。如果之前啟用了 enable_slicing,此方法將恢復一步計算解碼。

disable_tiling

< >

( )

停用平鋪 VAE 解碼。如果之前啟用了 enable_tiling,此方法將恢復一步計算解碼。

enable_slicing

< >

( )

啟用切片 VAE 解碼。啟用此選項後,VAE 會將輸入張量分片,分步計算解碼。這有助於節省一些記憶體並允許更大的批次大小。

enable_tiling

< >

( )

啟用平鋪 VAE 解碼。啟用此選項後,VAE 將把輸入張量分割成瓦片,分多步計算編碼和解碼。這對於節省大量記憶體和處理更大的影像非常有用。

forward

< >

( sample: Tensor sample_posterior: bool = False return_dict: bool = True generator: typing.Optional[torch._C.Generator] = None )

引數

  • sample (torch.Tensor) — 輸入樣本。
  • sample_posterior (bool, 可選, 預設為 False) — 是否從後驗取樣。
  • return_dict (bool, 可選, 預設為 True) — 是否返回 DecoderOutput 而不是普通元組。
  • generator (torch.Generator, 可選) — PyTorch 隨機數生成器。

AutoencoderKLOutput

class diffusers.models.modeling_outputs.AutoencoderKLOutput

< >

( latent_dist: DiagonalGaussianDistribution )

引數

  • latent_dist (DiagonalGaussianDistribution) — Encoder 的編碼輸出,表示為 DiagonalGaussianDistribution 的均值和對數方差。DiagonalGaussianDistribution 允許從分佈中取樣潛在變數。

AutoencoderKL 編碼方法的輸出。

DecoderOutput

class diffusers.models.autoencoders.vae.DecoderOutput

< >

( sample: Tensor commit_loss: typing.Optional[torch.FloatTensor] = None )

引數

  • sample (形狀為 (batch_size, num_channels, height, width)torch.Tensor) — 模型最後一層解碼後的輸出樣本。

解碼方法的輸出。

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.