A TensorFlow implementation of The ICLR 2019 paper "Invariant and Equivariant Graph Networks" by Haggai Maron, Heli Ben-Hamu, Nadav Shamir and Yaron Lipman https://openreview.net/forum?id=Syx72jC9tm
Invariant and equivariant networks have been successfully used for learning images, sets, point clouds, and graphs. A basic challenge in developing such networks is finding the maximal collection of invariant and equivariant \emph{linear} layers. Although this question is answered for the first three examples (for popular transformations, at-least), a full characterization of invariant and equivariant linear layers for graphs is not known.
In this paper we provide a characterization of all permutation invariant and equivariant linear layers for (hyper-)graph data, and show that their dimension, in case of edge-value graph data, is
Data should be downloaded from: https://www.dropbox.com/s/vjd6wy5nemg2gh6/benchmark_graphs.zip?dl=0. Run the following commands in order to unzip the data and put its proper path.
mkdir data
unzip benchmark_graphs.zip -d data
python3
TensorFlow gpu 1.9.0.
Additional modules: numpy, pandas, matplotlib
The folder main_scripts contains scripts that run different experiments:
- To run 10-fold cross-validation with our hyper parameters run the main_10fold_experiment.py script. You can choose the datase in 10fold_config.json.
- To run hyper-parameter search, run the main_parameter_search.py script with the corresponding config file
- To run training and evaluation on one of the data sets run the main.py script
example to run 10-fold cross-validation experiment:
python3 -m main_10fold_experiment --config=configs/10fold_config.json