Skip to content
/ CMGNN Public

The codebase of "Revisiting the Message Passing in Heterophilous Graph Neural Networks", including 13 baseline methods and proposed CMGNN.

Notifications You must be signed in to change notification settings

zfx233/CMGNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CMGNN

This is a unified codebase for heterophilous graph neural networks, including 13 baseline methods, one novel method CMGNN, and 10 datasets.

Baseline Methods

  • MLP: Multilayer perceptron
  • GCN: Semi-supervised Classification with Graph Convolutional Networks (ICLR 2017)
  • GAT: Graph Attention Networks (ICLR, 2018)
  • GCNII: Simple and Deep Graph Convolutional Networks (ICML 2020)
  • MixHop: Higher-Order Graph Convolutional Architectures via Sparsified Neighborhood Mixing (ICML 2019)
  • H2GCN: Beyond Homophily in Graph Neural Networks: Current Limitations and Effective Designs (NeurIPS 2020)
  • GBKGNN: Gated Bi-Kernel Graph Neural Networks for Modeling Both Homophily and Heterophily (WWW 2022)
  • GGCN: Two Sides of the Same Coin: Heterophily and Oversmoothing in Graph Convolutional Neural Networks (ICDM 2022)
  • GloGNN: Finding Global Homophily in Graph Neural Networks When Meeting Heterophily (ICML 2022)
  • HOGGCN: Powerful Graph Convolutioal Networks with Adaptive Propagation Mechanism for Homophily and Heterophily (AAAI 2022)
  • GPRGNN: Adaptive Universal Generalized PageRank Graph Neural Network (ICLR 2021)
  • ACMGCN: Revisiting Heterophily for Graph Neural Networks (NeurIPS 2022)
  • OrderedGNN: Ordered GNN: Ordering Message Passing to Deal with Heterophily and Over-smoothing (ICLR 2023)

Datasets

The datasets used in the codebase include Roman-Empire, Amazon-Ratings, Chameleon-F, Squirrel-F, Actor, Flickr, BlogCatalog, Wikics, Pubmed, and Photo.

How to Run

Baseline Methods

The presearched parameters are listed in '/config/baseline/{model_type}.yaml'.

python main.py --model_type={model_type} --dataset={dataset}

Note the dataset name is the script should use plain lowercase letters, e.g. for Chameleon-F dataset with "--dataset=chameleonf".

Compatibility Matrix-aware GNN (CMGNN)

python main.py --model_type=CMGNN --dataset={dataset}

Main Requirements

  • python >= 3.6.13
  • numpy >= 1.19.2
  • pytorch >= 1.10.2
  • dgl-cuda >= 0.8.1
  • torch-geometric >= 2.0.3

About

The codebase of "Revisiting the Message Passing in Heterophilous Graph Neural Networks", including 13 baseline methods and proposed CMGNN.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages