whatisgithub

What is openjepa?

prp-e/openjepa — explained in plain English

Analysis updated 2026-05-18

16Jupyter NotebookAudience · researcherComplexity · 4/5Setup · moderate

In one sentence

A from scratch PyTorch implementation of I-JEPA, a self-supervised way to learn image structure and turn it into vector SVG graphics.

Mindmap

mindmap
  root((openjepa))
    What it does
      Learns images without labels
      Predicts hidden latents not pixels
      Decodes latents into SVG shapes
    Tech stack
      Python
      PyTorch
      Jupyter Notebook
    Use cases
      Pretrain a self-supervised vision model
      Extract learned image representations
      Generate vector SVG from images
    Audience
      Researchers
      ML practitioners

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Pretrain a self-supervised vision model on your own unlabeled image folder.

USE CASE 2

Extract abstract per-patch representations from a trained JEPA checkpoint.

USE CASE 3

Train a decoder that converts learned image representations into vector SVG shapes.

USE CASE 4

Run a synthetic data smoke test to verify the full training pipeline works before using real images.

What is it built with?

PythonPyTorchJupyter Notebook

How does it compare?

prp-e/openjeparth/dl-lectures-labsypwhs/carnd-lanelines-p1
Stars161515
LanguageJupyter NotebookJupyter NotebookJupyter Notebook
Last pushed2026-02-062017-01-20
MaintenanceMaintainedDormant
Setup difficultymoderateeasymoderate
Complexity4/52/52/5
Audienceresearcherresearchervibe coder

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Needs PyTorch, torchvision, numpy, pyyaml, and tqdm, training on real images benefits from a GPU.

So what is it?

openjepa is a from scratch implementation, built with PyTorch, of an approach called I-JEPA for teaching a computer to understand images without needing any labeled data. Most methods that learn from unlabeled images work in one of two ways: some train the model to recognize that two altered versions of the same photo, like a cropped or blurred version, are really the same thing, while others hide part of an image and ask the model to redraw the missing pixels exactly. This project takes a third approach. Instead of redrawing pixels, JEPA hides large regions of an image, then trains one part of the model to look at the visible parts and predict an abstract internal representation of what the hidden parts should look like, rather than the actual pixels. A second, more stable copy of the model provides the target this prediction is checked against, and that copy updates slowly over time rather than being trained directly. Because the prediction target is this abstract representation rather than raw pixel colors, the model tends to learn about structure and shape rather than fine grained texture and noise, which the author sees as useful groundwork for a longer term goal of generating vector graphics, or SVG images, where shape matters more than pixel level detail. The repository includes a full pipeline: pretraining this JEPA model on real or synthetic images, extracting the learned internal representations from a trained model, training a separate decoder that turns those representations into curve based vector shapes, and rendering the final result as a real SVG file that can be opened in any browser or image viewer. Because there is no existing dataset that pairs images with matching SVGs, the decoder is instead trained the way an autoencoder would be, by rendering its output back into pixels and comparing that to the original photo. Setup only requires a handful of common Python packages such as PyTorch, torchvision, and numpy, with no internet access needed once installed. A synthetic data mode lets you verify the whole pipeline runs correctly before pointing it at a real folder of your own images.

Copy-paste prompts

Prompt 1
Walk me through installing openjepa's dependencies and running the synthetic smoke test.
Prompt 2
Help me configure configs/default.yaml to pretrain openjepa on my own image folder.
Prompt 3
Explain how openjepa's decoder turns learned latents into an SVG file.
Prompt 4
Show me how to extract per-patch latents from a trained openjepa checkpoint.

Frequently asked questions

What is openjepa?

A from scratch PyTorch implementation of I-JEPA, a self-supervised way to learn image structure and turn it into vector SVG graphics.

What language is openjepa written in?

Mainly Jupyter Notebook. The stack also includes Python, PyTorch, Jupyter Notebook.

How hard is openjepa to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is openjepa for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.