You Are the Model - Quick, Draw! diffusion

A tiny class-conditional diffusion model that draws 32x32 doodles, small enough to run a full 25-step DDIM sample in the browser.

It powers You Are the Model, a daily drawing puzzle where the player takes over the denoising loop: at each round you pick which noise prediction to apply, your choice is fed back into the real sampler, and a bad pick genuinely derails the drawing.

Model

Architecture class-conditional U-Net, epsilon prediction
Parameters 1,525,761 (6.1 MB fp32)
Resolution 32x32 grayscale, values in [-1, 1]
Classes 24 (+1 null class for classifier-free guidance)
Noise schedule cosine, 1000 train timesteps
Sampler DDIM, 25 steps, guidance 3.0
Trained 60,000 steps, batch 256, AdamW, EMA 0.9995, bf16
Hardware NVIDIA GeForce RTX 3090, 1.43 h, about $0.221

Classes

cat, fish, flower, house, sailboat, smiley face, star, umbrella, envelope, t-shirt, ice cream, apple, banana, ladder, lightning, mountain, pants, wine glass, eyeglasses, snowman, car, airplane, hand, guitar

Files

File Purpose
yatm_v2.onnx the browser asset - opset 17, dynamic batch
yatm_v2.meta.json class list, sampler settings, parity numbers
yatm_v2.abar.json cosine alpha-bar table, so the JS sampler matches exactly
ema.pt EMA weights (PyTorch)
samples.png fixed-seed sample sheet, one row per class
eval.json classifier gate and guidance sweep
metrics.jsonl training and validation curves
config.resolved.json the exact resolved config and environment

Inputs and outputs

x: float32 [batch, 1, 32, 32]   noisy latent
t: int64   [batch]              timestep, 0..999
y: int64   [batch]              class index, or 24 for unconditional
-> eps: float32 [batch, 1, 32, 32]

Classifier-free guidance: run the batch twice (class and null) and combine with eps = eps_null + w * (eps_class - eps_null).

Evaluation

A held-out CNN classifier (95.4% accurate on real test drawings) labels 99.9% of fixed-seed samples as the class they were conditioned on, at the best guidance scale of 3.0. Weakest class: car at 98.4%.

Python and ONNX Runtime agree to 4.1e-03 maximum absolute difference over a full 25-step sample, so the browser and the training code produce the same picture from the same seed.

Dataset and attribution

Trained on the Google Quick, Draw! dataset (numpy_bitmap 28x28 drawings, padded to 32x32), which is released under CC BY 4.0 by Google Creative Lab. 12,000 drawings per class were downloaded, filtered for empty and over-inked drawings and exact duplicates, then split deterministically.

This model is released under the same CC BY 4.0 licence.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train n4ze3m/yatm-quickdraw-diffusion