sajjadkarimi91 / MultitaskSleepNet

Joint Classification and Prediction CNN Framework for Automatic Sleep Stage Classification

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MultitaskSleepNet

These are source code and experimental setup for two sleep databases: SleepEDF Expanded database and MASS database, used in our above arXiv preprint. Although the networks have many things in common, we try to separate them and to make them work independently to ease exploring them invididually.

You need to download the databases to run the experiments again

  • SleepEDF Expanded database can be downloaded from here. We also included a Matlab script that you can use for downloading.
  • MASS database is available here here. Information on how to obtain it can be found therein.

Currently for MASS database, Tsinalis et al.'s network and DeepSleepNet1 (Supratak et al.) are still missing. We are currently cleaning them up and and will update them very shortly.

How to run:

  1. Download the databases
  2. Data preparation
  • Change directory to [database]/data_processing/, for example MASS/data_processing/
  • Run main_run.m
  1. Network training and testing
  • Change directory to a specific network in [database]/tensorflow_net/, for example MASS/tensorflow_net/multitask_1max_cnn_1to3/
  • Run a bash script, for example bash run_3chan.sh to repeat 20 cross-validation folds.
    Note1: You may want to modify and script to make use of your computational resources, such as place a few process them on multiple GPUs. If you want to run multiple processes on a single GPU, you may want to modify the Tensorflow source code to change GPU options when initializing a Tensorflow session.
    Note2: All networks, except those based on raw signal input like Chambon et al., DeepSleepNet1 (Supratak et al.), Tsinalis et al. on MASS database, require pretrained filterbanks for preprocessing. If you want to repeat everything, you may want to train the filterbanks first by executing the bash script in [database]/tensorflow_net/dnn-filterbank/
  1. Evaluation
  • Go up to [database]/ directory, for example MASS/
  • Execute a specific evaluation Matlab script, for example eval_1maxcnn_one2many.m

Environment:

  • Matlab v7.3 (for data preparation)
  • Python3
  • Tensorflow GPU 1.3.0 (for network training and evaluation)

Contact:

Huy Phan

School of Electronic Engineering and Computer Science
Queen Mary University of London
Email: h.phan{at}qmul.ac.uk

License

MIT © Huy Phan

About

Joint Classification and Prediction CNN Framework for Automatic Sleep Stage Classification


Languages

Language:Shell 54.6%Language:Python 38.5%Language:MATLAB 6.9%