Towards Unsupervised Open-Set Graph Domain Adaptation via Dual Reprogramming (NeurIPS 2025)
This is a PyTorch implementation of the GraphRTA algorithm, which tries to address the open-set graph domain adaptation problem, where the goal is to not only correctly classify target nodes into the known classes, but also recognize previously unseen node types into the unknown class. Towards this end, we propose a novel framework called GraphRTA, which conducts reprogramming on both the graph and model sides. Specifically, we reprogram the graph by modifying target graph structure and node features, which facilitates better separation of known and unknown classes. Meanwhile, we also perform model reprogramming by pruning domain-specific parameters to reduce bias towards the source graph while preserving parameters that capture transferable patterns across graphs. Additionally, we extend the classifier with an extra dimension for the unknown class, thus eliminating the need of manually specified threshold in open-set recognition.
- python3.8
- pytorch==2.4.0
- torch-scatter==2.1.2
- torch-sparse==0.6.18
- torch-cluster==1.6.3
- torch-geometric==2.6.1
- numpy==1.24.4
- scipy==1.10.1
Datasets used in the paper are all publicly available datasets.
Just execuate the following command:
python main.py
If you find GraphRTA useful for your research, please consider citing the following paper:
@inproceedings{zhang2025towards,
title={Towards Unsupervised Open-Set Graph Domain Adaptation via Dual Reprogramming},
author={Zhang, Zhen and He, Bingsheng},
booktitle={The Thirty-ninth Annual Conference on Neural Information Processing Systems},
year={2025},
url={https://openreview.net/forum?id=iDcPkDrlaW}
}
