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.