Views
No views yet
(4, 16, 16)0.04706926643848419 (required for correct latent normalization)

1git clone https://github.com/YoelPilier/AnimeFaces256_AEKL
2cd AnimeFaces256_AEKL
3pip install -r requirements.txt1from Models import VAE
2import torch
3
4vae = VAE.from_pretrained(checkpoint="best", use_ema=True)
5vae = vae.to("cuda")
6vae.eval()1with torch.no_grad():
2 x = batch_images.to("cuda")
3 z_mean, z_log_var = vae.encoder(x)
4 z = vae.reparameterize(z_mean, z_log_var)
5 latents = z * vae.scaling_factor1with torch.no_grad():
2 z = latents / vae.scaling_factor
3 images = vae.decoder(z)1class VAE(nn.Module):
2 REPO_ID = "puruchinera/AnimeFaces256_AEKL"
3
4 def __init__(self, input_dim=3, hidden_dim=64, latent_dim=4, compression_factor=4):
5 super().__init__()
6
7 self.encoder = Encoder(
8 input_dim,
9 hidden_dim,
10 num_downsamples=compression_factor,
11 latent_size=latent_dim,
12 )
13
14 self.decoder = Decoder(
15 input_dim,
16 hidden_dim,
17 num_upsamples=compression_factor,
18 latent_size=latent_dim,
19 )
20
21 self.scaling_factor = 0.04706926643848419
22 self.latent_dim = latent_dim
23
24 def forward(self, x):
25 z_mean, z_log_var = self.encoder(x)
26 z = self.reparameterize(z_mean, z_log_var)
27 reconstructed = self.decoder(z)
28 return reconstructed, z_mean, z_log_var
29
30 def reparameterize(self, mean, log_var):
31 log_var = torch.tanh(log_var) * 5
32 std = torch.exp(0.5 * log_var)
33 eps = torch.randn_like(std)
34 return mean + eps * stdaccelerate:accelerate launch train_vae.py1optimizer = torch.optim.AdamW(
2 model.parameters(),
3 lr=3e-4,
4 weight_decay=1e-5
5)lr = 3e-4lr = 3e-5lr = 5e-6| Metric | Training Value | Validation Value |
|---|---|---|
| Loss | 0.1967 | 0.2022 |
| PSNR | 22.1035 | 22.1793 |
| SSIM | 0.7837 | 0.7853 |
| KL Divergence | 219.7652 | 229.9244 |
| LPIPS | 0.1533 | 0.1611 |
| Reconstruction | 0.0862 | 0.0814 |
1@misc{pilier2026animefaces256aekl,
2 author = {Yoel Pilier},
3 title = {AnimeFaces256-AEKL: AutoencoderKL trained for latent-space image synthesis on anime face datasets},
4 year = {2026},
5 publisher = {GitHub},
6 howpublished = {\url{https://github.com/YoelPilier/AnimeFaces256_AEKL}}
7}