Implementation for the paper "Dynamic Neural Dowker Networks: Approximating Persistent Homology in Dynamic Graphs."
@inproceedings{li2024dynamic,
title={Dynamic Neural Dowker Network: Approximating Persistent Homology in Dynamic Directed Graphs},
author={Li, Hao and Jiang, Hao and Jiajun, Fan and Ye, Dongsheng and Du, Liang},
booktitle={Proceedings of the 30th ACM SIGKDD Conference on Knowledge Discovery and Data Mining},
pages={1554--1564},
year={2024}
}
The necessary packages are listed in requirements.txt and can be installed using the following command:
pip install -r requirements.txt
'sg2dgm' is derived from the paper "Neural Approximation of Graph Topological Features"(https://arxiv.org/pdf/2201.12032.pdf), which provides a library for computing the persistence image.
cd ./sg2dgm
python setup_PI.py build_ext --inplace
to setup ./sg2dgm/persistenceImager.pyx
If the command does not work, a substitute solution is to copy the code in ./sg2dgm/persistenceImager.pyx to a new file named ./sg2dgm/persistenceImager.py, this might also work.
python main.py --config './config/config.yaml'
You can modify the necessary configurations in 'config.yml'.
'utils.process_data' is the method we provide for processing your custom datasets. Its main functionalities include generating dynamic Dowker filtration ground truths and constructing dynamic graph classification datasets, etc. You can refer to the function 'construct_sp_dataset()' for constructing custom datasets.
Some data has been uploaded here: https://drive.google.com/drive/folders/1LpBPT6PG4RyOSkr_MgxWuIYn3iI1RO4Q?usp=drive_link"