/ Модель

Характеристики

Лицензия
MIT
Библиотека
pytorch
Опубликована
24 июл 2026

vae-vs-ddpm-celeba

Генерация изображенийТекст → изображение

Набор весов VAE и DDPM, обученных с нуля на CelebA для безусловной генерации лиц 64×64 и сравнения генеративных подходов.

0скачиваний за 30 дней0лайковвеса обновлены28 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Репозиторий UseItOrLoseIt содержит контрольные веса двух генеративных моделей PyTorch, обученных с нуля на 40 тысячах изображений лиц CelebA, обрезанных до 64×64 пикселей. В комплект входят вариационный автокодировщик VAE и диффузионная модель DDPM на базе U-Net с остаточными блоками, механизмом self-attention на разрешениях 8×8 и 16×16 и синусоидальным временным эмбеддингом.

Модели предназначены для безусловной генерации портретных изображений и сравнения двух подходов. DDPM создаёт более чёткие и реалистичные лица, но при полном семплировании требует 1000 прямых проходов; VAE генерирует изображение за один проход, однако выдаёт более размытые результаты. По данным карточки, FID составляет 26,42 у DDPM и 97,06 у VAE.

Файлы `.pt` содержат веса `state_dict` для пользовательских архитектур и требуют исходный код проекта для загрузки; они не совместимы напрямую с Transformers или Diffusers. Обучающие данные ограничены подмножеством CelebA и умеренным бюджетом обучения, поэтому приведённые метрики характеризуют именно этот эксперимент. Лицензия — MIT.

Сценарии применения

  • генерация синтетических портретов лиц CelebA
  • сравнение VAE и диффузионных моделей
  • эксперименты с генерацией изображений лиц 64×64
  • изучение влияния числа шагов семплирования на качество изображений

Ограничения

DDPM при полном семплировании требует 1000 проходов, а VAE генерирует более размытые изображения. Модели обучены на ограниченном подмножестве CelebA, а веса требуют пользовательского исходного кода для загрузки.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

VAE vs DDPM — CelebA (from scratch)

Pretrained checkpoints for a from-scratch PyTorch Variational Autoencoder (VAE) and Denoising Diffusion Probabilistic Model (DDPM), both trained on 64×64 CelebA face crops as a head-to-head comparison of the two generative model families.

Both models are implemented from base torch.nn primitives only — no pretrained VAE, no diffusers library.

📎 Full training code, configs, and technical write-up: AhmedAbdAlkreem/vae-vs-ddpm-celeba


Files in this repository

FileSizeDescription
vae_best.pt34.7 MBBest VAE checkpoint (v1.2)
ddpm_best.pt107 MBBest DDPM checkpoint (v1.2) — U-Net with residual blocks + self-attention (8×8, 16×16) + sinusoidal time embedding

Both checkpoints correspond to v1.2 in the source repo's version history — the current best result after a documented sampler bug fix (v1.0 → v1.1) and architectural refinements (v1.1 → v1.2). See the CHANGELOG for the full iteration history.


Results (v1.2)

ModelFID ↓Inception Score ↑Reconstruction PSNR ↑Sampling cost
VAE97.062.00 ± 0.0622.47 dB1 forward pass
DDPM26.422.61 ± 0.17n/a1000 forward passes (full DDPM)

DDPM produces sharper, more photorealistic faces at a much higher sampling cost; the VAE is near-instant to sample but characteristically blurry — an architectural trait of pixel-wise reconstruction loss, not a training deficiency. Full quantitative and qualitative comparisons (sample grids, latent-space PCA, interpolations, denoising trajectory) are in the GitHub README.


How to use these checkpoints

The model architectures are custom (defined in the source repo under src/models/), so these .pt files are raw state_dict weights, not a transformers/diffusers-compatible model. To load them:

git clone https://github.com/AhmedAbdAlkreem/vae-vs-ddpm-celeba
cd vae-vs-ddpm-celeba
pip install -r requirements.txt
import torch
from huggingface_hub import hf_hub_download
from src.models.vae import VAE
from src.models.unet import UNet  # DDPM denoiser

# Download checkpoints from this Hub repo
vae_ckpt = hf_hub_download("UseItOrLoseIt/vae-vs-ddpm-celeba", "vae_best.pt")
ddpm_ckpt = hf_hub_download("UseItOrLoseIt/vae-vs-ddpm-celeba", "ddpm_best.pt")

vae = VAE()
vae.load_state_dict(torch.load(vae_ckpt, map_location="cpu"))
vae.eval()

unet = UNet()
unet.load_state_dict(torch.load(ddpm_ckpt, map_location="cpu"))
unet.eval()

For ready-made sampling and inference scripts (VAE reconstruction, DDPM full/DDIM sampling, latent interpolation), use sample.py and inference.py from the source repo directly — they handle config loading, device placement, and output saving for you.


Training data

CelebFaces Attributes (CelebA) Dataset, aligned/cropped to 64×64. v1.2 was trained on a 40,000-image subset (VAE: 40 epochs, DDPM: 50 epochs).

Limitations

  • The VAE has not changed since v1.0 — a perceptual (VGG) loss is implemented in the source config but not yet enabled; this is the most likely lever for reducing VAE blur further.
  • DDIM (fast, ~50-step) sampling is implemented but not yet benchmarked against the full 1000-step DDPM sampler.
  • Training budget (40k images, tens of epochs) is modest relative to published DDPM results on full CelebA (~200k images, hundreds of epochs) — current FID/IS numbers should be read as credible for this budget, not as a ceiling on the architecture.

License

MIT — see LICENSE in the source repo.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · pytorch

Нельзя запустить

Безусловная генерация изображений пока не поддерживается.

Ревизия весов
e06becc

0 моделей