Repository files navigation

🧄 GARLIC: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care

PaperPython 3.11License: MIT

This repository contains the official PyTorch implementation of GARLIC, accepted at ICLR 2026.

GARLIC is a novel neural framework designed for accurate and interpretable clinical outcome prediction (e.g., mortality, sepsis) from irregularly sampled, multivariate Intensive Care Unit (ICU) time series. It achieves state-of-the-art performance on major benchmarks (PhysioNet-12, PhysioNet-19, and MIMIC-III) while providing transparent, built-in explanations at the observation, signal, and inter-signal relational levels.

🌟 Overview

Clinical data is often messy, irregular, and riddled with missing values. GARLIC tackles these challenges without sacrificing interpretability through a three-stage architecture:

  1. Latent Feature Modeling: Handles irregular missingness using a learnable exponential-decay encoder.
  2. Time-Lagged Graph Message Passing: Captures dynamic inter-sensor dependencies through learned summary graphs.
  3. Cross-Dimensional Sequential Attention: Fuses global patterns across time and signals for robust prediction.

GARLIC Architecture overview
Figure: The GARLIC Architecture.

⚙️ Requirements

The code is tested with Python 3.11. We recommend setting up a virtual environment (e.g., conda or venv) before installing dependencies.

Install the required packages using pip:

pip install -r requirements.txt

📊 Datasets & Preparation

We evaluate GARLIC on three standard public ICU datasets. You will need to download the raw data and place them in the correct directories.

Download Links

  • PhysioNet Challenge 2012 (P12): Download here
  • PhysioNet Challenge 2019 (P19): Download here
  • MIMIC-III: Request access here (Credentialed access required)

Directory Structure

Place the downloaded raw datasets into the following structure:

├── data/
│ ├── rawdata/
│ │ ├── P12/ # Place P12 raw files here
│ │ ├── P19/ # Place P19 raw files here
│ │ └── MIMICIII/ # Place MIMIC-III raw files here
│ └── processed_data/ # Auto-generated during the first run
├── run.sh
├── interpretability_evaluation.sh
└── ...

Note: Preprocessing will automatically trigger during the first run and save the cleaned data to ./data/processed_data/.

🚀 Running the Model

  1. Training & Evaluation To run the full pipeline (data preprocessing, model initialization, training, and evaluation), execute the main shell script. This will output the AUROC and AUPRC metrics for the tasks.
bash run.sh
  1. Interpretability Evaluation To reproduce the quantitative interpretability experiments (e.g., the perturbation-based masking using Top 50%, Bottom 50%, Random 50%), run:
bash interpretability_evaluation.sh

🧪 Reproducibility notes

  • Fix random seeds (if exposed via flags/configs) for comparable results.
  • Small numerical differences may occur across hardware and CUDA versions.
  • The first run may take longer due to preprocessing and caching under ./data/processed_data/.

🙏 Acknowledgments

This research project was partially supported by the Schweizer Paraplegiker Stiftung and the ETH Zürich Foundation (2021-HS-348) and the JST Moonshot R&D Program, Grant Number JPMJMS2034-18.

📖 Citation

If you find this code or our paper useful for your research, please consider citing:

@inproceedings{wang2026garlic,
title={{GARLIC}: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care},
author={Wang, Ruirui* and Li, Yanke* and G{\"u}nther, Manuel and Paez-Granados, Diego},
booktitle={The Fourteenth International Conference on Learning Representations (ICLR)},
year={2026},
url={[https://openreview.net/forum?id=4ZAwmIaA9y](https://openreview.net/forum?id=4ZAwmIaA9y)}
}

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

🧄 GARLIC: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care

PaperPython 3.11License: MIT

This repository contains the official PyTorch implementation of GARLIC, accepted at ICLR 2026.

GARLIC is a novel neural framework designed for accurate and interpretable clinical outcome prediction (e.g., mortality, sepsis) from irregularly sampled, multivariate Intensive Care Unit (ICU) time series. It achieves state-of-the-art performance on major benchmarks (PhysioNet-12, PhysioNet-19, and MIMIC-III) while providing transparent, built-in explanations at the observation, signal, and inter-signal relational levels.

🌟 Overview

Clinical data is often messy, irregular, and riddled with missing values. GARLIC tackles these challenges without sacrificing interpretability through a three-stage architecture:

  1. Latent Feature Modeling: Handles irregular missingness using a learnable exponential-decay encoder.
  2. Time-Lagged Graph Message Passing: Captures dynamic inter-sensor dependencies through learned summary graphs.
  3. Cross-Dimensional Sequential Attention: Fuses global patterns across time and signals for robust prediction.

GARLIC Architecture overview
Figure: The GARLIC Architecture.

⚙️ Requirements

The code is tested with Python 3.11. We recommend setting up a virtual environment (e.g., conda or venv) before installing dependencies.

Install the required packages using pip:

pip install -r requirements.txt

📊 Datasets & Preparation

We evaluate GARLIC on three standard public ICU datasets. You will need to download the raw data and place them in the correct directories.

Download Links

  • PhysioNet Challenge 2012 (P12): Download here
  • PhysioNet Challenge 2019 (P19): Download here
  • MIMIC-III: Request access here (Credentialed access required)

Directory Structure

Place the downloaded raw datasets into the following structure:

├── data/
│ ├── rawdata/
│ │ ├── P12/ # Place P12 raw files here
│ │ ├── P19/ # Place P19 raw files here
│ │ └── MIMICIII/ # Place MIMIC-III raw files here
│ └── processed_data/ # Auto-generated during the first run
├── run.sh
├── interpretability_evaluation.sh
└── ...

Note: Preprocessing will automatically trigger during the first run and save the cleaned data to ./data/processed_data/.

🚀 Running the Model

  1. Training & Evaluation To run the full pipeline (data preprocessing, model initialization, training, and evaluation), execute the main shell script. This will output the AUROC and AUPRC metrics for the tasks.
bash run.sh
  1. Interpretability Evaluation To reproduce the quantitative interpretability experiments (e.g., the perturbation-based masking using Top 50%, Bottom 50%, Random 50%), run:
bash interpretability_evaluation.sh

🧪 Reproducibility notes

  • Fix random seeds (if exposed via flags/configs) for comparable results.
  • Small numerical differences may occur across hardware and CUDA versions.
  • The first run may take longer due to preprocessing and caching under ./data/processed_data/.

🙏 Acknowledgments

This research project was partially supported by the Schweizer Paraplegiker Stiftung and the ETH Zürich Foundation (2021-HS-348) and the JST Moonshot R&D Program, Grant Number JPMJMS2034-18.

📖 Citation

If you find this code or our paper useful for your research, please consider citing:

@inproceedings{wang2026garlic,
title={{GARLIC}: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care},
author={Wang, Ruirui* and Li, Yanke* and G{\"u}nther, Manuel and Paez-Granados, Diego},
booktitle={The Fourteenth International Conference on Learning Representations (ICLR)},
year={2026},
url={[https://openreview.net/forum?id=4ZAwmIaA9y](https://openreview.net/forum?id=4ZAwmIaA9y)}
}

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

🧄 GARLIC: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care

PaperPython 3.11License: MIT

This repository contains the official PyTorch implementation of GARLIC, accepted at ICLR 2026.

GARLIC is a novel neural framework designed for accurate and interpretable clinical outcome prediction (e.g., mortality, sepsis) from irregularly sampled, multivariate Intensive Care Unit (ICU) time series. It achieves state-of-the-art performance on major benchmarks (PhysioNet-12, PhysioNet-19, and MIMIC-III) while providing transparent, built-in explanations at the observation, signal, and inter-signal relational levels.

🌟 Overview

Clinical data is often messy, irregular, and riddled with missing values. GARLIC tackles these challenges without sacrificing interpretability through a three-stage architecture:

  1. Latent Feature Modeling: Handles irregular missingness using a learnable exponential-decay encoder.
  2. Time-Lagged Graph Message Passing: Captures dynamic inter-sensor dependencies through learned summary graphs.
  3. Cross-Dimensional Sequential Attention: Fuses global patterns across time and signals for robust prediction.

GARLIC Architecture overview
Figure: The GARLIC Architecture.

⚙️ Requirements

The code is tested with Python 3.11. We recommend setting up a virtual environment (e.g., conda or venv) before installing dependencies.

Install the required packages using pip:

pip install -r requirements.txt

📊 Datasets & Preparation

We evaluate GARLIC on three standard public ICU datasets. You will need to download the raw data and place them in the correct directories.

Download Links

  • PhysioNet Challenge 2012 (P12): Download here
  • PhysioNet Challenge 2019 (P19): Download here
  • MIMIC-III: Request access here (Credentialed access required)

Directory Structure

Place the downloaded raw datasets into the following structure:

├── data/
│ ├── rawdata/
│ │ ├── P12/ # Place P12 raw files here
│ │ ├── P19/ # Place P19 raw files here
│ │ └── MIMICIII/ # Place MIMIC-III raw files here
│ └── processed_data/ # Auto-generated during the first run
├── run.sh
├── interpretability_evaluation.sh
└── ...

Note: Preprocessing will automatically trigger during the first run and save the cleaned data to ./data/processed_data/.

🚀 Running the Model

  1. Training & Evaluation To run the full pipeline (data preprocessing, model initialization, training, and evaluation), execute the main shell script. This will output the AUROC and AUPRC metrics for the tasks.
bash run.sh
  1. Interpretability Evaluation To reproduce the quantitative interpretability experiments (e.g., the perturbation-based masking using Top 50%, Bottom 50%, Random 50%), run:
bash interpretability_evaluation.sh

🧪 Reproducibility notes

  • Fix random seeds (if exposed via flags/configs) for comparable results.
  • Small numerical differences may occur across hardware and CUDA versions.
  • The first run may take longer due to preprocessing and caching under ./data/processed_data/.

🙏 Acknowledgments

This research project was partially supported by the Schweizer Paraplegiker Stiftung and the ETH Zürich Foundation (2021-HS-348) and the JST Moonshot R&D Program, Grant Number JPMJMS2034-18.

📖 Citation

If you find this code or our paper useful for your research, please consider citing:

@inproceedings{wang2026garlic,
title={{GARLIC}: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care},
author={Wang, Ruirui* and Li, Yanke* and G{\"u}nther, Manuel and Paez-Granados, Diego},
booktitle={The Fourteenth International Conference on Learning Representations (ICLR)},
year={2026},
url={[https://openreview.net/forum?id=4ZAwmIaA9y](https://openreview.net/forum?id=4ZAwmIaA9y)}
}

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

🧄 GARLIC: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care

PaperPython 3.11License: MIT

This repository contains the official PyTorch implementation of GARLIC, accepted at ICLR 2026.

GARLIC is a novel neural framework designed for accurate and interpretable clinical outcome prediction (e.g., mortality, sepsis) from irregularly sampled, multivariate Intensive Care Unit (ICU) time series. It achieves state-of-the-art performance on major benchmarks (PhysioNet-12, PhysioNet-19, and MIMIC-III) while providing transparent, built-in explanations at the observation, signal, and inter-signal relational levels.

🌟 Overview

Clinical data is often messy, irregular, and riddled with missing values. GARLIC tackles these challenges without sacrificing interpretability through a three-stage architecture:

  1. Latent Feature Modeling: Handles irregular missingness using a learnable exponential-decay encoder.
  2. Time-Lagged Graph Message Passing: Captures dynamic inter-sensor dependencies through learned summary graphs.
  3. Cross-Dimensional Sequential Attention: Fuses global patterns across time and signals for robust prediction.

GARLIC Architecture overview
Figure: The GARLIC Architecture.

⚙️ Requirements

The code is tested with Python 3.11. We recommend setting up a virtual environment (e.g., conda or venv) before installing dependencies.

Install the required packages using pip:

pip install -r requirements.txt

📊 Datasets & Preparation

We evaluate GARLIC on three standard public ICU datasets. You will need to download the raw data and place them in the correct directories.

Download Links

  • PhysioNet Challenge 2012 (P12): Download here
  • PhysioNet Challenge 2019 (P19): Download here
  • MIMIC-III: Request access here (Credentialed access required)

Directory Structure

Place the downloaded raw datasets into the following structure:

├── data/
│ ├── rawdata/
│ │ ├── P12/ # Place P12 raw files here
│ │ ├── P19/ # Place P19 raw files here
│ │ └── MIMICIII/ # Place MIMIC-III raw files here
│ └── processed_data/ # Auto-generated during the first run
├── run.sh
├── interpretability_evaluation.sh
└── ...

Note: Preprocessing will automatically trigger during the first run and save the cleaned data to ./data/processed_data/.

🚀 Running the Model

  1. Training & Evaluation To run the full pipeline (data preprocessing, model initialization, training, and evaluation), execute the main shell script. This will output the AUROC and AUPRC metrics for the tasks.
bash run.sh
  1. Interpretability Evaluation To reproduce the quantitative interpretability experiments (e.g., the perturbation-based masking using Top 50%, Bottom 50%, Random 50%), run:
bash interpretability_evaluation.sh

🧪 Reproducibility notes

  • Fix random seeds (if exposed via flags/configs) for comparable results.
  • Small numerical differences may occur across hardware and CUDA versions.
  • The first run may take longer due to preprocessing and caching under ./data/processed_data/.

🙏 Acknowledgments

This research project was partially supported by the Schweizer Paraplegiker Stiftung and the ETH Zürich Foundation (2021-HS-348) and the JST Moonshot R&D Program, Grant Number JPMJMS2034-18.

📖 Citation

If you find this code or our paper useful for your research, please consider citing:

@inproceedings{wang2026garlic,
title={{GARLIC}: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care},
author={Wang, Ruirui* and Li, Yanke* and G{\"u}nther, Manuel and Paez-Granados, Diego},
booktitle={The Fourteenth International Conference on Learning Representations (ICLR)},
year={2026},
url={[https://openreview.net/forum?id=4ZAwmIaA9y](https://openreview.net/forum?id=4ZAwmIaA9y)}
}

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

🧄 GARLIC: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care

PaperPython 3.11License: MIT

This repository contains the official PyTorch implementation of GARLIC, accepted at ICLR 2026.

GARLIC is a novel neural framework designed for accurate and interpretable clinical outcome prediction (e.g., mortality, sepsis) from irregularly sampled, multivariate Intensive Care Unit (ICU) time series. It achieves state-of-the-art performance on major benchmarks (PhysioNet-12, PhysioNet-19, and MIMIC-III) while providing transparent, built-in explanations at the observation, signal, and inter-signal relational levels.

🌟 Overview

Clinical data is often messy, irregular, and riddled with missing values. GARLIC tackles these challenges without sacrificing interpretability through a three-stage architecture:

  1. Latent Feature Modeling: Handles irregular missingness using a learnable exponential-decay encoder.
  2. Time-Lagged Graph Message Passing: Captures dynamic inter-sensor dependencies through learned summary graphs.
  3. Cross-Dimensional Sequential Attention: Fuses global patterns across time and signals for robust prediction.

GARLIC Architecture overview
Figure: The GARLIC Architecture.

⚙️ Requirements

The code is tested with Python 3.11. We recommend setting up a virtual environment (e.g., conda or venv) before installing dependencies.

Install the required packages using pip:

pip install -r requirements.txt

📊 Datasets & Preparation

We evaluate GARLIC on three standard public ICU datasets. You will need to download the raw data and place them in the correct directories.

Download Links

  • PhysioNet Challenge 2012 (P12): Download here
  • PhysioNet Challenge 2019 (P19): Download here
  • MIMIC-III: Request access here (Credentialed access required)

Directory Structure

Place the downloaded raw datasets into the following structure:

├── data/
│ ├── rawdata/
│ │ ├── P12/ # Place P12 raw files here
│ │ ├── P19/ # Place P19 raw files here
│ │ └── MIMICIII/ # Place MIMIC-III raw files here
│ └── processed_data/ # Auto-generated during the first run
├── run.sh
├── interpretability_evaluation.sh
└── ...

Note: Preprocessing will automatically trigger during the first run and save the cleaned data to ./data/processed_data/.

🚀 Running the Model

  1. Training & Evaluation To run the full pipeline (data preprocessing, model initialization, training, and evaluation), execute the main shell script. This will output the AUROC and AUPRC metrics for the tasks.
bash run.sh
  1. Interpretability Evaluation To reproduce the quantitative interpretability experiments (e.g., the perturbation-based masking using Top 50%, Bottom 50%, Random 50%), run:
bash interpretability_evaluation.sh

🧪 Reproducibility notes

  • Fix random seeds (if exposed via flags/configs) for comparable results.
  • Small numerical differences may occur across hardware and CUDA versions.
  • The first run may take longer due to preprocessing and caching under ./data/processed_data/.

🙏 Acknowledgments

This research project was partially supported by the Schweizer Paraplegiker Stiftung and the ETH Zürich Foundation (2021-HS-348) and the JST Moonshot R&D Program, Grant Number JPMJMS2034-18.

📖 Citation

If you find this code or our paper useful for your research, please consider citing:

@inproceedings{wang2026garlic,
title={{GARLIC}: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care},
author={Wang, Ruirui* and Li, Yanke* and G{\"u}nther, Manuel and Paez-Granados, Diego},
booktitle={The Fourteenth International Conference on Learning Representations (ICLR)},
year={2026},
url={[https://openreview.net/forum?id=4ZAwmIaA9y](https://openreview.net/forum?id=4ZAwmIaA9y)}
}

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

🧄 GARLIC: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care

PaperPython 3.11License: MIT

This repository contains the official PyTorch implementation of GARLIC, accepted at ICLR 2026.

GARLIC is a novel neural framework designed for accurate and interpretable clinical outcome prediction (e.g., mortality, sepsis) from irregularly sampled, multivariate Intensive Care Unit (ICU) time series. It achieves state-of-the-art performance on major benchmarks (PhysioNet-12, PhysioNet-19, and MIMIC-III) while providing transparent, built-in explanations at the observation, signal, and inter-signal relational levels.

🌟 Overview

Clinical data is often messy, irregular, and riddled with missing values. GARLIC tackles these challenges without sacrificing interpretability through a three-stage architecture:

  1. Latent Feature Modeling: Handles irregular missingness using a learnable exponential-decay encoder.
  2. Time-Lagged Graph Message Passing: Captures dynamic inter-sensor dependencies through learned summary graphs.
  3. Cross-Dimensional Sequential Attention: Fuses global patterns across time and signals for robust prediction.

GARLIC Architecture overview
Figure: The GARLIC Architecture.

⚙️ Requirements

The code is tested with Python 3.11. We recommend setting up a virtual environment (e.g., conda or venv) before installing dependencies.

Install the required packages using pip:

pip install -r requirements.txt

📊 Datasets & Preparation

We evaluate GARLIC on three standard public ICU datasets. You will need to download the raw data and place them in the correct directories.

Download Links

  • PhysioNet Challenge 2012 (P12): Download here
  • PhysioNet Challenge 2019 (P19): Download here
  • MIMIC-III: Request access here (Credentialed access required)

Directory Structure

Place the downloaded raw datasets into the following structure:

├── data/
│ ├── rawdata/
│ │ ├── P12/ # Place P12 raw files here
│ │ ├── P19/ # Place P19 raw files here
│ │ └── MIMICIII/ # Place MIMIC-III raw files here
│ └── processed_data/ # Auto-generated during the first run
├── run.sh
├── interpretability_evaluation.sh
└── ...

Note: Preprocessing will automatically trigger during the first run and save the cleaned data to ./data/processed_data/.

🚀 Running the Model

  1. Training & Evaluation To run the full pipeline (data preprocessing, model initialization, training, and evaluation), execute the main shell script. This will output the AUROC and AUPRC metrics for the tasks.
bash run.sh
  1. Interpretability Evaluation To reproduce the quantitative interpretability experiments (e.g., the perturbation-based masking using Top 50%, Bottom 50%, Random 50%), run:
bash interpretability_evaluation.sh

🧪 Reproducibility notes

  • Fix random seeds (if exposed via flags/configs) for comparable results.
  • Small numerical differences may occur across hardware and CUDA versions.
  • The first run may take longer due to preprocessing and caching under ./data/processed_data/.

🙏 Acknowledgments

This research project was partially supported by the Schweizer Paraplegiker Stiftung and the ETH Zürich Foundation (2021-HS-348) and the JST Moonshot R&D Program, Grant Number JPMJMS2034-18.

📖 Citation

If you find this code or our paper useful for your research, please consider citing:

@inproceedings{wang2026garlic,
title={{GARLIC}: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care},
author={Wang, Ruirui* and Li, Yanke* and G{\"u}nther, Manuel and Paez-Granados, Diego},
booktitle={The Fourteenth International Conference on Learning Representations (ICLR)},
year={2026},
url={[https://openreview.net/forum?id=4ZAwmIaA9y](https://openreview.net/forum?id=4ZAwmIaA9y)}
}

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

🧄 GARLIC: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care

PaperPython 3.11License: MIT

This repository contains the official PyTorch implementation of GARLIC, accepted at ICLR 2026.

GARLIC is a novel neural framework designed for accurate and interpretable clinical outcome prediction (e.g., mortality, sepsis) from irregularly sampled, multivariate Intensive Care Unit (ICU) time series. It achieves state-of-the-art performance on major benchmarks (PhysioNet-12, PhysioNet-19, and MIMIC-III) while providing transparent, built-in explanations at the observation, signal, and inter-signal relational levels.

🌟 Overview

Clinical data is often messy, irregular, and riddled with missing values. GARLIC tackles these challenges without sacrificing interpretability through a three-stage architecture:

  1. Latent Feature Modeling: Handles irregular missingness using a learnable exponential-decay encoder.
  2. Time-Lagged Graph Message Passing: Captures dynamic inter-sensor dependencies through learned summary graphs.
  3. Cross-Dimensional Sequential Attention: Fuses global patterns across time and signals for robust prediction.

GARLIC Architecture overview
Figure: The GARLIC Architecture.

⚙️ Requirements

The code is tested with Python 3.11. We recommend setting up a virtual environment (e.g., conda or venv) before installing dependencies.

Install the required packages using pip:

pip install -r requirements.txt

📊 Datasets & Preparation

We evaluate GARLIC on three standard public ICU datasets. You will need to download the raw data and place them in the correct directories.

Download Links

  • PhysioNet Challenge 2012 (P12): Download here
  • PhysioNet Challenge 2019 (P19): Download here
  • MIMIC-III: Request access here (Credentialed access required)

Directory Structure

Place the downloaded raw datasets into the following structure:

├── data/
│ ├── rawdata/
│ │ ├── P12/ # Place P12 raw files here
│ │ ├── P19/ # Place P19 raw files here
│ │ └── MIMICIII/ # Place MIMIC-III raw files here
│ └── processed_data/ # Auto-generated during the first run
├── run.sh
├── interpretability_evaluation.sh
└── ...

Note: Preprocessing will automatically trigger during the first run and save the cleaned data to ./data/processed_data/.

🚀 Running the Model

  1. Training & Evaluation To run the full pipeline (data preprocessing, model initialization, training, and evaluation), execute the main shell script. This will output the AUROC and AUPRC metrics for the tasks.
bash run.sh
  1. Interpretability Evaluation To reproduce the quantitative interpretability experiments (e.g., the perturbation-based masking using Top 50%, Bottom 50%, Random 50%), run:
bash interpretability_evaluation.sh

🧪 Reproducibility notes

  • Fix random seeds (if exposed via flags/configs) for comparable results.
  • Small numerical differences may occur across hardware and CUDA versions.
  • The first run may take longer due to preprocessing and caching under ./data/processed_data/.

🙏 Acknowledgments

This research project was partially supported by the Schweizer Paraplegiker Stiftung and the ETH Zürich Foundation (2021-HS-348) and the JST Moonshot R&D Program, Grant Number JPMJMS2034-18.

📖 Citation

If you find this code or our paper useful for your research, please consider citing:

@inproceedings{wang2026garlic,
title={{GARLIC}: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care},
author={Wang, Ruirui* and Li, Yanke* and G{\"u}nther, Manuel and Paez-Granados, Diego},
booktitle={The Fourteenth International Conference on Learning Representations (ICLR)},
year={2026},
url={[https://openreview.net/forum?id=4ZAwmIaA9y](https://openreview.net/forum?id=4ZAwmIaA9y)}
}

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

🧄 GARLIC: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care

PaperPython 3.11License: MIT

This repository contains the official PyTorch implementation of GARLIC, accepted at ICLR 2026.

GARLIC is a novel neural framework designed for accurate and interpretable clinical outcome prediction (e.g., mortality, sepsis) from irregularly sampled, multivariate Intensive Care Unit (ICU) time series. It achieves state-of-the-art performance on major benchmarks (PhysioNet-12, PhysioNet-19, and MIMIC-III) while providing transparent, built-in explanations at the observation, signal, and inter-signal relational levels.

🌟 Overview

Clinical data is often messy, irregular, and riddled with missing values. GARLIC tackles these challenges without sacrificing interpretability through a three-stage architecture:

  1. Latent Feature Modeling: Handles irregular missingness using a learnable exponential-decay encoder.
  2. Time-Lagged Graph Message Passing: Captures dynamic inter-sensor dependencies through learned summary graphs.
  3. Cross-Dimensional Sequential Attention: Fuses global patterns across time and signals for robust prediction.

GARLIC Architecture overview
Figure: The GARLIC Architecture.

⚙️ Requirements

The code is tested with Python 3.11. We recommend setting up a virtual environment (e.g., conda or venv) before installing dependencies.

Install the required packages using pip:

pip install -r requirements.txt

📊 Datasets & Preparation

We evaluate GARLIC on three standard public ICU datasets. You will need to download the raw data and place them in the correct directories.

Download Links

  • PhysioNet Challenge 2012 (P12): Download here
  • PhysioNet Challenge 2019 (P19): Download here
  • MIMIC-III: Request access here (Credentialed access required)

Directory Structure

Place the downloaded raw datasets into the following structure:

├── data/
│ ├── rawdata/
│ │ ├── P12/ # Place P12 raw files here
│ │ ├── P19/ # Place P19 raw files here
│ │ └── MIMICIII/ # Place MIMIC-III raw files here
│ └── processed_data/ # Auto-generated during the first run
├── run.sh
├── interpretability_evaluation.sh
└── ...

Note: Preprocessing will automatically trigger during the first run and save the cleaned data to ./data/processed_data/.

🚀 Running the Model

  1. Training & Evaluation To run the full pipeline (data preprocessing, model initialization, training, and evaluation), execute the main shell script. This will output the AUROC and AUPRC metrics for the tasks.
bash run.sh
  1. Interpretability Evaluation To reproduce the quantitative interpretability experiments (e.g., the perturbation-based masking using Top 50%, Bottom 50%, Random 50%), run:
bash interpretability_evaluation.sh

🧪 Reproducibility notes

  • Fix random seeds (if exposed via flags/configs) for comparable results.
  • Small numerical differences may occur across hardware and CUDA versions.
  • The first run may take longer due to preprocessing and caching under ./data/processed_data/.

🙏 Acknowledgments

This research project was partially supported by the Schweizer Paraplegiker Stiftung and the ETH Zürich Foundation (2021-HS-348) and the JST Moonshot R&D Program, Grant Number JPMJMS2034-18.

📖 Citation

If you find this code or our paper useful for your research, please consider citing:

@inproceedings{wang2026garlic,
title={{GARLIC}: Graph Attention-Based Relational Learning of Multivariate Time Series in Intensive Care},
author={Wang, Ruirui* and Li, Yanke* and G{\"u}nther, Manuel and Paez-Granados, Diego},
booktitle={The Fourteenth International Conference on Learning Representations (ICLR)},
year={2026},
url={[https://openreview.net/forum?id=4ZAwmIaA9y](https://openreview.net/forum?id=4ZAwmIaA9y)}
}

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages