All Projects → malllabiisc → ASAP

malllabiisc / ASAP

Licence: Apache-2.0 license
AAAI 2020 - ASAP: Adaptive Structure Aware Pooling for Learning Hierarchical Graph Representations

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ASAP

Literatures-on-GNN-Acceleration
A reading list for deep graph learning acceleration.
Stars: ✭ 50 (-39.76%)
Mutual labels:  graph-algorithms, gcn, graph-neural-networks
BGCN
A Tensorflow implementation of "Bayesian Graph Convolutional Neural Networks" (AAAI 2019).
Stars: ✭ 129 (+55.42%)
Mutual labels:  gcn, graph-neural-networks
QGNN
Quaternion Graph Neural Networks (ACML 2021) (Pytorch and Tensorflow)
Stars: ✭ 31 (-62.65%)
Mutual labels:  graph-classification, graph-neural-networks
Representation Learning on Graphs with Jumping Knowledge Networks
Representation Learning on Graphs with Jumping Knowledge Networks
Stars: ✭ 31 (-62.65%)
Mutual labels:  gcn, graph-neural-networks
InfoGraph
Official code for "InfoGraph: Unsupervised and Semi-supervised Graph-Level Representation Learning via Mutual Information Maximization" (ICLR 2020, spotlight)
Stars: ✭ 222 (+167.47%)
Mutual labels:  graph-neural-networks, graph-level-representation
GNN-Recommender-Systems
An index of recommendation algorithms that are based on Graph Neural Networks.
Stars: ✭ 505 (+508.43%)
Mutual labels:  gcn, graph-neural-networks
resolutions-2019
A list of data mining and machine learning papers that I implemented in 2019.
Stars: ✭ 19 (-77.11%)
Mutual labels:  gcn, graph-classification
PDN
The official PyTorch implementation of "Pathfinder Discovery Networks for Neural Message Passing" (WebConf '21)
Stars: ✭ 44 (-46.99%)
Mutual labels:  gcn, graph-classification
LibAUC
An End-to-End Machine Learning Library to Optimize AUC (AUROC, AUPRC).
Stars: ✭ 115 (+38.55%)
Mutual labels:  gcn, graph-neural-networks
Stellargraph
StellarGraph - Machine Learning on Graphs
Stars: ✭ 2,235 (+2592.77%)
Mutual labels:  gcn, graph-neural-networks
Euler
A distributed graph deep learning framework.
Stars: ✭ 2,701 (+3154.22%)
Mutual labels:  gcn, graph-neural-networks
GraphLIME
This is a Pytorch implementation of GraphLIME
Stars: ✭ 40 (-51.81%)
Mutual labels:  graph-algorithms, graph-neural-networks
RioGNN
Reinforced Neighborhood Selection Guided Multi-Relational Graph Neural Networks
Stars: ✭ 46 (-44.58%)
Mutual labels:  graph-algorithms, graph-neural-networks
AC-VRNN
PyTorch code for CVIU paper "AC-VRNN: Attentive Conditional-VRNN for Multi-Future Trajectory Prediction"
Stars: ✭ 21 (-74.7%)
Mutual labels:  graph-neural-networks
ripples
A C++ Library for Influence Maximization
Stars: ✭ 18 (-78.31%)
Mutual labels:  graph-algorithms
jsgraph
Deprecated: Use the @encapsule/arccore package that includes the graph library
Stars: ✭ 42 (-49.4%)
Mutual labels:  graph-algorithms
PathFinder-Visualization
📟 React and p5, maze generation and path finding visualization
Stars: ✭ 12 (-85.54%)
Mutual labels:  graph-algorithms
tmap
A very fast visualization library for large, high-dimensional data sets.
Stars: ✭ 146 (+75.9%)
Mutual labels:  graph-algorithms
robust-gcn
Implementation of the paper "Certifiable Robustness and Robust Training for Graph Convolutional Networks".
Stars: ✭ 35 (-57.83%)
Mutual labels:  graph-neural-networks
SimP-GCN
Implementation of the WSDM 2021 paper "Node Similarity Preserving Graph Convolutional Networks"
Stars: ✭ 43 (-48.19%)
Mutual labels:  graph-neural-networks

ASAP: Adaptive Structure Aware Pooling for Learning Hierarchical Graph Representations

Conference Paper PyG

Source code for AAAI 2020 paper: ASAP: Adaptive Structure Aware Pooling for Learning Hierarchical Graph Representation

Overview of ASAP: ASAP initially considers all possible local clusters with a fixed receptive field for a given input graph. It then computes the cluster membership of the nodes using an attention mechanism. These clusters are then scored using a GNN. Further, a fraction of the top scoring clusters are selected as nodes in the pooled graph and new edge weights are computed between neighboring clusters. Please refer to Section 4 of the paper for details.

File Descriptions

  • main.py - contains the driver code for the whole project
  • asap_pool.py - source code for ASAP pooling operator proposed in the paper
  • le_conv.py - source code for LEConv GNN used in the paper
  • asap_pool_model.py - a network which uses ASAP pooling as pooling operator

Dependencies

  • Python 3.x
  • Pytorch (1.5)
  • Pytorch_Scatter (2.0.4)
  • Pytorch_Sparse (0.6.3)
  • Pytorch_Geometric (1.4.3)

Use the following commands to install the above version of dependency:

pip install torch==1.5.0+${CUDA} -f https://download.pytorch.org/whl/torch_stable.html
pip install torch-scatter==2.0.4+${CUDA} -f https://pytorch-geometric.com/whl/torch-1.5.0.html
pip install torch-sparse==0.6.3+${CUDA} -f https://pytorch-geometric.com/whl/torch-1.5.0.html
pip install torch-geometric==1.4.3

where where ${CUDA} should be replaced by either cpu, cu92, cu101 or cu102 depending on your PyTorch installation and CUDA version.

E.g., if your CUDA version is 9.2 then run:

pip install torch==1.5.0+cu92 -f https://download.pytorch.org/whl/torch_stable.html
pip install torch-scatter==2.0.4+cu92 -f https://pytorch-geometric.com/whl/torch-1.5.0.html
pip install torch-sparse==0.6.3+cu92 -f https://pytorch-geometric.com/whl/torch-1.5.0.html
pip install torch-geometric==1.4.3

Training a model from scratch

Example for PROTEINS dataset:

python main.py -data PROTEINS -batch 128 -hid_dim 64 -dropout_att 0.1 -lr 0.01

Hyperparameters to reproduce reported scores in the paper

Dataset Batch Size Hidden Dimension Dropout Learning rate
PROTEINS 128 64 0.1 0.01
FRANKENSTEIN 128 32 0 0.001
NCI1 128 128 0 0.01
NCI109 128 128 0 0.01
DD 64 16 0.3 0.01

Citation:

Please cite the following paper if you found it useful in your work.

@article{ranjan2019asap,
  title={{ASAP}: Adaptive Structure Aware Pooling for Learning Hierarchical Graph Representations},
  author={Ranjan, Ekagra and Sanyal, Soumya and Talukdar, Partha Pratim},
  journal={arXiv preprint arXiv:1911.07979},
  year={2019}
}

For any clarification, comments, or suggestions please create an issue or contact Ekagra.

Pytorch_Geometric

Available at PyG: Example

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].