| --- |
| license: cc-by-nc-4.0 |
| library_name: cortexlab |
| tags: |
| - neuroscience |
| - fmri |
| - brain-encoding |
| - multimodal |
| - tribe-v2 |
| - brain-alignment |
| - cognitive-load |
| language: |
| - en |
| pipeline_tag: other |
| --- |
| |
| # CortexLab |
|
|
| Enhanced multimodal fMRI brain encoding toolkit built on [Meta's TRIBE v2](https://github.com/facebookresearch/tribev2). |
|
|
| CortexLab extends TRIBE v2 with streaming inference, interpretability tools, cross-subject adaptation, brain-alignment benchmarking, and cognitive load scoring. |
|
|
| ## What This Repo Contains |
|
|
| This is a **code-only** repository. It does not contain pretrained weights. The pretrained TRIBE v2 model is hosted by Meta at [`facebook/tribev2`](https://huggingface.co/facebook/tribev2). |
|
|
| ## Features |
|
|
| | Feature | Description | |
| |---|---| |
| | **Streaming Inference** | Sliding-window real-time predictions from live feature streams | |
| | **ROI Attention Maps** | Visualize which brain regions attend to which temporal moments | |
| | **Modality Attribution** | Per-vertex importance scores for text, audio, and video | |
| | **Cross-Subject Adaptation** | Ridge regression or nearest-neighbour adaptation for new subjects | |
| | **Brain-Alignment Benchmark** | Score how "brain-like" any AI model's representations are (RSA, CKA, Procrustes) | |
| | **Cognitive Load Scorer** | Predict cognitive demand of media from predicted brain activation patterns | |
|
|
| ## Prerequisites |
|
|
| The pretrained TRIBE v2 model uses **LLaMA 3.2-3B** as its text encoder. You must: |
|
|
| 1. Accept Meta's LLaMA license at [llama.meta.com](https://llama.meta.com/) |
| 2. Request access on [HuggingFace](https://huggingface.co/meta-llama/Llama-3.2-3B) |
| 3. Authenticate: `huggingface-cli login` |
|
|
| ## Installation |
|
|
| ```bash |
| git clone https://github.com/siddhant-rajhans/cortexlab.git |
| cd cortexlab |
| pip install -e ".[analysis]" |
| ``` |
|
|
| ## Quick Start |
|
|
| ### Inference |
|
|
| ```python |
| from cortexlab.inference.predictor import TribeModel |
| |
| model = TribeModel.from_pretrained("facebook/tribev2", device="auto") |
| events = model.get_events_dataframe(video_path="clip.mp4") |
| preds, segments = model.predict(events) |
| ``` |
|
|
| ### Brain-Alignment Benchmark |
|
|
| ```python |
| from cortexlab.analysis import BrainAlignmentBenchmark |
| |
| bench = BrainAlignmentBenchmark(brain_predictions, roi_indices=roi_indices) |
| result = bench.score_model(clip_features, method="rsa") |
| print(f"Alignment: {result.aggregate_score:.3f}") |
| ``` |
|
|
| ### Cognitive Load Scoring |
|
|
| ```python |
| from cortexlab.analysis import CognitiveLoadScorer |
| |
| scorer = CognitiveLoadScorer(roi_indices) |
| result = scorer.score_predictions(predictions) |
| print(f"Overall load: {result.overall_load:.2f}") |
| ``` |
|
|
| ## Compute Requirements |
|
|
| | Component | VRAM | Notes | |
| |---|---|---| |
| | TRIBE v2 encoder | ~1 GB | Small (1.15M params) | |
| | LLaMA 3.2-3B (text) | ~8 GB | Features cached after first run | |
| | V-JEPA2 (video) | ~6 GB | Features cached after first run | |
| | Wav2Vec-BERT (audio) | ~3 GB | Features cached after first run | |
|
|
| Minimum: 16 GB VRAM GPU for full inference. CPU works but is slow. Analysis tools (benchmark, cognitive load) work with zero GPU on precomputed predictions. |
|
|
| ## Architecture |
|
|
| ``` |
| src/cortexlab/ |
| core/ Model architecture, attention extraction, subject adaptation |
| data/ Dataset loading, transforms, HCP ROI utilities |
| training/ PyTorch Lightning training pipeline |
| inference/ Predictor, streaming, modality attribution |
| analysis/ Brain-alignment benchmark, cognitive load scorer |
| viz/ Brain surface visualization (nilearn, pyvista) |
| ``` |
|
|
| ## License |
|
|
| CC BY-NC 4.0 (non-commercial use only), inherited from TRIBE v2. |
|
|
| This project does not redistribute pretrained weights. Users must download weights directly from [`facebook/tribev2`](https://huggingface.co/facebook/tribev2). |
|
|
| ## Citation |
|
|
| If you use CortexLab in your research, please cite the original TRIBE v2 paper: |
|
|
| ```bibtex |
| @article{dascoli2026tribe, |
| title={A foundation model of vision, audition, and language for in-silico neuroscience}, |
| author={d'Ascoli, St{\'e}phane and others}, |
| year={2026} |
| } |
| ``` |
|
|
| ## Links |
|
|
| - **GitHub**: [siddhant-rajhans/cortexlab](https://github.com/siddhant-rajhans/cortexlab) |
| - **TRIBE v2**: [facebookresearch/tribev2](https://github.com/facebookresearch/tribev2) |
| - **Pretrained weights**: [facebook/tribev2](https://huggingface.co/facebook/tribev2) |
|
|