← 开源
facebookresearch

eb_jepa

An open source library designed to provide community examples of Joint Embedding Predictive Architectures (JEPAs). It contains code and examples for learning representations from images, video, and action-conditioned video, as well as planning using JEPA-based models.

ModelsVision modelsEmbedding ModelsPython
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
794
Star
108
Fork
+-1
本周
4
贡献者
创建于 2025-12-21 · 更新于 2026-10-13 · 今日第 13750 名
主要开发者
amirbarBasile-Tervkoustuvsinha

facebookresearch/eb_jepa 排名第 13,750,有 794 个星标。

同类别比较

facebookresearch/eb_jepa 排名第 13,750,此处有 8 个同类条目;NVlabs/CF-3DGS 排名第 13,757。

同类别比较
名称排名指标
AlayaLab/AlayaWorld13,724
语言:
Python
星标数:
796
分叉数:
40
简介:
Full-stack open-source interactive long-horizon world model.
MrGiovanni/ModelsGenesis13,733
语言:
Jupyter Notebook
星标数:
795
分叉数:
142
简介:
[MICCAI 2019 Young Scientist Award] [MedIA Best Paper Award] Models Genesis: self-supervised pre-training for 3D medical images. Learns transferable representations from unlabeled CT and MRI volumes, then fine-tunes for downstream segmentation and classification. Keras and PyTorch weights included.
VinAIResearch/PhoGPT13,734
语言:
Python
星标数:
795
分叉数:
75
简介:
PhoGPT: Generative Pre-training for Vietnamese (2023)
WeChatCV/Stand-In13,735
语言:
Python
星标数:
795
分叉数:
50
简介:
[CVPR2026 🎉] Stand-In is a lightweight, plug-and-play framework for identity-preserving video generation.
NVlabs/CF-3DGS13,757
语言:
Python
星标数:
793
分叉数:
88
NVlabs/GroupViT13,758
语言:
Python
星标数:
793
分叉数:
57
简介:
Official PyTorch implementation of GroupViT: Semantic Segmentation Emerges from Text Supervision, CVPR 2022.
ika-rwth-aachen/Cam2BEV13,765
语言:
Python
星标数:
793
分叉数:
127
简介:
TensorFlow Implementation for Computing a Semantically Segmented Bird's Eye View (BEV) Image Given the Images of Multiple Vehicle-Mounted Cameras.
nvidia-cosmos/cosmos-predict213,779
语言:
Python
星标数:
792
分叉数:
105
简介:
Cosmos-Predict2 is a collection of general-purpose world foundation models for Physical AI that can be fine-tuned into customized world models for downstream applications.
关键参数与规格
关键参数与规格
参数值
语言Python
类别Models
子类别Vision models,Embedding Models
关键词Computer vision, Embeddings, Model architecture, Planning
星标数794
分叉数108
贡献者4
创建日期2025-12-21
更新日期2026-10-13
1 天星标数0
7 天星标数-1
排名13,750
上次排名13,647
排名变化-103
7 天星标排名17,583
上次 7 天星标排名14,122
7 天星标排名变化-3,461
总星标排名13,437
上次总星标排名13,414
总星标排名变化-23
国家USA
README 摘录

Meta AI Research, FAIR Basile Terver , Randall Balestriero, Megi Dervishi, David Fan, Quentin Garrido, Tushar Nagarajan, Koustuv Sinha, Wancong Zhang, Mike Rabbat, Yann LeCun, Amir Bar An open source library and tutorial for learning representations for prediction and planning using joint embedding predictive architectures. Each example is (almost) self-contained and training takes up to a few hours on a single GPU card. Video JEPA Predict next image representation in a sequence. AC Video JEPA JEPA for world modeling + planning

in Two Rooms environment. If you need conda-specific packages, you can use **Conda + uv** Add these to your for persistent configuration. , A100, V100), you may need to reduce batch size to fit in memory. 📂 Folder Structure All experiments use a unified folder structure: encodes key hyperparameters to avoid folder collisions, e. **Full Sweep Configuration:** The flag reads the section from the example's YAML config file (e. Without this flag, only a 3-seed sweep is launched. To customize sweep

parameters, edit the section in the config: Wandb Seed Averaging Runs with the same hyperparameters but different seeds share the same wandb run name, enabling automatic averaging: 1. Click **"Group by"** → select **"Name"** → Groups runs with identical hyperparameters (different seeds) together To filter runs from a specific sweep: 3. Click **"Filter"** → **"Group"** → select your sweep name For detailed wandb sweep analysis (parallel coordinates, hyperparameter importance): 1. Go to wandb web UI → left pane → **"Sweeps"** → click your sweep name **SLURM Configuration

:** To customize SLURM parameters (partition, account, memory, etc. 🧪 Running test cases Libraries added to eb_jepa must have their own test cases. To run the tests: 👩‍💻 Development Before contributing, please format your code with the following tools: 📚 Citing EB-JEPA If you find this repository useful, please consider giving a ⭐ and citing: 📄 License EB-JEPA is Apache licensed.

常见问题

记录了多少星标和分叉?

facebookresearch/eb_jepa 有 794 个星标和 108 个分叉。

仓库排名是多少?

facebookresearch/eb_jepa 排名第 13,750。

记录的语言和类别是什么?

facebookresearch/eb_jepa 有 794 个星标,语言为 Python,类别为 Models。

哪个仓库排名最接近?

facebookresearch/eb_jepa 与 NVlabs/CF-3DGS 比较,后者排名第 13,757,有 793 个星标。

README

⚡ EB-JEPA

Energy-Based Joint-Embedding Predictive Architectures

Meta AI Research, FAIR

Basile Terver, Randall Balestriero, Megi Dervishi, David Fan, Quentin Garrido, Tushar Nagarajan,

Koustuv Sinha, Wancong Zhang, Mike Rabbat, Yann LeCun, Amir Bar

An open source library and tutorial for learning representations for

prediction and planning using joint embedding predictive architectures.

Each example is (almost) self-contained and training takes up to a few hours on a single GPU card.


📚 Examples

Image JEPA

Self-supervised representations from unlabeled images on CIFAR-10, evaluated on classification.

Video JEPA

Predict next image representation in a sequence.

AC Video JEPA

JEPA for world modeling + planning in Two Rooms environment.

Planning Episode Task Definition
Successful planning episode From init to goal state

🚀 Installation

We use uv for package management.

# Install dependencies
uv sync
# Option 1: Activate virtual environment
source .venv/bin/activate
python main.py
# Option 2: Run directly with uv
uv run python main.py

If you need conda-specific packages, you can use Conda + uv

# Create conda environment with Python 3.12
conda create -n eb_jepa python=3.12 -y
conda activate eb_jepa
# Install package in editable mode with dev dependencies (pytest, black, isort)
uv pip install -e . --group dev

Add these to your ~/.bashrc for persistent configuration.

# Required for SLURM jobs to find datasets
export EBJEPA_DSETS=/path/to/eb_jepa/datasets
# Optional: Directory for checkpoints and logs
export EBJEPA_CKPTS=/path/to/checkpoints

🏋️ Training

Quick Start

# Local training
python -m examples.{image_jepa,video_jepa,ac_video_jepa}.main

Our default configs are tuned for H100 GPUs. With older GPUs (e.g., A100, V100), you may need to reduce batch size to fit in memory.

📂 Folder Structure

All experiments use a unified folder structure:

checkpoints/
└── {example_name}/
    ├── dev_2026-01-16_00-10/                 # Single/local runs (dev_ prefix)
    │   └── {exp_name}_seed1/
    │
    ├── sweep_2026-01-16_00-10/         # Auto-named 3-seed sweep
    │   ├── {exp_name}_seed1/
    │   ├── {exp_name}_seed1000/
    │   └── {exp_name}_seed10000/
    │
    └── sweep_my_experiment/            # Custom-named sweep
        └── ...

{exp_name} encodes key hyperparameters to avoid folder collisions, e.g.:

  • image_jepa: resnet_vicreg_proj_bs256_ep300_ph2048_po2048_std1.0_cov80.0
  • video_jepa: resnet_bs64_lr0.001_std10.0_cov100.0
  • ac_video_jepa: impala_cov8_std16_simt12_idm1

🖥️ SLURM Launcher (optional)

Command Description
--example {name} Choose: image_jepa, video_jepa, ac_video_jepa
--fname {path} Run the sweep specified in the config at {path}
--single Launch single job (dev mode)
--sweep {name} Custom sweep name
--array-parallelism {N} Limits the maximum number of concurrent jobs to N
--full-sweep Full hyperparameter sweep from config
--use-wandb-sweep Enable wandb sweep UI
# 3 seeds with wandb averaging (recommended)
python -m examples.launch_sbatch --example image_jepa --fname examples/image_jepa/cfgs/default.yaml

# Custom sweep name
python -m examples.launch_sbatch --example image_jepa --fname examples/image_jepa/cfgs/default.yaml --sweep my_experiment

# Single job
python -m examples.launch_sbatch --example image_jepa --fname examples/image_jepa/cfgs/default.yaml --single

# Full hyperparameter sweep
python -m examples.launch_sbatch --example image_jepa --fname examples/image_jepa/cfgs/default.yaml --full-sweep

# With wandb sweep UI for hyperparameter analysis
python -m examples.launch_sbatch --example image_jepa --fname examples/image_jepa/cfgs/default.yaml --use-wandb-sweep

Replace image_jepa with ac_video_jepa or video_jepa for other examples.

Full Sweep Configuration: The --full-sweep flag reads the sweep.param_grid section from the example's YAML config file (e.g., examples/image_jepa/cfgs/default.yaml). Without this flag, only a 3-seed sweep is launched. To customize sweep parameters, edit the sweep section in the config:

# Example: examples/image_jepa/cfgs/default.yaml
sweep:
  param_grid:
    loss.cov_coeff: [0.1, 1.0, 10.0, 100.0]
    loss.std_coeff: [1.0, 10.0]
    meta.seed: [1, 1000, 10000]

Wandb Seed Averaging

Runs with the same hyperparameters but different seeds share the same wandb run name, enabling automatic averaging:

  1. Go to wandb web UI → Runs table
  2. Click "Group by" → select "Name" → Groups runs with identical hyperparameters (different seeds) together

To filter runs from a specific sweep: 3. Click "Filter" → "Group" → select your sweep name

For detailed wandb sweep analysis (parallel coordinates, hyperparameter importance):

  1. Use --use-wandb-sweep flag when launching
  2. Go to wandb web UI → left pane → "Sweeps" → click your sweep name

SLURM Configuration: To customize SLURM parameters (partition, account, memory, etc.), edit the SLURM_DEFAULTS dictionary at the top of examples/launch_sbatch.py.

🧪 Running test cases

Libraries added to eb_jepa must have their own test cases. To run the tests:

# With uv sync installation
uv run pytest tests/
# With conda + uv installation (no .venv created)
pytest tests/

👩‍💻 Development

Before contributing, please format your code with the following tools:

# Remove unused imports
autoflake --remove-all-unused-imports -r --in-place .
# Sort imports
python -m isort eb_jepa examples tests
# Format code
python -m black eb_jepa examples tests

📚 Citing EB-JEPA

If you find this repository useful, please consider giving a ⭐ and citing:

@misc{terver2026lightweightlibraryenergybasedjointembedding,
      title={A Lightweight Library for Energy-Based Joint-Embedding Predictive Architectures},
      author={Basile Terver and Randall Balestriero and Megi Dervishi and David Fan and Quentin Garrido and Tushar Nagarajan and Koustuv Sinha and Wancong Zhang and Mike Rabbat and Yann LeCun and Amir Bar},
      year={2026},
      eprint={2602.03604},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2602.03604},
}

📄 License

EB-JEPA is Apache licensed. See LICENSE.

排名相邻
同类项目