Official codebase for POYO published at NeurIPS 2023 [project page] [arxiv]
First, install uv by following the steps here. Then, create your Python environment:
uv venv venv -p 3.11
source venv/bin/activate
uv pip install -r requirements.txtTo train POYO-MP you first need to download and process the perich_miller_population_2018 data using brainsets.
brainsets config --raw-dir ./data/raw --processed-dir ./data/processed
brainsets prepare perich_miller_population_2018Then you can train POYO-MP by running:
python train.py --config-name train_poyo_mp.yamlCheckout configs/base.yaml and configs/train_poyo_mp.yaml for all configurations available.
To train POYO-1 you first need to download all datasets using brainsets.
brainsets config --raw-dir ./data/raw --processed-dir ./data/processed
brainsets prepare perich_miller_population_2018
brainsets prepare churchland_shenoy_neural_2012
brainsets prepare flint_slutzky_accurate_2012
brainsets prepare odoherty_sabes_nonhuman_2017Then you can train POYO-1 by running:
python train.py --config-name train_poyo_1.yamlCheckout configs/base.yaml and configs/train_poyo_1.yaml for all configurations available.
Please cite our paper if you use this code in your own work:
@inproceedings{
azabou2023unified,
title={A Unified, Scalable Framework for Neural Population Decoding},
author={Mehdi Azabou and Vinam Arora and Venkataramana Ganesh and Ximeng Mao and Santosh Nachimuthu and Michael Mendelson and Blake Richards and Matthew Perich and Guillaume Lajoie and Eva L. Dyer},
booktitle={Thirty-seventh Conference on Neural Information Processing Systems},
year={2023},
}