Buckets:
Tiny AutoEncoder
Tiny AutoEncoder for Stable Diffusion (TAESD) diperkenalkan dalam madebyollin/taesd oleh Ollin Boer Bohan. Ini adalah versi kecil yang disuling dari VAE Stable Diffusion yang dapat dengan cepat mendekode latents dalam StableDiffusionPipeline atau StableDiffusionXLPipeline hampir seketika.
Untuk digunakan dengan Stable Diffusion v-2.1:
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
Untuk digunakan dengan Stable Diffusion XL 1.0
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[int, ...] = (64, 64, 64, 64), decoder_block_out_channels: tuple[int, ...] = (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[int, ...] = (1, 3, 3, 3), num_decoder_blocks: tuple[int, ...] = (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)
Parameter:
in_channels (int, opsional, defaultnya 3) : Jumlah channel pada gambar input.
out_channels (int, opsional, defaultnya 3) : Jumlah channel pada output.
encoder_block_out_channels (tuple[int], opsional, defaultnya (64, 64, 64, 64)) : tuple dari bilangan bulat yang mewakili jumlah saluran output untuk setiap blok encoder. Panjang tuple harus sama dengan jumlah blok encoder.
decoder_block_out_channels (tuple[int], opsional, defaultnya (64, 64, 64, 64)) : tuple dari bilangan bulat yang mewakili jumlah kanal output untuk setiap blok decoder. Panjang tuple harus sama dengan jumlah blok decoder.
act_fn (str, opsional, defaultnya "relu") : Fungsi aktivasi yang akan digunakan di seluruh model.
latent_channels (int, opsional, defaultnya 4) : Jumlah channel dalam representasi laten. Ruang laten berfungsi sebagai representasi terkompresi dari gambar input.
upsampling_scaling_factor (int, opsional, defaultnya 2) : Faktor penskalaan untuk upsampling di decoder. Menentukan ukuran gambar keluaran selama proses upsampling.
num_encoder_blocks (tuple[int], opsional, defaultnya (1, 3, 3, 3)) : tuple dari bilangan bulat yang mewakili jumlah blok encoder di setiap tahap proses encoding. Panjang tuple harus sama dengan jumlah tahap di encoder. Setiap tahap memiliki jumlah blok encoder yang berbeda.
num_decoder_blocks (tuple[int], opsional, defaultnya (3, 3, 3, 1)) : tuple dari bilangan bulat yang mewakili jumlah blok decoder di setiap tahap proses decoding. Panjang tuple harus sama dengan jumlah tahap di decoder. Setiap tahap memiliki jumlah blok decoder yang berbeda.
latent_magnitude (float, opsional, default 3.0) : Magnitudo dari representasi laten. Parameter ini menskalakan nilai representasi laten untuk mengontrol sejauh mana informasi dipertahankan.
latent_shift (float, opsional, default 0.5) : Pergeseran yang diterapkan pada representasi laten. Parameter ini mengontrol pusat ruang laten.
scaling_factor (float, opsional, default 1.0) : Standar deviasi per komponen dari ruang laten yang dilatih, dihitung menggunakan batch pertama dari set pelatihan. Ini digunakan untuk menskalakan ruang laten agar memiliki varians satuan saat melatih model difusi. Laten diskalakan dengan rumus z = z * scaling_factor sebelum diteruskan ke model difusi. Saat decoding, laten diskalakan kembali ke skala aslinya dengan rumus: z = 1 / scaling_factor * z. Untuk detail lebih lanjut, lihat bagian 4.3.2 dan D.1 dari paper High-Resolution Image Synthesis with Latent Diffusion Models. Namun, untuk Autoencoder ini, faktor skala semacam itu tidak digunakan, sehingga nilai defaultnya adalah 1.0.
force_upcast (bool, opsional, default False) : Jika diaktifkan, parameter ini akan memaksa VAE untuk berjalan dalam float32 pada pipeline resolusi gambar tinggi, seperti SD-XL. VAE dapat dihaluskan / dilatih ke rentang yang lebih rendah tanpa kehilangan terlalu banyak presisi, di mana force_upcast dapat diatur ke False (lihat AutoEncoder yang ramah fp16 ini).
Model VAE terdistil kecil untuk mengkodekan gambar menjadi latens dan mendekodekan representasi latens menjadi gambar.
AutoencoderTiny adalah pembungkus di sekitar implementasi asli dari TAESD.
Model ini mewarisi dari ModelMixin. Periksa dokumentasi kelas induk untuk metode generiknya yang diimplementasikan untuk semua model (seperti mengunduh atau menyimpan).
forward[[diffusers.AutoencoderTiny.forward]]
forward(sample: Tensor, return_dict: bool = True)
Parameter:
sample (torch.Tensor) : Sampel input.
return_dict (bool, opsional, defaultnya True) : Apakah akan mengembalikan DecoderOutput alih-alih tuple biasa.
Mengembalikan: DecoderOutput atau tuple
Jika return_dict bernilai True, sebuah DecoderOutput akan dikembalikan, selain itu sebuah tuple biasa akan dikembalikan.
scale_latents[[diffusers.AutoencoderTiny.scale_latents]]
scale_latents(x: Tensor)
raw latents -> [0, 1]
unscale_latents[[diffusers.AutoencoderTiny.unscale_latents]]
unscale_latents(x: Tensor)
[0, 1] -> latents mentah
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)
Parameter:
latents (torch.Tensor) : Output terenkod dari Encoder.
Output dari metode encoding AutoencoderTiny.
Xet Storage Details
- Size:
- 7.75 kB
- Xet hash:
- a50d48d4e7afa0778f15d8ba81f782a9e87998842ea71bb8a9adbbd0424a797b
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.