2ms commited on
Commit
4d076af
·
1 Parent(s): 80e89d7

update README.md

Browse files
Files changed (3) hide show
  1. .gitattributes +1 -0
  2. README.md +32 -27
  3. assets/architecture.png +3 -0
.gitattributes CHANGED
@@ -1,3 +1,4 @@
1
  *.svs filter=lfs diff=lfs merge=lfs -text
2
  *.bin filter=lfs diff=lfs merge=lfs -text
3
  *.ckpt filter=lfs diff=lfs merge=lfs -text
 
 
1
  *.svs filter=lfs diff=lfs merge=lfs -text
2
  *.bin filter=lfs diff=lfs merge=lfs -text
3
  *.ckpt filter=lfs diff=lfs merge=lfs -text
4
+ *.png filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -12,15 +12,22 @@ tags:
12
 
13
  ## Introduction
14
  <!--**EXAONE Path for CRCMSI** is an **enhanced whole-slide image (WSI) classification framework** that retains the core architecture of EXAONE Path 1.5 while upgrading its internals for greater efficiency and richer multimodal integration.-->
15
- **EXAONE Path MSI** is an **enhanced whole-slide image (WSI) classification framework** that retains the core architecture of EXAONE Path while upgrading its internals for greater efficiency and richer multimodal integration.
16
 
17
  The pipeline still unfolds in two stages:
18
-
19
  1. **Patch-wise feature extraction** – Each WSI is tiled into 256 × 256 px patches, which are embedded into 768-dimensional vectors using the frozen **[EXAONE Path](https://huggingface.co/LGAI-EXAONE/EXAONEPath)** encoder.
20
  2. **Slide-level aggregation** – The patch embeddings are aggregated using a Vision Transformer, producing a unified slide-level representation that a lightweight classification head transforms into task-specific probabilities.
21
-
 
22
  ---
23
 
 
 
 
 
 
 
24
  ## Key Improvements
25
 
26
  - **[FlexAttention](https://pytorch.org/blog/flexattention/) + `torch.compile`**
@@ -38,14 +45,12 @@ The pipeline still unfolds in two stages:
38
  ## Quick Start
39
 
40
  ### Requirements
41
- - NVIDIA GPU (≥ 40 GB)
42
- - CUDA 12.8
43
- - pytorch 2.7.0+cu128
44
 
45
  ### Installation
46
  ```bash
47
- git clone https://huggingface.co/LGAI-EXAONE/{MODEL_NAME}.git
48
- cd {MODEL_NAME}
49
  pip install -r requirements.txt
50
  ```
51
 
@@ -55,34 +60,34 @@ from models.exaonepath import EXAONEPathV1p5Downstream
55
 
56
  hf_token = "YOUR_HUGGING_FACE_ACCESS_TOKEN"
57
  model = EXAONEPathV1p5Downstream.from_pretrained(
58
- "LGAI-EXAONE/{MODEL_NAME}",
59
  use_auth_token=hf_token
60
  )
61
- probs = model("./samples/wsis/1/1.svs")
62
- print(f"P(CRCMSI mutant) = {probs[1]:.3f}")
63
  ```
64
 
65
  #### Command‑line
66
  ```bash
67
- python inference.py --svs_path ./samples/wsis/1/1.svs
68
  ```
69
 
70
 
71
  ### Model Performance Comparison
72
 
73
- | Metric (AUC) / Task | Titan (Conch v1.5 + iBot, image-text) | PRISM (virchow + perceiver, image-text) | CHIEF (CTransPath + CLAM, image-text, WSI-contrastive) | Prov-GigaPath (GigaPath + LongNet, image-only, mask-prediction) | UNI2-h + CLAM (image-only) | EXAONE Path 1.5 | EXAONE Path MSI |
74
  |------------------------------------|---------------------------------------|-----------------------------------------|--------------------------------------------------------|-----------------------------------------------------------------|---------------------------|------------------------|------------------------|
75
- | **CRC-MSI** | 0.9370 | 0.9432 | 0.9273 | 0.9541 | <u>0.9808</u> | 0.9537 |**0.9844** |
76
- <!--| LUAD-TMB (cutoff 10) | 0.6901 | 0.6445 | 0.6501 | 0.6744 | 0.6686 | 0.6846 | |
77
- | LUAD-EGFR-mut | 0.8197 | 0.8152 | 0.7691 | 0.7623 | 0.8577 | 0.7607 | |
78
- | LUAD-KRAS-mut | 0.5405 | 0.6299 | 0.4676 | 0.5110 | 0.4690 | 0.5480 | |
79
- | BRCA-ER | 0.9343 | 0.8998 | 0.9115 | 0.9186 | 0.9454 | 0.9096 | |
80
- | BRCA-PR | 0.8804 | 0.8613 | 0.8470 | 0.8595 | 0.8770 | 0.8215 | |
81
- | BRCA-HER2 | 0.8046 | 0.8154 | 0.7822 | 0.7891 | 0.8322 | 0.7811 | |
82
- | BRCA-TP53 | 0.7879 | 0.8415 | 0.7879 | 0.7388 | 0.8080 | 0.6607 | |
83
- | BRCA-PIK3CA | 0.7577 | 0.8929 | 0.7015 | 0.7347 | 0.8571 | 0.7066 | |
84
- | RCC-PBRM1 | 0.6383 | 0.5570 | 0.5129 | 0.5270 | 0.5011 | 0.4445 | |
85
- | RCC-BAP1 | 0.7188 | 0.7690 | 0.7310 | 0.6970 | 0.7160 | 0.7337 | |
86
- | COAD-KRAS | 0.7642 | 0.7443 | 0.6989 | 0.8153 | 0.9432 | 0.6790 | |
87
- | COAD-TP53 | 0.8889 | 0.8160 | 0.7014 | 0.7118 | 0.7830 | 0.8785 | |
88
- | <span style="color:red">**Average**</span> | 0.7817 | 0.7869 | 0.7299 | 0.7457 | <u>0.7876</u> | <span style="color:red">**0.7932**</span> |-->
 
12
 
13
  ## Introduction
14
  <!--**EXAONE Path for CRCMSI** is an **enhanced whole-slide image (WSI) classification framework** that retains the core architecture of EXAONE Path 1.5 while upgrading its internals for greater efficiency and richer multimodal integration.-->
15
+ **EXAONE Path MSI** is an **enhanced whole-slide image (WSI) classification framework** that retains the core architecture of **[EXAONE Path](https://huggingface.co/LGAI-EXAONE/EXAONE-Path-1.5)** while upgrading its internals for greater efficiency and richer multimodal integration.
16
 
17
  The pipeline still unfolds in two stages:
18
+
19
  1. **Patch-wise feature extraction** – Each WSI is tiled into 256 × 256 px patches, which are embedded into 768-dimensional vectors using the frozen **[EXAONE Path](https://huggingface.co/LGAI-EXAONE/EXAONEPath)** encoder.
20
  2. **Slide-level aggregation** – The patch embeddings are aggregated using a Vision Transformer, producing a unified slide-level representation that a lightweight classification head transforms into task-specific probabilities.
21
+
22
+
23
  ---
24
 
25
+
26
+ <p align="center">
27
+ <img src="assets/architecture.png" width="786"/>
28
+ </p>
29
+
30
+
31
  ## Key Improvements
32
 
33
  - **[FlexAttention](https://pytorch.org/blog/flexattention/) + `torch.compile`**
 
45
  ## Quick Start
46
 
47
  ### Requirements
48
+ - NVIDIA GPU is required
49
+ - Minimum 40GB GPU memory recommended
50
+ - Tested on Ubuntu 22.04 with NVIDIA driver version 550.144.03
51
 
52
  ### Installation
53
  ```bash
 
 
54
  pip install -r requirements.txt
55
  ```
56
 
 
60
 
61
  hf_token = "YOUR_HUGGING_FACE_ACCESS_TOKEN"
62
  model = EXAONEPathV1p5Downstream.from_pretrained(
63
+ "LGAI-EXAONE/EXAONE-Path-MSI",
64
  use_auth_token=hf_token
65
  )
66
+ probs = model("./samples/MSI_high.svs")
67
+ print(f"P(CRCMSI) = {probs[1]:.3f}")
68
  ```
69
 
70
  #### Command‑line
71
  ```bash
72
+ python inference.py --svs_path ./samples/MSI_high.svs
73
  ```
74
 
75
 
76
  ### Model Performance Comparison
77
 
78
+ | Metric (AUC) / Task | Titan (Conch v1.5 + iBot, image-text) | PRISM (virchow + perceiver, image-text) | CHIEF (CTransPath + CLAM, image-text, WSI-contrastive) | Prov-GigaPath (GigaPath + LongNet, image-only, mask-prediction) | UNI2-h + CLAM (image-only) | EXAONEPath V1.5 | **EXAONE Path MSI** |
79
  |------------------------------------|---------------------------------------|-----------------------------------------|--------------------------------------------------------|-----------------------------------------------------------------|---------------------------|------------------------|------------------------|
80
+ | **CRC-MSI** | 0.9370 | 0.9432 | 0.9273 | 0.9541 | <u>0.9808</u> | 0.9537 | **0.9844** |
81
+ | LUAD-TMB (cutoff 10) | 0.6901 | 0.6445 | 0.6501 | 0.6744 | 0.6686 | 0.6846 | 0.6842 |
82
+ | LUAD-EGFR-mut | 0.8197 | 0.8152 | 0.7691 | 0.7623 | 0.8577 | 0.7607 | 0.8564 |
83
+ | LUAD-KRAS-mut | 0.5405 | 0.6299 | 0.4676 | 0.5110 | 0.4690 | 0.5480 | 0.6038 |
84
+ | BRCA-ER | 0.9343 | 0.8998 | 0.9115 | 0.9186 | 0.9454 | 0.9096 | 0.9278 |
85
+ | BRCA-PR | 0.8804 | 0.8613 | 0.8470 | 0.8595 | 0.8770 | 0.8215 | 0.8430 |
86
+ | BRCA-HER2 | 0.8046 | 0.8154 | 0.7822 | 0.7891 | 0.8322 | 0.7811 | 0.8050 |
87
+ | BRCA-TP53 | 0.7879 | 0.8415 | 0.7879 | 0.7388 | 0.8080 | 0.6607 | 0.7656 |
88
+ | BRCA-PIK3CA | 0.7577 | 0.8929 | 0.7015 | 0.7347 | 0.8571 | 0.7066 | 0.7908 |
89
+ | RCC-PBRM1 | 0.6383 | 0.5570 | 0.5129 | 0.5270 | 0.5011 | 0.4445 | 0.5780 |
90
+ | RCC-BAP1 | 0.7188 | 0.7690 | 0.7310 | 0.6970 | 0.7160 | 0.7337 | 0.7323 |
91
+ | COAD-KRAS | 0.7642 | 0.7443 | 0.6989 | 0.8153 | 0.9432 | 0.6790 | 0.8693 |
92
+ | COAD-TP53 | 0.8889 | 0.8160 | 0.7014 | 0.7118 | 0.7830 | 0.8785 | 0.8715 |
93
+ | <span style="color:red">**Average**</span> | 0.7817 | 0.7869 | 0.7299 | 0.7457 | <u>0.7876</u> | 0.7356 | <span style="color:red">**0.7932**</span> |
assets/architecture.png ADDED

Git LFS Details

  • SHA256: bd88e6821f2541091f544477f09071d666df8b236381534e8eefaa60d60c9e2a
  • Pointer size: 131 Bytes
  • Size of remote file: 888 kB