GithubHelp home page GithubHelp logo

gta3's Introduction

Graph Transformer with Adjacency Aware Attention (GTA3)

Models

ZINC model

Use zinc_main.py together with a config file. Configs can be found under config/zinc/. Reference: dgl ZINCDataset

zinc_main.py config [--force_reload] [--no_wandb]

positional arguments:
  config              Path to the config file to be used.

optional arguments:
  --force_reload      Will force the dataloader to reload the raw data and preprocess it instead of using cached data.
  --no_wandb          Will not use the WandB logger (useful for debugging).

CLUSTER model

Use cluster_main.py together with a config file. Configs can be found under config/cluster/. Reference: dgl CLUSTERDataset

cluster_main.py config [--force_reload] [--no_wandb]

positional arguments:
  config              Path to the config file to be used.

optional arguments:
  --force_reload      Will force the dataloader to reload the raw data and preprocess it instead of using cached data.
  --no_wandb          Will not use the WandB logger (useful for debugging).

Neighborhoodmatch model

Use nbm_main.py together with a config file. Configs can be found under config/nbm/. Reference: On the Bottleneck of Graph Neural Networks and its Practical Implications - Uri Alon, Eran Yahav

nbm_main.py config [--force_reload] [--force_regenerate] [--no_wandb]

positional arguments:
  config              Path to the config file to be used.

optional arguments:
  --force_reload      Will force the dataloader to reload the raw data and preprocess it instead of using cached data.
  --force_regenerate  Will force the dataloader to regenerate the raw data.
  --no_wandb          Will not use the WandB logger (useful for debugging).

Setup

Conda Using Requirements File

TODO: using requirements

Conda Using Install Commands

The following commands are sufficient to install everything needed to run the models:

conda install -c conda-forge lightning
conda install -c dglteam dgl
conda install -c esri einops
conda install -c conda-forge wandb
conda install -c conda-forge scikit-learn

Note: The GNN models might require a cuda version of dgl. The available packages can be found under DGL Installation.

# dgl for cuda v12.1 using conda:
conda install -c dglteam/label/cu121 dgl

# the conda installation might not work properly, instead use the default dgl from above and install the cuda part using pip:
pip install  dgl -f https://data.dgl.ai/wheels/cu121/repo.html
pip install  dglgo -f https://data.dgl.ai/wheels-test/repo.html

GTA3 Model

Base implementation under gta3/. Dataset specific implementations under zinc/, cluster/ and neighborsmatch/.

Reproducability

Use the flag --no_wandb to prevent WeightsAndBiasas from attempting to log data.

For the NEIGHBORSMATCH dataset use the nbm_r_benchmark branch along with the configs in config/nbm

For the CLUSTER and ZINC datasets use the main branch for the GTA3 model with learnable alpha and the local-global branch for the model with local and global heads. Use the configs config/<dataset>/gta3_500k[_PE].json for the corresponding datasets.

gta3's People

Contributors

thomasrupf avatar tobystocki avatar matthiasotth avatar

Watchers

 avatar

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.