Awesome
Equivariant Hypergraph Neural Network (PyTorch)
Equivariant Hypergraph Neural Networks
Jinwoo Kim, Saeyoon Oh, Sungjun Cho, Seunghoon Hong
ECCV 2022
Setting up experiments
For hypergraph matching, please follow the instructions in hypergraph-matching/README.md
.
For all other experiments, please choose and follow one of the procedures below.
Using the provided Docker image (recommended)
docker pull jw9730/ehnn:latest
docker run -it --gpus=all --ipc=host --name=ehnn -v /home:/home jw9730/ehnn:latest bash
# upon completion, you should be at /ehnn inside the container
Using the provided Dockerfile
git clone https://github.com/jw9730/ehnn.git /ehnn
cd ehnn
docker build --no-cache --tag ehnn:latest .
docker run -it --gpus all --ipc=host --name=ehnn -v /home:/home ehnn:latest bash
# upon completion, you should be at /ehnn inside the container
Using pip
sudo apt-get update
sudo apt-get install python3.9
git clone https://github.com/jw9730/ehnn.git ehnn
cd ehnn
bash install.sh
Running experiments
Runtime and memory analysis
cd runtime-and-memory-analysis
bash run_tests.sh
k-edge identification
cd k-edge-identification
# EHNN
bash scripts/ehnn_mlp/[CONFIG].sh
bash scripts/ehnn_transformer/[CONFIG].sh
# Message-passing baselines
bash scripts/alldeepsets/[CONFIG].sh
bash scripts/allsettransformer/[CONFIG].sh
# Ablations
bash scripts/ehnn_mlp_wo_global/[CONFIG].sh
bash scripts/ehnn_mlp_wo_order/[CONFIG].sh
bash scripts/ehnn_mlp_wo_global_order/[CONFIG].sh
bash scripts/ehnn_naive/[CONFIG].sh
bash scripts/ehnn_naive_hypernetwork/[CONFIG].sh
Semi-supervised node classification
cd semi-supervised-node-classification
# Run grid search
bash scripts/grid/ehnn_mlp/[DATASET].sh
bash scripts/grid/ehnn_transformer/[DATASET].sh
# Run our best configuration found from the grid search
bash scripts/grid_best/ehnn_mlp/[DATASET].sh
bash scripts/grid_best/ehnn_transformer/[DATASET].sh
Hypergraph matching
cd hypergraph-matching
# Willow ObjectClass dataset
bash run_all_experiments_willow.sh
# PASCAL VOC dataset
bash run_all_experiments_voc.sh
References
Our implementation uses code from the following repositories:
- AllSet for semi-supervised node classification experiment pipeline
- ThinkMatch for hypergraph matching experiment pipeline
Citation
If you find our work useful, please consider citing it:
@article{kim2022equivariant,
author = {Jinwoo Kim and Saeyoon Oh and Sungjun Cho and Seunghoon Hong},
title = {Equivariant Hypergraph Neural Networks},
journal = {arXiv},
volume = {abs/2208.10428},
year = {2022},
url = {https://arxiv.org/abs/2208.10428}
}
Acknowledgements
The development of this open-sourced code was supported in part by the National Research Foundation of Korea (NRF) (No. 2021R1A4A3032834).