hellothisisaswin Steenslid commited on
Commit
1e1abc0
·
0 Parent(s):

Duplicate from Steenslid/ecg-ptbxl-classification

Browse files

Co-authored-by: Edvard Vindenes Steenslid <Steenslid@users.noreply.huggingface.co>

.gitattributes ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ ecg_cnn_final.keras filter=lfs diff=lfs merge=lfs -text
37
+ ecg_lstm_final.keras filter=lfs diff=lfs merge=lfs -text
38
+ ecg_model.keras filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ tags:
3
+ - ecg
4
+ - cardiovascular
5
+ - multi-label-classification
6
+ - keras
7
+ - ptb-xl
8
+ datasets:
9
+ - ptb-xl
10
+ license: mit
11
+ ---
12
+
13
+ # ECG Cardiovascular Disease Classification
14
+
15
+ Multi-label classification of 5 cardiovascular superclasses
16
+ (NORM, MI, STTC, CD, HYP) from 12-lead ECG recordings, trained on PTB-XL.
17
+
18
+ **Deployed model**: CNN (noaug training variant)
19
+
20
+ ## Files
21
+
22
+ - `ecg_model.keras` | trained model
23
+ - `normalisation_params.npz` | per-channel mean and std (z-score, from training fold)
24
+ - `thresholds.json` | per-class decision thresholds optimised on the validation fold
25
+
26
+ ## Usage
27
+
28
+ ```python
29
+ import keras, numpy as np, json
30
+ from huggingface_hub import hf_hub_download
31
+
32
+ model = keras.saving.load_model(
33
+ hf_hub_download("Steenslid/ecg-ptbxl-classification", "ecg_model.keras"))
34
+ params = np.load(hf_hub_download("Steenslid/ecg-ptbxl-classification", "normalisation_params.npz"))
35
+ with open(hf_hub_download("Steenslid/ecg-ptbxl-classification", "thresholds.json")) as f:
36
+ thresholds = json.load(f)
37
+
38
+ # Input x: (1000, 12) float32 ECG in mV, 100 Hz, standard 12-lead order
39
+ x_norm = (x - params["mean"]) / params["std"]
40
+ probs = model.predict(x_norm[np.newaxis])[0]
41
+ preds = {sc: probs[i] >= thresholds[sc] for i, sc in enumerate(
42
+ ["NORM","MI","STTC","CD","HYP"])}
43
+ ```
44
+
45
+ **Authors:** Edvard Vindenes Steenslid & Morten Kvamme
ecg_cnn_final.keras ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c38d6456d8f004a56fec3c058ebc49c0aa5300c8b873c1d8957213c0ed1bbd81
3
+ size 7271200
ecg_model.keras ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3f2cdde86cb8fd2627f663ee620ebcc98e2d4f5470a70d07e6127ca3d480e51d
3
+ size 8432243
normalisation_params.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9a496322e40c88f8a8657ff18e04dbe2bc1455eba6d041cfe823f5f9d31cfce3
3
+ size 596
thresholds.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "NORM": 0.44000000000000006,
3
+ "MI": 0.35000000000000003,
4
+ "STTC": 0.33,
5
+ "CD": 0.26000000000000006,
6
+ "HYP": 0.2
7
+ }