Teach a model to see, without a single label.
Pretrain a LeJEPA encoder on your own unlabeled images, watch it learn, and check what it learned. This page trains a small demo model in your browser; the desktop app trains real ones with PyTorch on your CPU or GPU.
How it works
-
Load data
Start with the built-in Shapes, or drop a folder of your own images. Files are decoded in the page and never uploaded.
-
Train
Pick a preset and press Start. In the browser a 218k-parameter demo model trains in about a minute; the desktop app trains real encoders with PyTorch from the same config file.
-
See what it learned
Rotate the embedding cloud, check the collapse detector, find nearest neighbours, then score it with a few labels.
What a JEPA learns
A joint-embedding predictive architecture never reconstructs pixels. It learns an embedding in which different views of the same thing land close together, and LeJEPA adds one rule that keeps that embedding from cheating.
Views
Each image is cropped, recoloured and flipped into two large global views and several small local views. They share content, not pixels.
Predict the centre
The encoder maps every view to a vector. The prediction loss pulls each vector toward the mean of the global views: whatever survives cropping is what matters.
Stay Gaussian
Agreement alone is solved by mapping everything to one point. SIGReg tests random 1-D projections of the batch against N(0, 1), so the embedding must stay spread out and isotropic.
In the browser, or on your machine
The website is the same app as the desktop build. In a browser it trains a small demo model locally; the desktop app runs full PyTorch training on your CPU or GPU.
| Capability | Web demo (this site) | Desktop app |
|---|
Download
Installers are built by CI and attached to each GitHub release, with SHA-256 checksums. The app only listens on 127.0.0.1 and never uploads your data.
pip install jepa-studio jepa-studio train --config configs/shapes-quickstart.json jepa-studio serve # the same UI, backed by PyTorch