| name | neuralset-neuro-ai-framework |
| description | NeuralSet unified Python framework for Neuro-AI research, harmonizing diverse neural recordings (fMRI, M/EEG, spikes) with deep learning embeddings |
| category | neuroscience |
| authors | ["Jean-Rémi King","Corentin Bel","Linnea Evanson","Julien Gadonneix","Sophia Houhamdi","Jarod Lévy","Josephine Raugel","Andrea Santos Revilla","Mingfang Zhang","Julie Bonnaire","Charlotte Caucheteux","Alexandre Défossez","Théo Desbordes","Pablo Diego-Simón","Shubh Khanna","Juliette Millet","Pierre Orhan","Saarang Panchavati","Antoine Ratouchniak","Alexis Thual","Teon L. Brooks","Katelyn Begany","Yohann Benchetrit","Marlène Careil","Hubert Banville","Stéphane d'Ascoli","Simon Dahan","Jérémy Rapin"] |
| arxiv_id | 2605.03169 |
| submission_date | 2026-05-04 |
| doi | https://doi.org/10.48550/arXiv.2605.03169 |
| github | https://github.com/neuralsign/neuralset |
| tags | ["neuro-ai","python framework","data harmonization","fMRI","EEG","MEG","spike recordings","deep learning embeddings","lazy loading","memory-efficient","scalable infrastructure"] |
| activation_keywords | ["neuro-ai","neural data preprocessing","fMRI EEG MEG harmonization","deep learning embeddings for neuroscience","lazy loading","memory-efficient neural data","PyTorch-ready neural data","neural dataset scaling","computational provenance"] |
NeuralSet: A High-Performing Python Package for Neuro-AI
概述
NeuralSet是统一的Python框架,高效处理多样化神经记录(fMRI, M/EEG, spikes)和复杂实验刺激(文本、音频、视频),将神经预处理管道与预训练深度学习嵌入无缝集成。
核心创新
1. 模态无关的数据统一
问题:当前神经科学软件工具分散,按记录模态隔离,无法跨模态整合。
解决方案:
- 单一接口统一处理fMRI、EEG、MEG、spike recordings
- 标准化数据提取管道,消除模态差异
- 支持复杂实验刺激(文本、音频、视频)的嵌入生成
数据流架构:
原始数据 → 模态适配器 → 标准化提取 → 深度嵌入 → PyTorch张量
[fMRI, EEG, MEG, spikes] + [text, audio, video] → unified interface
2. 惰性加载与内存效率
机制:
- 解耦实验元数据与惰性数据提取
- 仅加载当前所需数据片段,避免全数据集内存占用
- 支持大规模自然数据集处理(GB级→TB级)
实现策略:
class NeuralDataset:
def __init__(self, metadata_path):
self.metadata = load_metadata(metadata_path)
self.data_paths = parse_data_paths(metadata)
self.lazy_loader = LazyLoader()
def get_sample(self, index):
return self.lazy_loader.load(self.data_paths[index])
def __iter__(self):
for i in range(len(self)):
yield self.get_sample(i)
内存优化: