MNE/Keras/Tensorflow library for classification of EEG data
DeepEEG is a Keras/Tensorflow deep learning library that processes EEG trials or raw files from the MNE toolbox as input and predicts binary trial category as output (could scale to multiclass?).
CAN 2019 Poster presentation on DeepEEG - https://docs.google.com/presentation/d/1hO9wKwBVvfXDtUCz7kVRc0A6BsSwX-oVBsDMgrFwLlg/edit?usp=sharing
Colab Notebook Example with simulated data: https://colab.research.google.com/github/kylemath/DeepEEG/blob/master/notebooks/DeepEEG_Sim.ipynb
Colab Notebook Example with data from Brain Vision Recorder in google drive: https://colab.research.google.com/github/kylemath/DeepEEG/blob/master/notebooks/Deep_EEG_BV.ipynb
Colab Notebook Example with muse data from NeurotechX eeg-notebooks: https://colab.research.google.com/github/kylemath/DeepEEG/blob/master/notebooks/Deep_EEG_Muse.ipynb
DeepEEG is tested on macOS 10.14 with Python3. Prepare your environment the first time:
# using virtualenv
python3 -m venv deepeeg
source deepeeg/bin/activate
# using conda
#conda create -n deepeeg python=3
#source activate deepeeg
git clone https://github.com/kylemath/DeepEEG/
cd DeepEEG
./install.sh
git clone https://github.com/kylemath/eeg-notebooks_v0.1
You are now ready to run DeepEEG.
For example, type python
and use the following:
This loads in some example data from eeg-notebooks
from utils import *
data_dir = 'visual/cueing'
subs = [101,102]
nsesh = 2
event_id = {'LeftCue': 1,'RightCue': 2}
Load muse data, preprocess into trials,prepare for model, create model, and train and test model
#Load Data
raw = LoadMuseData(subs,nsesh,data_dir)
#Pre-Process EEG Data
epochs = PreProcess(raw,event_id)
#Engineer Features for Model
feats = FeatureEngineer(epochs)
#Create Model
model,_ = CreateModel(feats)
#Train with validation, then Test
TrainTestVal(model,feats)
You can run the unittests with the following command:
python -m unittest tests