Skip to content
/ LD2 Public

The origianl code for "LD2: Scalable Heterophilous Graph Neural Network with Decoupled Embeddings", NeurIPS 2023

Notifications You must be signed in to change notification settings

gdmnl/LD2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LD²

This is the code for "LD²: Scalable Heterophilous Graph Neural Network with Decoupled Embeddings", NeurIPS 2023.

Proceedings (Paper/Supplemental) | Conference (Poster/Video/Slides) | OpenReview | GitHub

Citation

If you find this work useful, please cite our paper:

Ningyi Liao, Siqiang Luo, Xiang Li, and Jieming Shi.
LD2: Scalable Heterophilous Graph Neural Network with Decoupled Embeddings.
Advances in Neural Information Processing Systems 36: 10197-10209, 2023.

@inproceedings{liao2023ld2,
  title={{LD2}: Scalable Heterophilous Graph Neural Network with Decoupled Embedding},
  author={Liao, Ningyi and Luo, Siqiang and Li, Xiang and Shi, Jieming},
  booktitle={Advances in Neural Information Processing Systems},
  volume={36},
  pages={10197-10209},
  year={2023},
  month={Dec},
  editor = {A. Oh and T. Neumann and A. Globerson and K. Saenko and M. Hardt and S. Levine},
  publisher = {Curran Associates, Inc.},
  url = {https://proceedings.neurips.cc/paper_files/paper/2023/file/206191b9b7349e2743d98d855dec9e58-Paper-Conference.pdf},
}

Experiment

Data Preparation

  1. Use LINKX source to download raw data.
  2. Run command python data_convert.py to generate processed files under path data/[dataset_name] similar to the example folder data/actor:
  • feats.npy: features in .npy array
  • labels.npz: node label information
    • 'label': labels (number or one-hot)
    • 'idx_train/idx_val/idx_test': indices of training/validation/test nodes
  • adj_el.bin, adj_pl.bin, attribute.txt, deg.npz: graph files for precomputation

Precompute

  1. Environment: CMake 3.16, C++ 14. Dependencies: eigen3, Spectra
  2. Compile Cython: python setup.py build_ext --inplace

Train & Test

  1. Install dependencies: conda create --name [envname] --file requirements.txt
  2. Run minibatch experiment: python run_mini.py -f [seed] -c [config_file] -v [device]

Reference & Links

Baselines: LINKX | GloGNN | ACM | PPRGo | AGP

Datasets: Yelp - GraphSAINT | Reddit - PPRGo | Amazon - Cluster-GCN | tolokers | Others - LINKX

TODOs

NOTE (2023-11-26): the current version has different propagation computation due to some new optimization strategies, which may cause speed differences. We will update the code soon.

  • Adj propagation parallel and clocking
  • Upload dataset configs

About

The origianl code for "LD2: Scalable Heterophilous Graph Neural Network with Decoupled Embeddings", NeurIPS 2023

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published