Views
No views yet
torch.nn primitives only — no pretrained VAE, no diffusers library.| File | Size | Description |
|---|---|---|
vae_best.pt | 34.7 MB | Best VAE checkpoint (v1.2) |
ddpm_best.pt | 107 MB | Best DDPM checkpoint (v1.2) — U-Net with residual blocks + self-attention (8×8, 16×16) + sinusoidal time embedding |
| Model | FID ↓ | Inception Score ↑ | Reconstruction PSNR ↑ | Sampling cost |
|---|---|---|---|---|
| VAE | 97.06 | 2.00 ± 0.06 | 22.47 dB | 1 forward pass |
| DDPM | 26.42 | 2.61 ± 0.17 | n/a | 1000 forward passes (full DDPM) |
src/models/), so these .pt files are raw state_dict weights, not a transformers/diffusers-compatible model. To load them:1git clone https://github.com/AhmedAbdAlkreem/vae-vs-ddpm-celeba
2cd vae-vs-ddpm-celeba
3pip install -r requirements.txt1import torch
2from huggingface_hub import hf_hub_download
3from src.models.vae import VAE
4from src.models.unet import UNet # DDPM denoiser
5
6# Download checkpoints from this Hub repo
7vae_ckpt = hf_hub_download("UseItOrLoseIt/vae-vs-ddpm-celeba", "vae_best.pt")
8ddpm_ckpt = hf_hub_download("UseItOrLoseIt/vae-vs-ddpm-celeba", "ddpm_best.pt")
9
10vae = VAE()
11vae.load_state_dict(torch.load(vae_ckpt, map_location="cpu"))
12vae.eval()
13
14unet = UNet()
15unet.load_state_dict(torch.load(ddpm_ckpt, map_location="cpu"))
16unet.eval()sample.py and inference.py from the source repo directly — they handle config loading, device placement, and output saving for you.