Generative Vision Atlas

Notebooks

Reading about a method tells you what it claims. Running it tells you how it behaves. These notebooks do the second, with outputs produced on an NVIDIA A100 80GB and committed to the repository, so you can see the results before deciding whether to run anything yourself.

What these are and are not

They assemble the original authors' released weights and code so you can compare methods without cloning six repositories and reconciling six environments. Every cell that uses a released model credits the repository it came from.

Nothing here is reimplemented, and nothing here is a new result. Where a measurement in a notebook disagrees with the tidy story, the notebook says so rather than hiding it.

What does the latent actually throw away?

The atlas argues about which space to generate in. This measures the difference.

Round-trips a real image through the autoencoders that successive generations of latent diffusion used, measures what each loses, and shows where the loss lives. Then looks at DINOv2's features and shows why they are a different kind of object, not just a better compression.

SD 1.5 VAESDXL VAESD 3 16-channel VAEDINOv2runs in about a minute

Read it with its outputs → · notebook on GitHub · source

Guidance moves the number more than the architecture does

Why this atlas refuses to publish a leaderboard, demonstrated rather than asserted.

Holds one model, one prompt and one seed completely fixed and varies only the sampler's guidance scale. Prompt adherence measured by CLIP swings by 0.125 across the range and peaks in the middle, on weights that never changed. If a knob set at sampling time moves the output this far, a benchmark number quoted without it is not saying what you think.

SD 1.5classifier-free guidanceCLIPruns in a couple of minutes

Read it with its outputs → · notebook on GitHub · source

Representation autoencoders, run against the VAE they replace

The line this atlas is built around claims you can throw away the VAE. Does it hold up?

Loads three representation autoencoders built on frozen DINOv2, SigLIP 2 and MAE encoders and puts one image through each alongside Stable Diffusion's autoencoder. Ends at the finding that reframed the line: three metrics, three different winners, and the encoder that reconstructs best is not the one that generates best.

RAE (official)DINOv2SigLIP 2MAESD 1.5 VAEruns in a few minutes

Read it with its outputs → · notebook on GitHub · source

How editing methods actually differ

Every editing method claims to preserve what you did not change. They mean different things by it.

Runs three editing mechanisms on the same image and shows what each disturbs: regenerating from noise, enforcing a mask in the latent at every step, and conditioning a fresh generation on a reference. The difference maps make the strength of each guarantee visible.

SD 1.5SDEditlatent masked blendingIP-Adapterruns in a couple of minutes

Read it with its outputs → · notebook on GitHub · source

Running them yourself

You need a CUDA GPU with roughly 16GB or more, and the model weights, which download on first use. The notebooks pin seeds, so your outputs should match the committed ones.

git clone https://github.com/SaharR1372/genai-atlas
cd genai-atlas
pip install torch diffusers transformers accelerate matplotlib jupyter
jupyter lab notebooks/

The notebooks pass local_files_only=True so they never silently download during a run. Remove that argument on first use, or pre-fetch the weights listed in each notebook's credits table.

To rebuild and re-execute everything from source:python notebooks/build.py, then ./notebooks/publish.sh.