← Open Source
awni

ecg

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

ModelsDomain-specific modelsPython
Open on GitHub
Momentum
+0stars in 24 hours0.0%
821
Stars
282
Forks
+0
This week
4
Contributors
Created 2016-10-27 · Updated 2026-09-26 · #11515 today
Top developers
README

Install

Clone the repository

git clone [email protected]: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///.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 .json .hdf5

replacing with an actual path to the dataset and 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}
}