graphdeeplearning / spatial_graph_convnets

PyTorch implementation of residual gated graph ConvNets, ICLR’18

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Residual Gated Graph ConvNets

April 24, 2018

Xavier Bresson

http://www.ntu.edu.sg/home/xbresson
https://github.com/xbresson
https://twitter.com/xbresson
https://www.facebook.com/xavier.bresson.1

Description

Prototype implementation in PyTorch of the ICLR'18 paper:
An Experimental Study of Neural Networks for Variable Graphs
Xavier Bresson and Thomas Laurent
International Conference on Learning Representations, 2018
ICLR OpenReview: https://openreview.net/pdf?id=SJexcZc8G
ArXiv extended version: arXiv:1711.07553
ICLR Poster

Codes

The code 01_residual_gated_graph_convnets_subgraph_matching.ipynb presents an application of the residual gated graph convNets for the problem of sub-graph matching.
The code 02_residual_gated_graph_convnets_semisupervised_clustering.ipynb shows another application for the problem of semi-supervised_clustering.

Installation

# Conda installation
curl -o ~/miniconda.sh -O https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh # Linux
curl -o ~/miniconda.sh -O https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh # OSX
chmod +x ~/miniconda.sh
./miniconda.sh
source ~/.bashrc

# Clone GitHub repo
git clone https://github.com/xbresson/spatial_graph_convnets.git
cd spatial_graph_convnets

# Install python libraries
conda env create -f environment.yml
conda activate graph_convnets

# Run the 2 notebooks
jupyter notebook

Results

GeForce GTX 1080Ti

  • Sub-graph matching: 01_residual_gated_graph_convnets_subgraph_matching.ipynb, accuracy= 98.85.
  • Semi-supervised_clustering: 02_residual_gated_graph_convnets_semisupervised_clustering.ipynb, accuracy= 75.88.

When to use this algorithm?

Any problem that can be cast as analyzing a set of graphs with variable size and connectivity, and one wants to use ConvNets for this analysis.



About

PyTorch implementation of residual gated graph ConvNets, ICLR’18

License:MIT License


Languages

Language:Jupyter Notebook 91.9%Language:Python 8.1%