Adaptive Graph Coarsening for Efficient GNN Training
October 1, 2025 ยท View on GitHub
This repository builds on the Convolution Matching Graph Summarization framework and extends it with a novel algorithm called Graph Koarsening (GK). The GK is a method for adaptive graph coarsening that is based on the K-means clustering algorithm.
In addition to the algorithms and datasets supported by the original repository, this work also integrates heterophilic datasets such as Chameleon, Squirrel, Texas, Wisconsin, and Cornell.
Usage
The overall codebase and structure follow the conventions of the original repository, but have been extended to include the Graph Koarsening (GK) algorithm. Feel free to check the original repository if something remains unclear after reading this README.
Running Experiments
The main entry point for running node classification experiments with GK is:
python3 ./Experiments/node_classification_graph_summarization.py
Experiments are configured using the YAML configuration files located under ./Experiments/config
To run the experiment with GK on e.g., node classification on the Cornell dataset
- Set
graph_summarizers: [NodeClassificationGKSummarizer]underCornellNodeClassificationGraphSummarizationentry in./Experiments/config/run_config.yaml - Set the parameters of the coarsener (
r,recoarsen_every) underCornellNodeClassificationGraphSummarizationentry in./Experiments/config/params.yaml - Execute
python3 ./Experiments/node_classification_graph_summarization.py CornellNodeClassificationGraphSummarization
Key Modifications
Two new components were added to integrate GK into the framework:
- Graph Koarsening Summarizer
- File
./GraphSummarizers/Coarsener/NodeClassification/NodeClassificationGKSummarizer.py - Implements the GK algorithm
- File
- Custom trainer for GK
- File
./Trainers/NodeClassification/NodeClassificationTrainerGK.py - Implements workflow specific to GK
- File
Results and Analysis
Experiment outputs are stored in the ./results directory
- Use
./Analysis/parse_results.pyto combine the results from different experiments intoresults.csvandconvergence.csvfiles - Use
./Analysis/NodeClassificationGraphSummarizationAnalysis.ipynbto analyze the results
Contact
For questions and comments, feel free to reach out to me - ro22@rice.edu
Citation
@article{olshevskyi2025adaptivegraphcoarseningefficient,
title={Adaptive Graph Coarsening for Efficient GNN Training},
author={Rostyslav Olshevskyi and Madeline Navarro and Santiago Segarra},
journal={arXiv preprint arXiv:2509.25706},
year={2025},
url={https://arxiv.org/abs/2509.25706}
}