Graphtester
Test graph isomorphism with 1-WL for different graph classes and labelings
Install / Use
/learn @meakbiyik/GraphtesterREADME
Graphtester
Graphtester is a Python package for comprehensive analysis of the theoretical capabilities of GNNs for various datasets, tasks, and scores, using an extension of the Weisfeiler-Lehman framework.
You can read more about the theoretical background in our paper.
If you use Graphtester in your research, please cite:
@inproceedings{akbiyik2023graphtester,
title = {{Graphtester: Exploring Theoretical Boundaries of GNNs on Graph Datasets}},
author = {Eren Akbiyik and Florian Grötschla and Béni Egressy and Roger Wattenhofer},
year = 2023,
month = {July},
booktitle = {{Data-centric Machine Learning Research (DMLR) Workshop at ICML 2023, Honolulu, Hawaii}}
}
See documentation at https://graphtester.readthedocs.io.
Reproducing the results in the paper
- Install the package
- Run
sbatch scripts/paper/test_all_datasets.shto run all experiments on the datasets. Note that this scripts requires 10 cores and substantial amount of memory. You can change the number of cores by changing the--cpus-per-taskargument in the script. - Recommendation results can be gathered by adjusting the parameters in
scripts/paper/test_all_datasets.pyscript for the desired task and running the bash script again.
Development
- Install
poetry - Run
poetry installto install dependencies - Run
poetry run pre-commit installto install pre-commit hooks
Environment
You might want to set the following environment variables:
export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring # disable keyring, might be needed for poetry
export SCRATCH=/itet-stor/${USER}/net_scratch # set cache locations
export XDG_CACHE_HOME=$SCRATCH/.cache # generic Linux cache
export POETRY_VIRTUALENVS_PATH=$SCRATCH/envs # poetry environment
export GRAPHTESTER_CACHE_DIR=$SCRATCH/.graphtester # graphtester cache
Related Skills
node-connect
353.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
111.6kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
111.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
353.1kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
