Giter Club home page Giter Club logo

esan's Introduction

Equivariant Subgraph Aggregation Networks (ESAN)

This repository contains the official code of the paper Equivariant Subgraph Aggregation Networks (ICLR 2022 Spotlight)

Install

First create a conda environment

conda env create -f environment.yml

and activate it

conda activate subgraph

Prepare the data

Run

python data.py --dataset $DATASET

where $DATASET is one of the following:

  • MUTAG
  • PTC
  • PROTEINS
  • NCI1
  • NCI109
  • IMDB-BINARY
  • IMDB-MULTI
  • ogbg-molhiv
  • ogbg-moltox21
  • ZINC
  • CSL
  • EXP
  • CEXP

Run the models

To perform hyperparameter tuning, make use of wandb:

  1. In configs/ folder, choose the yaml file corresponding to the dataset and setting (deterministic vs sampling) of interest, say <config-name>. This file contains the hyperparameters grid.

  2. Run

    wandb sweep configs/<config-name>

    to obtain a sweep id <sweep-id>

  3. Run the hyperparameter tuning with

    wandb agent <sweep-id>

    You can run the above command multiple times on each machine you would like to contribute to the grid-search

  4. Open your project in your wandb account on the browser to see the results:

    • For the TUDatasets, the CSL and the EXP/CEXP datasets, refer to Metric/valid_mean and Metric/valid_std to obtain the results.

    • For the ogbg datasets and the ZINC dataset, compute mean and std of Metric/train_mean, Metric/valid_mean, Metric/test_mean over the different seeds of the same configuration. Then, take the results corresponding to the configuration obtaining the best validation metric.

Credits

For attribution in academic contexts, please cite

@inproceedings{bevilacqua2022equivariant,
title={Equivariant Subgraph Aggregation Networks},
author={Beatrice Bevilacqua and Fabrizio Frasca and Derek Lim and Balasubramaniam Srinivasan and Chen Cai and Gopinath Balamurugan and Michael M. Bronstein and Haggai Maron},
booktitle={International Conference on Learning Representations},
year={2022},
}

esan's People

Contributors

beabevi avatar cptq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

esan's Issues

Issue with data edge_attr is None

Hello, Thanks for releasing the code.

I am getting an error in a few datasets (IMDB-B, PROTEINS) about edge_attr being None, as soon as this object is needed in the convolution.
Was this issue encountered before? or any possible suggestions?

Thanks

A kindly request for the configuration on the dataset REDDIT-BINARY

Very thanks for sharing the source code of your excellent work!

Recently, I tried to reproduce the experiments and found that the configuration file for the dataset REDDIT-BINARY is not given.
So I wonder if the file could be shared.

Any attention and reply will be appreciated. Thanks very much!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.