integrate EGSteal into PyGIP (PyG + TU datasets) #34
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📋 Summary
This PR integrates the EGSteal explanation-guided surrogate (model extraction) attack into PyGIP’s
BaseAttackframework for PyTorch Geometric (PyG) workflows.In addition, it introduces a lightweight TU graph dataset wrapper for graph classification datasets (e.g., NCI109, AIDS, Mutagenicity) and improves import robustness by making DGL-dependent components optional, enabling PyG-only usage on platforms where DGL is unavailable (e.g., macOS).
What Changed
New Attack:
EGStealAttackpygip/models/attack/egsteal/New Dataset Wrapper:
TUGraph(PyG-only)api_type="pyg"Import Robustness (DGL Optional)
pygip.datasetsandpygip.models.attack🧪 Related Issues
Platform Note (macOS & DGL)
During development, DGL could not be installed on macOS due to missing prebuilt wheels.
To address this without removing DGL support:
api_type="dgl"is explicitly requested✅ Checklist
main🧠 Additional Context
Example command to reproduce locally: