Random Walk Graph Neural Networks

Overview

Random Walk Graph Neural Networks

This repository is the official implementation of Random Walk Graph Neural Networks.

Requirements

Code is written in Python 3.6 and requires:

  • PyTorch 1.5
  • scikit-learn 0.21

Datasets

Use the following link to download datasets:

https://ls11-www.cs.tu-dortmund.de/staff/morris/graphkerneldatasets

Extract the datasets into the datasets folder.

Training and Evaluation

To train and evaluate the model in the paper, run this command:

python main.py --dataset <dataset_name> 

Example

To train and evaluate the model on MUTAG, first specify the hyperparameters in the main.py file and then run:

python main.py --dataset MUTAG --use-node-labels

Results

Our model achieves the following performance on standard graph classification datasets (note that we used the evaluation procedure and same data splits as in this paper):

Model name MUTAG D&D NCI1 PROTEINS ENZYMES
SP 80.2 (± 6.5) 78.1 (± 4.1) 72.7 (± 1.4) 75.3 (± 3.8) 38.3 (± 8.0)
GR 80.8 (± 6.4) 75.4 (± 3.4) 61.8 (± 1.7) 71.6 (± 3.1) 25.1 (± 4.4)
WL 84.6 (± 8.3) 78.1 (± 2.4) 84.8 (± 2.5) 73.8 (± 4.4) 50.3 (± 5.7)
DGCNN 84.0 (± 6.7) 76.6 (± 4.3) 76.4 (± 1.7) 72.9 (± 3.5) 38.9 (± 5.7)
DiffPool 79.8 (± 7.1) 75.0 (± 3.5) 76.9 (± 1.9) 73.7 (± 3.5) 59.5 (± 5.6)
ECC 75.4 (± 6.2) 72.6 (± 4.1) 76.2 (± 1.4) 72.3 (± 3.4) 29.5 (± 8.2)
GIN 84.7 (± 6.7) 75.3 (± 2.9) 80.0 (± 1.4) 73.3 (± 4.0) 59.6 (± 4.5)
GraphSAGE 83.6 (± 9.6) 72.9 (± 2.0) 76.0 (± 1.8) 73.0 (± 4.5) 58.2 (± 6.0)
1-step RWNN 89.2 (± 4.3) 77.6 (± 4.7) 71.4 (± 1.8) 74.7 (± 3.3) 56.7 (± 5.2)
2-step RWNN 88.1 (± 4.8) 76.9 (± 4.6) 73.0 (± 2.0) 74.1 (± 2.8) 57.4 (± 4.9)
3-step RWNN 88.6 (± 4.1) 77.4 (± 4.9) 73.9 (± 1.3) 74.3 (± 3.3) 57.6 (± 6.3)
Model name IMDB-BINARY IMDB-MULTI REDDIT-BINARY REDDIT-MULTI-5K COLLAB
SP 57.7 (± 4.1) 39.8 (± 3.7) 89.0 (± 1.0) 51.1 (± 2.2) 79.9 (± 2.7)
GR 63.3 (± 2.7) 39.6 (± 3.0) 76.6 (± 3.3) 38.1 (± 2.3) 71.1 (± 1.4)
WL 72.8 (± 4.5) 51.2 (± 6.5) 74.9 (± 1.8) 49.6 (± 2.0) 78.0 (± 2.0)
DGCNN 69.2 (± 3.0) 45.6 (± 3.4) 87.8 (± 2.5) 49.2 (± 1.2) 71.2 (± 1.9)
DiffPool 68.4 (± 3.3) 45.6 (± 3.4) 89.1 (± 1.6) 53.8 (± 1.4) 68.9 (± 2.0)
ECC 67.7 (± 2.8) 43.5 (± 3.1) OOR OOR OOR
GIN 71.2 (± 3.9) 48.5 (± 3.3) 89.9 (± 1.9) 56.1 (± 1.7) 75.6 (± 2.3)
GraphSAGE 68.8 (± 4.5) 47.6 (± 3.5) 84.3 (± 1.9) 50.0 (± 1.3) 73.9 (± 1.7)
1-step RWNN 70.8 (± 4.8) 47.8 (± 3.8) 90.4 (± 1.9) 51.7 (± 1.5) 71.7 (± 2.1)
2-step RWNN 70.6 (± 4.4) 48.8 (± 2.9) 90.3 (± 1.8) 51.7 (± 1.4) 71.3 (± 2.1)
3-step RWNN 70.7 (± 3.9) 47.8 (± 3.5) 89.7 (± 1.2) 53.4 (± 1.6) 71.9 (± 2.5)

Cite

Please cite our paper if you use this code:

@inproceedings{nikolentzos2020random,
  title={Random Walk Graph Neural Networks},
  author={Nikolentzos, Giannis and Vazirgiannis, Michalis},
  booktitle={Proceedings of the 34th Conference on Neural Information Processing Systems},
  pages={16211--16222},
  year={2020}
}
Owner
Giannis Nikolentzos
Giannis Nikolentzos
A library for finding knowledge neurons in pretrained transformer models.

knowledge-neurons An open source repository replicating the 2021 paper Knowledge Neurons in Pretrained Transformers by Dai et al., and extending the t

EleutherAI 96 Dec 21, 2022
This is an (re-)implementation of DeepLab-ResNet in TensorFlow for semantic image segmentation on the PASCAL VOC dataset.

DeepLab-ResNet-TensorFlow This is an (re-)implementation of DeepLab-ResNet in TensorFlow for semantic image segmentation on the PASCAL VOC dataset. Up

19 Jan 16, 2022
A little software to generate and save Julia or Mandelbrot's Fractals.

Julia-Mandelbrot-s-Fractals A little software to generate and save Julia or Mandelbrot's Fractals. Dependencies : Python 3.7 or more. (Also possible t

Olivier 0 Jul 09, 2022
Deep Surface Reconstruction from Point Clouds with Visibility Information

Data, code and pretrained models for the paper Deep Surface Reconstruction from Point Clouds with Visibility Information.

Raphael Sulzer 23 Jan 04, 2023
Acoustic mosquito detection code with Bayesian Neural Networks

HumBugDB Acoustic mosquito detection with Bayesian Neural Networks. Extract audio or features from our large-scale dataset on Zenodo. This repository

31 Nov 28, 2022
Plover-tapey-tape: an alternative to Plover’s built-in paper tape

plover-tapey-tape plover-tapey-tape is an alternative to Plover’s built-in paper

7 May 29, 2022
Gender Classification Machine Learning Model using Sk-learn in Python with 97%+ accuracy and deployment

Gender-classification This is a ML model to classify Male and Females using some physical characterstics Data. Python Libraries like Pandas,Numpy and

Aryan raj 11 Oct 16, 2022
Attentional Focus Modulates Automatic Finger‑tapping Movements

"Attentional Focus Modulates Automatic Finger‑tapping Movements", in Scientific Reports

Xingxun Jiang 1 Dec 02, 2021
Face Recognition & AI Based Smart Attendance Monitoring System.

In today’s generation, authentication is one of the biggest problems in our society. So, one of the most known techniques used for authentication is h

Sagar Saha 1 Jan 14, 2022
FLVIS: Feedback Loop Based Visual Initial SLAM

FLVIS Feedback Loop Based Visual Inertial SLAM 1-Video EuRoC DataSet MH_05 Handheld Test in Lab FlVIS on UAV Platform 2-Relevent Publication: Under Re

UAV Lab - HKPolyU 182 Dec 04, 2022
Segmentation for medical image.

EfficientSegmentation Introduction EfficientSegmentation is an open source, PyTorch-based segmentation framework for 3D medical image. Features A whol

68 Nov 28, 2022
Efficient neural networks for analog audio effect modeling

micro-TCN Efficient neural networks for audio effect modeling

Christian Steinmetz 94 Dec 29, 2022
Weakly-supervised semantic image segmentation with CNNs using point supervision

Code for our ECCV paper What's the Point: Semantic Segmentation with Point Supervision. Summary This library is a custom build of Caffe for semantic i

27 Sep 14, 2022
The source code of the paper "Understanding Graph Neural Networks from Graph Signal Denoising Perspectives"

GSDN-F and GSDN-EF This repository provides a reference implementation of GSDN-F and GSDN-EF as described in the paper "Understanding Graph Neural Net

Guoji Fu 18 Nov 14, 2022
A more easy-to-use implementation of KPConv

A more easy-to-use implementation of KPConv This repo contains a more easy-to-use implementation of KPConv based on PyTorch. Introduction KPConv is a

Zheng Qin 35 Dec 14, 2022
A modular, open and non-proprietary toolkit for core robotic functionalities by harnessing deep learning

A modular, open and non-proprietary toolkit for core robotic functionalities by harnessing deep learning Website • About • Installation • Using OpenDR

OpenDR 304 Dec 28, 2022
Repository for training material for the 2022 SDSC HPC/CI User Training Course

hpc-training-2022 Repository for training material for the 2022 SDSC HPC/CI Training Series HPC/CI Training Series home https://www.sdsc.edu/event_ite

sdsc-hpc-training-org 21 Jul 27, 2022
Stochastic Normalizing Flows

Stochastic Normalizing Flows We introduce stochasticity in Boltzmann-generating flows. Normalizing flows are exact-probability generative models that

AI4Science group, FU Berlin (Frank Noé and co-workers) 50 Dec 16, 2022
DeepDiffusion: Unsupervised Learning of Retrieval-adapted Representations via Diffusion-based Ranking on Latent Feature Manifold

DeepDiffusion Introduction This repository provides the code of the DeepDiffusion algorithm for unsupervised learning of retrieval-adapted representat

4 Nov 15, 2022
It is a system used to detect bone fractures. using techniques deep learning and image processing

MohammedHussiengadalla-Intelligent-Classification-System-for-Bone-Fractures It is a system used to detect bone fractures. using techniques deep learni

Mohammed Hussien 7 Nov 11, 2022