Buckets:

hf-doc-build/doc / diffusers /main /id /api /models /autoencoder_tiny.md
mishig's picture
|
download
raw
7.73 kB
# Tiny AutoEncoder
Tiny AutoEncoder for Stable Diffusion (TAESD) diperkenalkan dalam [madebyollin/taesd](https://github.com/madebyollin/taesd) oleh Ollin Boer Bohan. Ini adalah versi kecil yang disuling dari VAE Stable Diffusion yang dapat dengan cepat mendekode latents dalam [StableDiffusionPipeline](/docs/diffusers/main/id/api/pipelines/stable_diffusion/text2img#diffusers.StableDiffusionPipeline) atau [StableDiffusionXLPipeline](/docs/diffusers/main/id/api/pipelines/stable_diffusion/stable_diffusion_xl#diffusers.StableDiffusionXLPipeline) hampir seketika.
Untuk digunakan dengan Stable Diffusion v-2.1:
```python
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
```python
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]]
```python
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)
```
[Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_tiny.py#L40)
**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](https://huggingface.co/papers/2112.10752). 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](https://huggingface.co/madebyollin/sdxl-vae-fp16-fix) yang ramah fp16 ini).
Model VAE terdistil kecil untuk mengkodekan gambar menjadi latens dan mendekodekan representasi latens menjadi gambar.
[AutoencoderTiny](/docs/diffusers/main/id/api/models/autoencoder_tiny#diffusers.AutoencoderTiny) adalah pembungkus di sekitar implementasi asli dari `TAESD`.
Model ini mewarisi dari [ModelMixin](/docs/diffusers/main/id/api/models/overview#diffusers.ModelMixin). Periksa dokumentasi kelas induk untuk metode generiknya yang diimplementasikan untuk semua model (seperti mengunduh atau menyimpan).
#### forward[[diffusers.AutoencoderTiny.forward]]
```python
forward(sample: Tensor, return_dict: bool = True)
```
[Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_tiny.py#L291)
**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]]
```python
scale_latents(x: Tensor)
```
[Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_tiny.py#L156)
raw latents -> [0, 1]
#### unscale_latents[[diffusers.AutoencoderTiny.unscale_latents]]
```python
unscale_latents(x: Tensor)
```
[Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_tiny.py#L160)
[0, 1] -> latents mentah
## AutoencoderTinyOutput[[diffusers.models.autoencoders.autoencoder_tiny.AutoencoderTinyOutput]]
#### diffusers.models.autoencoders.autoencoder_tiny.AutoencoderTinyOutput[[diffusers.models.autoencoders.autoencoder_tiny.AutoencoderTinyOutput]]
```python
diffusers.models.autoencoders.autoencoder_tiny.AutoencoderTinyOutput(latents: Tensor)
```
[Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_tiny.py#L28)
**Parameter:**
latents (`torch.Tensor`) : Output terenkod dari `Encoder`.
Output dari metode encoding AutoencoderTiny.

Xet Storage Details

Size:
7.73 kB
·
Xet hash:
7b5e77fb3781fcb0506acdd7715bfb475bf664152fdc5c5e3951442836a1e03c

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