Skip to content

Official Pytorch implementation of DSAIL_SNU Team (PhysioNet Challenge 2020)

License

Notifications You must be signed in to change notification settings

seonwoo-min/PhysioNet-Challange-2020

Repository files navigation

Bag of Tricks for Electrocardiogram Classification with Deep Neural Networks (Computing in Cardiology 2020)

Official Pytorch implementation of DSAIL_SNU team (6th place) | Paper
Classification of 12-lead ECGs - PhysioNet Challenge 2020 | Challege

Abstract

Recent algorithmic advances in electrocardiogram (ECG) classification are largely contributed to deep learning. However, these methods are still based on a relatively straightforward application of deep neural networks (DNNs), which leaves incredible room for improvement. In this paper, as part of the PhysioNet / Computing in Cardiology Challenge 2020, we developed an 18-layer residual convolutional neural network to classify clinical cardiac abnormalities from 12-lead ECG recordings. We focused on examining a collection of data pre-processing, model architecture, training, and post-training procedure refinements for DNN-based ECG classification. We showed that by combining these refinements, we can improve the classification performance significantly. Our team, DSAIL_SNU, obtained a 0.695 challenge score using 10-fold cross-validation, and a 0.420 challenge score on the full test data, placing us 6th in the official ranking.

Data

The Challenge provides a training database with data files and a description of the contents and structure of these files.
Download the training data into the data folder from these links:

  1. CPSC2018 training set, 6,877 recordings: link
  2. China 12-Lead ECG Challenge Database (unused CPSC2018 data), 3,453 recordings: link
  3. St Petersburg INCART 12-lead Arrhythmia Database, 74 recordings: link
  4. PTB Diagnostic ECG Database, 516 recordings: link
  5. PTB-XL electrocardiography Database, 21,837 recordings:link
  6. Georgia 12-Lead ECG Challenge Database, 10,344 recordings: link

How to run

We follow the Challenge Submission instructions.
Build a Docker image and run the code using the following steps:

docker build -t image .
docker run --gpus device=0 --ipc=host -it -v ~/data:/physionet/data -v ~/models:/physionet/models  -v ~/outputs:/physionet/outputs image bash
python train_model.py data models
python driver.py models data outputs

About

Official Pytorch implementation of DSAIL_SNU Team (PhysioNet Challenge 2020)

Topics

Resources

License

Stars

Watchers

Forks