Python implementation of "PARROT: Position-Aware Regularized Optimal Transport for Network Alignment". The official implementation is here.
- numpy
- scipy
- pytorch
- tqdm
You can run main.py using one of the following datasets
- ACM-DBLP-A
- ACM-DBLP-P
- cora
- foursquare-twitter
- phone-email
| Dataset / Runtime | MATLAB | PyTorch (CPU) | PyTorch (GPU, V100) |
|---|---|---|---|
| ACM_DBLP_A | 12.32s + 53.95s | 110.55s + 241.52s | 28.48s + 24.64s |
| ACM_DBLP_P | 15.44s + 59.52s | 89.29s + 241.11s | 21.67s + 24.48s |
| cora | 7.20s + 8.07s | 3.11s + 7.78s | 3.36s + 0.77s |
| foursquare-twitter | 6.89s + 17.59s | 23.92s + 46.93s | 8.53s + 4.03s |
| phone-email | 0.32s + 1.18s | 0.38s + 1.60s | 1.36s + 0.33s |
* Run on Apple M1 Pro 16GB
- Clone the repository to your local machine:
git clone https://github.com/yq-leo/PARROT-Python.git- Navigate to the project directory:
cd PARROT-Python- Install the required dependencies:
pip install -r requirements.txt- To run PARROT, execute the following command in the terminal:
python main.py --dataset={dataset}Zeng, Z., Zhang, S., Xia, Y., & Tong, H. (2023, April). Parrot: Position-aware regularized optimal transport for network alignment. In Proceedings of the ACM Web Conference 2023 (pp. 372-382). DOI.