Skip to content

Joint Classification and Prediction CNN Framework for Automatic Sleep Stage Classification

Notifications You must be signed in to change notification settings

wstang35/MultitaskSleepNet

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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
Institute of Biomedical Engineering
Department of Engineering Science
University of Oxford
Email: huy.phan{at}eng.ox.ac.uk

About

Joint Classification and Prediction CNN Framework for Automatic Sleep Stage Classification

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 52.7%
  • Python 37.6%
  • MATLAB 6.4%
  • Batchfile 3.3%