Buckets:

hf-doc-build/doc / diffusers /main /tr /api /models /autoencoder_tiny.md
mishig's picture
|
download
raw
8.14 kB

Tiny AutoEncoder

Stable Diffusion için Küçük OtoKodlayıcı (TAESD), Ollin Boer Bohan tarafından madebyollin/taesd adlı çalışmada tanıtılmıştır. StableDiffusionPipeline veya StableDiffusionXLPipeline içindeki latentleri neredeyse anında çözebilecek kadar hızlı çalışan, Stable Diffusion'ın VAE'sinin küçültülmüş bir damıtılmış sürümüdür.

Stable Diffusion v-2.1 ile kullanmak için:

import torch
from diffusers import DiffusionPipeline, AutoencoderTiny

pipe = DiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-2-1-base", dtype=torch.float16
)
pipe.vae = AutoencoderTiny.from_pretrained("madebyollin/taesd", dtype=torch.float16)
pipe = pipe.to("cuda")  # or "mps", "xpu", "cpu"

prompt = "slice of delicious New York-style berry cheesecake"
image = pipe(prompt, num_inference_steps=25).images[0]
image

Stable Diffusion XL 1.0 ile kullanmak için

import torch
from diffusers import DiffusionPipeline, AutoencoderTiny

pipe = DiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", dtype=torch.float16
)
pipe.vae = AutoencoderTiny.from_pretrained("madebyollin/taesdxl", dtype=torch.float16)
pipe = pipe.to("cuda")  # or "mps", "xpu", "cpu"

prompt = "slice of delicious New York-style berry cheesecake"
image = pipe(prompt, num_inference_steps=25).images[0]
image

AutoencoderTiny[[diffusers.AutoencoderTiny]]

diffusers.AutoencoderTiny[[diffusers.AutoencoderTiny]]

diffusers.AutoencoderTiny(in_channels: int = 3, out_channels: int = 3, encoder_block_out_channels: tuple = (64, 64, 64, 64), decoder_block_out_channels: tuple = (64, 64, 64, 64), act_fn: str = 'relu', upsample_fn: str = 'nearest', latent_channels: int = 4, upsampling_scaling_factor: int = 2, num_encoder_blocks: tuple = (1, 3, 3, 3), num_decoder_blocks: tuple = (3, 3, 3, 1), latent_magnitude: int = 3, latent_shift: float = 0.5, force_upcast: bool = False, scaling_factor: float = 1.0, shift_factor: float = 0.0)

Kaynak

Parametreler:

in_channels (int, isteğe bağlı, varsayılan 3) : Girdi görüntüsündeki kanal sayısı.

out_channels (int, isteğe bağlı, varsayılan 3): Çıktıdaki kanal sayısı.

encoder_block_out_channels (tuple[int], isteğe bağlı, varsayılan (64, 64, 64, 64)) : Her kodlayıcı bloğu için çıktı kanal sayısını temsil eden tamsayıların bir demeti. Demetin uzunluğu, kodlayıcı bloklarının sayısına eşit olmalıdır.

decoder_block_out_channels (tuple[int], isteğe bağlı, varsayılan (64, 64, 64, 64)) : Her decoder bloğu için çıktı kanal sayısını temsil eden tamsayıların bir tuple'ı. Tuple'ın uzunluğu, decoder bloklarının sayısına eşit olmalıdır.

act_fn (str, isteğe bağlı, varsayılan "relu") : Modelin tamamında kullanılacak aktivasyon fonksiyonu.

latent_channels (int, isteğe bağlı, varsayılan 4) : Gizil temsildeki kanal sayısı. Gizil uzay, girdi görüntüsünün sıkıştırılmış bir temsili olarak işlev görür.

upsampling_scaling_factor (int, isteğe bağlı, varsayılan 2) : Dekoderde yukarı örneklemeye (upsampling) uygulanan ölçekleme faktörü. Yukarı örneklemeye (upsampling) işlemi sırasında çıktı görüntüsünün boyutunu belirler.

num_encoder_blocks (tuple[int], isteğe bağlı, varsayılan (1, 3, 3, 3)) : Kodlama sürecinin her aşamasındaki kodlayıcı bloklarının sayısını temsil eden tamsayılar tuple'ı. Tuple'ın uzunluğu, kodlayıcıdaki aşama sayısına eşit olmalıdır. Her aşamanın farklı sayıda kodlayıcı bloğu vardır.

num_decoder_blocks (tuple[int], isteğe bağlı, varsayılan (3, 3, 3, 1)) : Çözme sürecinin her aşamasındaki decoder blok sayısını temsil eden tamsayılar tuple'ı. Tuple'ın uzunluğu, decoder'daki aşama sayısına eşit olmalıdır. Her aşamanın farklı sayıda decoder bloğu vardır.

latent_magnitude (float, opsiyonel, varsayılan 3.0) : Latent temsilin büyüklüğü. Bu parametre, bilgi koruma derecesini kontrol etmek için latent temsil değerlerini ölçekler.

latent_shift (float, isteğe bağlı, varsayılan 0.5) : Latent temsile uygulanan kaydırma. Bu parametre, latent uzayın merkezini kontrol eder.

scaling_factor (float, opsiyonel, varsayılan 1.0) : 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 ölçeklenmesi için kullanılır. Gizli değişkenler, difüzyon modeline aktarılmadan önce z = z * scaling_factor formülüyle ölçeklenir. Kod çözme sırasında ise gizli değişkenler, orijinal ölçeğe şu formülle geri ölçeklenir: z = 1 / scaling_factor * z. 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. Ancak bu Otoenkoder için böyle bir ölçekleme faktörü kullanılmadığından, varsayılan değer 1.0'dır.

force_upcast (bool, isteğe bağlı, varsayılan False) : Etkinleştirilirse, SD-XL gibi yüksek görüntü çözünürlüğü boru hatlarında VAE'nin float32'de çalışmasını zorlar. VAE, çok fazla hassasiyet kaybı olmadan daha düşük bir aralığa ince ayarlanabilir / eğitilebilir; bu durumda force_upcast False olarak ayarlanabilir (bkz. bu fp16 uyumlu AutoEncoder).

Görselleri latentlere kodlamak ve latent temsilleri görsellere çözmek için küçük bir damıtılmış VAE modeli.

AutoencoderTiny, TAESD'nin orijinal uygulamasının bir sarmalayıcısıdır.

Bu model ModelMixin sınıfından devralır. Tüm modeller için uygulanan genel yöntemlerini (indirme veya kaydetme gibi) görmek için üst sınıfın belgelerini kontrol edin.

forward[[diffusers.AutoencoderTiny.forward]]

forward(sample: Tensor, return_dict: bool = True)

Kaynak

Parametreler:

sample (torch.Tensor) : Girdi örneği.

return_dict (bool, isteğe bağlı, varsayılan True) : Düz bir tuple yerine DecoderOutput döndürülüp döndürülmemesi.

Dönüş: DecoderOutput veya tuple

return_dict True ise, DecoderOutput döndürülür; aksi halde düz bir tuple döndürülür.

scale_latents[[diffusers.AutoencoderTiny.scale_latents]]

scale_latents(x: Tensor)

Kaynak

ham latents -> [0, 1]

unscale_latents[[diffusers.AutoencoderTiny.unscale_latents]]

unscale_latents(x: Tensor)

Kaynak

[0, 1] -> ham latentler

AutoencoderTinyOutput[[diffusers.models.autoencoders.autoencoder_tiny.AutoencoderTinyOutput]]

diffusers.models.autoencoders.autoencoder_tiny.AutoencoderTinyOutput[[diffusers.models.autoencoders.autoencoder_tiny.AutoencoderTinyOutput]]

diffusers.models.autoencoders.autoencoder_tiny.AutoencoderTinyOutput(latents: Tensor)

Kaynak

Parametreler:

latents (torch.Tensor) : Encoder'ın kodlanmış çıktıları.

AutoencoderTiny kodlama yönteminin çıktısı.

Xet Storage Details

Size:
8.14 kB
·
Xet hash:
64f160e545f1f2ae618d1650a15a683cae8a1be24460b1d72635070c1a238e5a

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.