Diffusers documentation
AutoencoderKLAllegro
AutoencoderKLAllegro
Allegro'da kullanılan KL kaybına sahip 3D varyasyonel otoenkoder (VAE) modeli, RhymesAI tarafından Allegro: Open the Black Box of Commercial-Level Video Generation Model makalesinde tanıtılmıştır.
Model, aşağıdaki kod parçasıyla yüklenebilir.
from diffusers import AutoencoderKLAllegro
vae = AutoencoderKLAllegro.from_pretrained("rhymes-ai/Allegro", subfolder="vae", dtype=torch.float32).to("cuda") # or "mps", "xpu", "cpu"AutoencoderKLAllegro
sınıf diffusers.AutoencoderKLAllegro
< source >( in_channels: int = 3out_channels: int = 3down_block_types: tuple = ('AllegroDownBlock3D', 'AllegroDownBlock3D', 'AllegroDownBlock3D', 'AllegroDownBlock3D')up_block_types: tuple = ('AllegroUpBlock3D', 'AllegroUpBlock3D', 'AllegroUpBlock3D', 'AllegroUpBlock3D')block_out_channels: tuple = (128, 256, 512, 512)temporal_downsample_blocks: tuple = (True, True, False, False)temporal_upsample_blocks: tuple = (False, True, True, False)latent_channels: int = 4layers_per_block: int = 2act_fn: str = 'silu'norm_num_groups: int = 32temporal_compression_ratio: float = 4sample_size: int = 320scaling_factor: float = 0.13force_upcast: bool = True )
Parametreler
- in_channels (int, varsayılan
3) — Girdi görüntüsündeki kanal sayısı. - out_channels (int, varsayılan
3) — Çıktıdaki kanal sayısı. - down_block_types (
tuple[str, ...], varsayılan("AllegroDownBlock3D", "AllegroDownBlock3D", "AllegroDownBlock3D", "AllegroDownBlock3D")) — Hangi tür down block'ların kullanılacağını belirten string tuple'ı. - up_block_types (
tuple[str, ...], varsayılan("AllegroUpBlock3D", "AllegroUpBlock3D", "AllegroUpBlock3D", "AllegroUpBlock3D")) — Hangi up block türlerinin kullanılacağını belirten string tuple'ı. - block_out_channels (
tuple[int, ...], varsayılan(128, 256, 512, 512)) — Her blokta çıktı kanal sayısını belirten tamsayılar tuple'ı. - temporal_downsample_blocks (
tuple[bool, ...], varsayılan(True, True, False, False)) — Zamansal indirgeme (temporal downsampling) etkinleştirilecek blokları belirleyen boole değerleri tuple'ı. - latent_channels (
int, varsayılan4) — Latentlerdeki kanal sayısı. - layers_per_block (
int, varsayılan2) — Her aşağı/aşağı blok başına resnet veya dikkat veya zamansal konvolüsyon katmanı sayısı. - act_fn (
str, varsayılan"silu") — Kullanılacak aktivasyon fonksiyonu. - norm_num_groups (
int, varsayılan32) — Normalizasyon katmanlarında kullanılacak grup sayısı. - temporal_compression_ratio (
int, varsayılan4) — Örneklerin zaman boyutunun sıkıştırılma oranı. - sample_size (
int, varsayılan320) — Varsayılan gizli (latent) boyutu. - scaling_factor (
float, varsayılan0.13235) — Eğitim setinin ilk partisi kullanılarak hesaplanan, eğitilmiş gizli uzayın bileşen bazlı standart sapması. Bu değer, difüzyon modelinin eğitimi sırasında gizli uzayın birim varyansa sahip olacak şekilde ölçeklendirilmesinde kullanılır. Gizli değişkenler, difüzyon modeline aktarılmadan öncez = z * scaling_factorformülüyle ölçeklenir. Kod çözme sırasında ise gizli değişkenler,z = 1 / scaling_factor * zformülüyle orijinal ölçeğe geri getirilir. Daha fazla ayrıntı için High-Resolution Image Synthesis with Latent Diffusion Models makalesinin 4.3.2 ve D.1 bölümlerine bakınız. - force_upcast (
bool, varsayılanTrue) — Etkinleştirilirse, SD-XL gibi yüksek görüntü çözünürlüğü pipeline'larında VAE'nin float32'de çalışmasını zorlar. VAE, çok fazla hassasiyet kaybı olmadan daha düşük bir aralıkta ince ayarlanabilir / eğitilebilir; bu durumdaforce_upcastFalseolarak ayarlanabilir - bkz: https://huggingface.co/madebyollin/sdxl-vae-fp16-fix
KL kaybı ile videoları latentlere kodlamak ve latent temsilleri videolara çözmek için kullanılan bir VAE modeli. Allegro'da kullanılır.
Bu model ModelMixin sınıfından devralır. Tüm modeller için uygulanan genel yöntemleri (indirme veya kaydetme gibi) görmek için üst sınıfın belgelendirmesine bakın.
decode
< source >( z: Tensorreturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple
Parametreler
- z (
torch.Tensor) — Gizil vektörlerin giriş partisi. - return_dict (
bool, varsayılanTrue) — Düz bir tuple yerine~models.vae.DecoderOutputdöndürülüp döndürülmemesi.
Dönüş değeri
~models.vae.DecoderOutput veya tuple
return_dict True ise, ~models.vae.DecoderOutput döndürülür, aksi takdirde düz bir tuple döndürülür.
Bir video grubunu çözümlen.
encode
< source >( x: Tensorreturn_dict: bool = True )
Bir video grubunu latentlere kodlayın.
forward
< source >( sample: Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → ~models.vae.DecoderOutput or tuple
Parametreler
- sample (
torch.Tensor) — Girdi örneği. - sample_posterior (
bool, isteğe bağlı, varsayılanFalse) — Posterior'dan örneklemeye alınıp alınmayacağı. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerineDecoderOutputdöndürülüp döndürülmemesi. - generator (
torch.Generator, isteğe bağlı) — PyTorch rastgele sayı üreteci.
Dönüş değeri
~models.vae.DecoderOutput veya tuple
return_dict True ise, ~models.vae.DecoderOutput döndürülür, aksi takdirde düz bir tuple döndürülür.
AutoencoderKLOutput
sınıf diffusers.models.modeling_outputs.AutoencoderKLOutput
< source >( latent_dist: DiagonalGaussianDistribution )
AutoencoderKL kodlama yönteminin çıktısı.
DecoderOutput
sınıf diffusers.models.autoencoders.vae.DecoderOutput
< source >( sample: Tensorcommit_loss: typing.Optional[torch.FloatTensor] = None )
Çözümleme yönteminin çıktısı.