V-JEPA2 Offline Encoder for Video-Evoked BOLD Responses
This repository contains a PyTorch checkpoint for a basic V-JEPA2-based offline encoder trained to predict video-evoked BOLD responses. The encoder is intended for research workflows involving neural response prediction and neural response-guided visual synthesis.
The checkpoint stores decoder weights and metadata for an offline encoder. This repository includes a custom transformers.AutoModel wrapper and does not require the original training codebase.
Input/Output Contract
The intended input is a short video clip corresponding to the training stimulus duration:
- Input: one 3-second RGB video clip, represented as a float tensor shaped
[B, T, C, H, W]with values in[0, 1]. - Output: one vector of predicted z-scored fMRI beta responses per video, shaped
[B, 20484]. - Temporal dimension: the output has no time dimension. Each 3-second video maps to a single predicted response vector.
This makes the encoder suitable for scoring or optimizing short generated videos against static target neural-response patterns.
The video-input path resizes frames to 224 x 224 and applies the ImageNet normalization used by the V-JEPA2 training pipeline. If you pass already-normalized V-JEPA2 inputs, call model.predict_fmri(video, normalize=False).
Loading
This checkpoint can be loaded with transformers.AutoModel and trust_remote_code=True.
Example:
import torch
from transformers import AutoModel
model = AutoModel.from_pretrained(
"epfl-neuroai/vjepa2-encoder-basic",
trust_remote_code=True,
)
model.eval()
# Replace this with a preprocessed 3-second video tensor.
# Shape: [batch, frames, channels, height, width].
video = torch.zeros(1, 16, 3, 224, 224)
with torch.no_grad():
prediction = model.predict_fmri(video)
print(prediction.shape) # [1, 20484]
For decoder-only debugging, the model can also run from precomputed V-JEPA2 layer features:
model = AutoModel.from_pretrained(
"epfl-neuroai/vjepa2-encoder-basic",
trust_remote_code=True,
load_vjepa=False,
)
features = [
torch.zeros(1, decoder.mean.shape[1])
for decoder in model.decoders
]
with torch.no_grad():
prediction = model.forward_features(features)
Data
This checkpoint was trained using data from:
- BOLD Moments Dataset (BMD): whole-brain fMRI responses to short naturalistic videos.
- Social interaction video fMRI dataset from Emalie McMahon and collaborators: fMRI responses to naturalistic two-person social action videos.
This repository does not include the underlying fMRI datasets or stimulus videos.
Files
vjepa2_offline_encoder.pth: PyTorch checkpoint containing decoder weights, decoding-unit selection metadata, feature-extractor configuration, and registered attributes.config.json,configuration_vjepa2_fmri_encoder.py,modeling_vjepa2_fmri_encoder.py: custom Transformers files forAutoModelloading.requirements.txt: minimal Python dependencies.
Backbone Source
The V-JEPA2 backbone weights are shipped in this repository as:
vitl.pt
The loader uses the V-JEPA2 Torch Hub architecture with pretrained=False, then loads the local vitl.pt weights directly. This avoids relying on the moving facebookresearch/vjepa2 Torch Hub checkpoint URL while preserving compatibility with the original decoder features. The decoder checkpoint uses canonical extractor_config["layer_names"] metadata.
Citations
If you use this checkpoint, please cite the V-JEPA/V-JEPA 2 backbone papers and source datasets:
@article{bardes2024revisiting,
title={Revisiting Feature Prediction for Learning Visual Representations from Video},
author={Bardes, Adrien and Garrido, Quentin and Ponce, Jean and Chen, Xinlei and Rabbat, Michael and LeCun, Yann and Assran, Mahmoud and Ballas, Nicolas},
journal={arXiv preprint arXiv:2404.08471},
year={2024}
}
@article{assran2025vjepa2,
title={V-JEPA 2: Self-Supervised Video Models Enable Understanding, Prediction and Planning},
author={Assran, Mido and Bardes, Adrien and Fan, David and Garrido, Quentin and Howes, Russell and Komeili, Mojtaba and Muckley, Matthew and Rizvi, Ammar and Roberts, Claire and Sinha, Koustuv and others},
journal={arXiv preprint arXiv:2506.09985},
year={2025}
}
@article{tang2025diverse,
title={Diverse perceptual representations across visual pathways emerge from a single objective},
author={Tang, Yingtian and Gokce, Abdulkadir and Al-Karkari, Khaled Jedoui and Yamins, Daniel and Schrimpf, Martin},
journal={bioRxiv},
pages={2025--07},
year={2025},
publisher={Cold Spring Harbor Laboratory}
}
@article{lahner2024modeling,
title={Modeling short visual events through the BOLD moments video fMRI dataset and metadata},
author={Lahner, Benjamin and Dwivedi, Kshitij and Iamshchinina, Polina and Graumann, Monika and Lascelles, Alex and Roig, Gemma and Gifford, Alessandro Thomas and Pan, Bowen and Jin, SouYoung and Ratan Murty, N Apurva and others},
journal={Nature communications},
volume={15},
number={1},
pages={6241},
year={2024},
publisher={Nature Publishing Group UK London}
}
@article{mcmahon2023hierarchical,
title={Hierarchical organization of social action features along the lateral visual pathway},
author={McMahon, Emalie and Bonner, Michael F and Isik, Leyla},
journal={Current Biology},
volume={33},
number={23},
pages={5035--5047},
year={2023},
publisher={Elsevier}
}
- Downloads last month
- 15