Skip to content

Repository for Autobahn: Automorphism Based Graph Neural Networks

License

Notifications You must be signed in to change notification settings

risilab/Autobahn

Repository files navigation

Overview

This repository code for the paper Autobahn: Automorphism-based Graph Neural Network. In contrast to most graph neural networks where neurons are associated with individual graph vertices, in Autobahn neurons correspond to subgraphs. Each neuron then applies convolutions that are equivariant to each subgraph's automorphism group, followed by a fixed nonlinearity. Ensuring that neurons are equivariant to the local automorphism group is enough to make the entire network is equivariant to permutation of the input.

In our code, we construct an Autobahn network where neurons correspond to paths and cycles within each graph. The resulting neurons reflect our domain knowledge of chemical graphs and preserve the intuitive meaning of convolution on sequential data.

  • Free software: MIT license

Installation

Clone the repository and run

    pip install -e .

Training networks

Training scripts are located in the src/autobahn/experiments folder. The training scripts automatically attempt to download the required datasets, and run the model.

python -um autobahn.experiments.train_combo_on_zinc dataset=zinc_subset model=subset_128

Pre-trained models

We provide pre-trained models for the datasets studied in the paper at the links below. After downloading a checkpoint for a given dataset, you may test the downloaded model by running:

python -um autobahn.experiments.test_combo_on_zinc checkpoint=/path/to/your/checkpoint

Alternatively, the testing scripts will automatically download a checkpoint from our website if none is specified. You can then specify the dataset configuration to select which dataset to test on. For example, to test on zinc subset run the following command:

python -um autobahn.experiments.test_on_zinc data.use_subset=True

and to test on molpcba use the following command:

python -um autobahn.experiments.test_on_ogb data.data_name=ogbg-molpcba
Dataset Checkpoint
Zinc (subset) Checkpoint
Zinc (full) Checkpoint
ogb-molpcba Checkpoint
ogb-molmuv Checkpoint
ogb-molhiv Checkpoint

About

Repository for Autobahn: Automorphism Based Graph Neural Networks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages