All Projects → BUPT-GAMMA → OpenHGNN

BUPT-GAMMA / OpenHGNN

Licence: Apache-2.0 license
This is an open-source toolkit for Heterogeneous Graph Neural Network(OpenHGNN) based on DGL.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to OpenHGNN

GNNLens2
Visualization tool for Graph Neural Networks
Stars: ✭ 155 (-41.29%)
Mutual labels:  graph-neural-networks, dgl
DGN
Implementation of Directional Graph Networks in PyTorch and DGL
Stars: ✭ 71 (-73.11%)
Mutual labels:  graph-neural-networks, dgl
Representation Learning on Graphs with Jumping Knowledge Networks
Representation Learning on Graphs with Jumping Knowledge Networks
Stars: ✭ 31 (-88.26%)
Mutual labels:  graph-neural-networks
TIMME
TIMME: Twitter Ideology-detection via Multi-task Multi-relational Embedding (code & data)
Stars: ✭ 57 (-78.41%)
Mutual labels:  graph-neural-networks
GeometricFlux.jl
Geometric Deep Learning for Flux
Stars: ✭ 288 (+9.09%)
Mutual labels:  graph-neural-networks
LambdaNet
Probabilistic Type Inference using Graph Neural Networks
Stars: ✭ 39 (-85.23%)
Mutual labels:  graph-neural-networks
graphtrans
Representing Long-Range Context for Graph Neural Networks with Global Attention
Stars: ✭ 45 (-82.95%)
Mutual labels:  graph-neural-networks
DiGCL
The PyTorch implementation of Directed Graph Contrastive Learning (DiGCL), NeurIPS-2021
Stars: ✭ 27 (-89.77%)
Mutual labels:  graph-neural-networks
graph-convnet-tsp
Code for the paper 'An Efficient Graph Convolutional Network Technique for the Travelling Salesman Problem' (INFORMS Annual Meeting Session 2019)
Stars: ✭ 196 (-25.76%)
Mutual labels:  graph-neural-networks
eeg-gcnn
Resources for the paper titled "EEG-GCNN: Augmenting Electroencephalogram-based Neurological Disease Diagnosis using a Domain-guided Graph Convolutional Neural Network". Accepted for publication (with an oral spotlight!) at ML4H Workshop, NeurIPS 2020.
Stars: ✭ 50 (-81.06%)
Mutual labels:  graph-neural-networks
GraphLIME
This is a Pytorch implementation of GraphLIME
Stars: ✭ 40 (-84.85%)
Mutual labels:  graph-neural-networks
embeddings-for-trees
Set of PyTorch modules for developing and evaluating different algorithms for embedding trees.
Stars: ✭ 19 (-92.8%)
Mutual labels:  dgl
NBFNet
Official implementation of Neural Bellman-Ford Networks (NeurIPS 2021)
Stars: ✭ 106 (-59.85%)
Mutual labels:  graph-neural-networks
walklets
A lightweight implementation of Walklets from "Don't Walk Skip! Online Learning of Multi-scale Network Embeddings" (ASONAM 2017).
Stars: ✭ 94 (-64.39%)
Mutual labels:  graph-neural-networks
graphchem
Graph-based machine learning for chemical property prediction
Stars: ✭ 21 (-92.05%)
Mutual labels:  graph-neural-networks
GNN4CD
Supervised community detection with line graph neural networks
Stars: ✭ 67 (-74.62%)
Mutual labels:  graph-neural-networks
QGNN
Quaternion Graph Neural Networks (ACML 2021) (Pytorch and Tensorflow)
Stars: ✭ 31 (-88.26%)
Mutual labels:  graph-neural-networks
DGL Chinese Manual
This is the Chinese manual of the graph neural network library DGL, currently contains the User Guide.
Stars: ✭ 61 (-76.89%)
Mutual labels:  dgl
KGPool
[ACL 2021] KGPool: Dynamic Knowledge Graph Context Selection for Relation Extraction
Stars: ✭ 33 (-87.5%)
Mutual labels:  graph-neural-networks
sdn-nfv-papers
This is a paper list about Resource Allocation in Network Functions Virtualization (NFV) and Software-Defined Networking (SDN).
Stars: ✭ 40 (-84.85%)
Mutual labels:  graph-neural-networks

OpenHGNN

GitHub release (latest by date) Documentation Status GitHub visitors Total lines

启智社区(中文版) | Space4HGNN [SIGIR2022] | Benchmark&Leaderboard | Slack Channel

This is an open-source toolkit for Heterogeneous Graph Neural Network based on DGL [Deep Graph Library] and PyTorch. We integrate SOTA models of heterogeneous graph.

News

2022-02-28

We release the latest version v0.2.

2022-01-07

启智社区用户可以享受到如下功能:

  • 全新的中文文档
  • 免费的计算资源
  • OpenHGNN最新功能

Key Features

  • Easy-to-Use: OpenHGNN provides easy-to-use interfaces for running experiments with the given models and dataset. Besides, we also integrate optuna to get hyperparameter optimization.
  • Extensibility: User can define customized task/model/dataset to apply new models to new scenarios.
  • Efficiency: The backend dgl provides efficient APIs.

Get Started

Requirements and Installation

  • Python >= 3.6

  • PyTorch >= 1.9.0

  • DGL >= 0.8.0

  • CPU or NVIDIA GPU, Linux, Python3

1. Python environment (Optional): We recommend using Conda package manager

conda create -n openhgnn python=3.7
source activate openhgnn

2. Install Pytorch: Follow their tutorial to run the proper command according to your OS and CUDA version. For example:

pip install torch torchvision torchaudio

3. Install DGL: Follow their tutorial to run the proper command according to your OS and CUDA version. For example:

pip install dgl dglgo -f https://data.dgl.ai/wheels/repo.html

4. OpenHGNN and other dependencies:

git clone https://github.com/BUPT-GAMMA/OpenHGNN
# If you encounter a network error, try git clone from openi as following.
# git clone https://git.openi.org.cn/GAMMALab/OpenHGNN.git
cd OpenHGNN
pip install -r requirements.txt

Running an existing baseline model on an existing benchmark dataset

python main.py -m model_name -d dataset_name -t task_name -g 0 --use_best_config --load_from_pretrained

usage: main.py [-h] [--model MODEL] [--task TASK] [--dataset DATASET] [--gpu GPU] [--use_best_config]

optional arguments:

-h, --help show this help message and exit

--model -m name of models

--task -t name of task

--dataset -d name of datasets

--gpu -g controls which gpu you will use. If you do not have gpu, set -g -1.

--use_best_config use_best_config means you can use the best config in the dataset with the model. If you want to set the different hyper-parameter, modify the openhgnn.config.ini manually. The best_config will override the parameter in config.ini.

--use_hpo Besides use_best_config, we give a hyper-parameter example to search the best hyper-parameter automatically.

--load_from_pretrained will load the model from a default checkpoint.

e.g.:

python main.py -m GTN -d imdb4GTN -t node_classification -g 0 --use_best_config

Note: If you are interested in some model, you can refer to the below models list.

Refer to the docs to get more basic and depth usage.

Models

Supported Models with specific task

The link will give some basic usage.

Model Node classification Link prediction Recommendation
Metapath2vec[KDD 2017] ✔️
RGCN[ESWC 2018] ✔️ ✔️
HERec[TKDE 2018] ✔️
HAN[WWW 2019] ✔️ ✔️
KGCN[WWW 2019] ✔️
HetGNN[KDD 2019] ✔️ ✔️
HeGAN[KDD 2019] ✔️
HGAT[EMNLP 2019]
GTN[NeurIPS 2019] & fastGTN ✔️
RSHN[ICDM 2019] ✔️ ✔️
GATNE-T[KDD 2019] ✔️
DMGI[AAAI 2020] ✔️
MAGNN[WWW 2020] ✔️
HGT[WWW 2020] ✔️
CompGCN[ICLR 2020] ✔️ ✔️
NSHE[IJCAI 2020] ✔️
NARS[arxiv] ✔️
MHNF[arxiv] ✔️
HGSL[AAAI 2021] ✔️
HGNN-AC[WWW 2021] ✔️
HeCo[KDD 2021] ✔️
SimpleHGN[KDD 2021] ✔️
HPN[TKDE 2021] ✔️ ✔️
RHGNN[arxiv] ✔️
HDE[ICDM 2021] ✔️

Candidate models

Contributors

OpenHGNN Team[GAMMA LAB], DGL Team and Peng Cheng Laboratory.

See more in CONTRIBUTING.

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].