Skip to content
Cardiologist-level arrhythmia detection and classification in ambulatory electrocardiograms using a deep neural network
Python Shell
Branch: master
Clone or download
Latest commit c97bb96 Jan 15, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ecg entry submission for cinc Jun 12, 2018
examples Update README.md Jun 20, 2018
.gitignore Add plots to gitignore Mar 14, 2017
LICENSE Create LICENSE May 20, 2018
README.md Update README.md Jan 15, 2019
requirements.txt entry submission for cinc Jun 12, 2018
setup.sh cleanup reqs May 26, 2018

README.md

Install

Clone the repository

git clone git@github.com:awni/ecg.git

If you don't have virtualenv, install it with

pip install virtualenv

Make and activate a new Python 2.7 environment

virtualenv -p python2.7 ecg_env
source ecg_env/bin/activate

Install the requirements (this may take a few minutes).

For CPU only support run

./setup.sh

To install with GPU support run

env TF=gpu ./setup.sh

Training

In the repo root direcotry (ecg) make a new directory called saved.

mkdir saved

To train a model use the following command, replacing path_to_config.json with an actual config:

python ecg/train.py path_to_config.json

Note that after each epoch the model is saved in ecg/saved/<experiment_id>/<timestamp>/<model_id>.hdf5.

For an actual example of how to run this code on a real dataset, you can follow the instructions in the cinc17 README. This will walk through downloading the Physionet 2017 challenge dataset and training and evaluating a model.

Testing

After training the model for a few epochs, you can make predictions with.

python ecg/predict.py <dataset>.json <model>.hdf5

replacing <dataset> with an actual path to the dataset and <model> with the path to the model.

Citation and Reference

This work is published in the following paper in Nature Medicine

Cardiologist-level arrhythmia detection and classification in ambulatory electrocardiograms using a deep neural network

If you find this codebase useful for your research please cite:

@article{hannun2019cardiologist,
  title={Cardiologist-level arrhythmia detection and classification in ambulatory electrocardiograms using a deep neural network},
  author={Hannun, Awni Y and Rajpurkar, Pranav and Haghpanahi, Masoumeh and Tison, Geoffrey H and Bourn, Codie and Turakhia, Mintu P and Ng, Andrew Y},
  journal={Nature Medicine},
  volume={25},
  number={1},
  pages={65},
  year={2019},
  publisher={Nature Publishing Group}
}
You can’t perform that action at this time.