All Projects → flyingtango → DiGCL

flyingtango / DiGCL

Licence: MIT license
The PyTorch implementation of Directed Graph Contrastive Learning (DiGCL), NeurIPS-2021

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to DiGCL

Entity-Graph-VLN
Code of the NeurIPS 2021 paper: Language and Visual Entity Relationship Graph for Agent Navigation
Stars: ✭ 34 (+25.93%)
Mutual labels:  graph-neural-networks, neurips-2021
awesome-efficient-gnn
Code and resources on scalable and efficient Graph Neural Networks
Stars: ✭ 498 (+1744.44%)
Mutual labels:  graph-neural-networks, contrastive-learning
SoCo
[NeurIPS 2021 Spotlight] Aligning Pretraining for Detection via Object-Level Contrastive Learning
Stars: ✭ 125 (+362.96%)
Mutual labels:  contrastive-learning, neurips-2021
awesome-graph-self-supervised-learning-based-recommendation
A curated list of awesome graph & self-supervised-learning-based recommendation.
Stars: ✭ 37 (+37.04%)
Mutual labels:  graph-neural-networks, contrastive-learning
GeDML
Generalized Deep Metric Learning.
Stars: ✭ 30 (+11.11%)
Mutual labels:  contrastive-learning
BGCN
A Tensorflow implementation of "Bayesian Graph Convolutional Neural Networks" (AAAI 2019).
Stars: ✭ 129 (+377.78%)
Mutual labels:  graph-neural-networks
SiGAT
source code for signed graph attention networks (ICANN2019) & SDGNN (AAAI2021)
Stars: ✭ 37 (+37.04%)
Mutual labels:  graph-neural-networks
CLMR
Official PyTorch implementation of Contrastive Learning of Musical Representations
Stars: ✭ 216 (+700%)
Mutual labels:  contrastive-learning
cwn
Message Passing Neural Networks for Simplicial and Cell Complexes
Stars: ✭ 97 (+259.26%)
Mutual labels:  graph-neural-networks
GraphScope
🔨 🍇 💻 🚀 GraphScope: A One-Stop Large-Scale Graph Computing System from Alibaba 来自阿里巴巴的一站式大规模图计算系统 图分析 图查询 图机器学习
Stars: ✭ 1,899 (+6933.33%)
Mutual labels:  graph-neural-networks
SuperGAT
[ICLR 2021] How to Find Your Friendly Neighborhood: Graph Attention Design with Self-Supervision
Stars: ✭ 122 (+351.85%)
Mutual labels:  graph-neural-networks
awesome-graph-self-supervised-learning
Awesome Graph Self-Supervised Learning
Stars: ✭ 805 (+2881.48%)
Mutual labels:  graph-neural-networks
graphml-tutorials
Tutorials for Machine Learning on Graphs
Stars: ✭ 125 (+362.96%)
Mutual labels:  graph-neural-networks
mdgrad
Pytorch differentiable molecular dynamics
Stars: ✭ 127 (+370.37%)
Mutual labels:  graph-neural-networks
LPGNN
Locally Private Graph Neural Networks (ACM CCS 2021)
Stars: ✭ 30 (+11.11%)
Mutual labels:  graph-neural-networks
pyg autoscale
Implementation of "GNNAutoScale: Scalable and Expressive Graph Neural Networks via Historical Embeddings" in PyTorch
Stars: ✭ 136 (+403.7%)
Mutual labels:  graph-neural-networks
Graph-Embeddding
Reimplementation of Graph Embedding methods by Pytorch.
Stars: ✭ 113 (+318.52%)
Mutual labels:  graph-neural-networks
info-nce-pytorch
PyTorch implementation of the InfoNCE loss for self-supervised learning.
Stars: ✭ 160 (+492.59%)
Mutual labels:  contrastive-learning
TCE
This repository contains the code implementation used in the paper Temporally Coherent Embeddings for Self-Supervised Video Representation Learning (TCE).
Stars: ✭ 51 (+88.89%)
Mutual labels:  contrastive-learning
deepsphere-weather
A spherical CNN for weather forecasting
Stars: ✭ 44 (+62.96%)
Mutual labels:  graph-neural-networks

Directed Graph Contrastive Learning

Paper | Poster | Supplementary

The PyTorch implementation of Directed Graph Contrastive Learning (DiGCL).

In this paper, we present the first contrastive learning framework for learning directed graph representation.

Illustration of Laplacian perturbation

augmentation

 

Illustration of DiGCN model using Laplacian perturbation

framework

 

If you find our work useful, please considering citing

@article{tong2021directed,
  title={Directed Graph Contrastive Learning},
  author={Tong, Zekun and Liang, Yuxuan and Ding, Henghui and Dai, Yongxing and Li, Xinke and Wang, Changhu},
  journal={Advances in Neural Information Processing Systems},
  volume={34},
  year={2021}
}

Requirements

Our project is developed using Python 3.7, PyTorch 1.7.0 with CUDA10.2. We recommend you to use anaconda for dependency configuration.

First create an anaconda environment called DiGCL by

conda create -n DiGCL python=3.7
conda activate DiGCL

Then, you need to install torch manually to fit in with your server environment (e.g. CUDA version). For the torch and torchvision used in my project, run

conda install pytorch==1.7.0 torchvision==0.6.0 cudatoolkit=10.2 -c pytorch

Besides, torch-scatter and torch-sparse are required for dealing with sparse graph. For these two packages, please follow their official instruction torch-scatter and torch-sparse.

Other requirements can be set up through:

cd DiGCL
pip install -e .

Usage

cd code
python train_digcl.py --gpu_id 0 --dataset cora_ml --curr-type log
python train_digcl.py --gpu_id 0 --dataset citeseer

The --dataset argument can be one of [cora_ml, citeseer] and the --curr-type argument can be one of [linear, log, exp, fixed].

License

DiGCL is released under the MIT License. See the LICENSE file for more details.

Useful Links

We are grateful for the following enlightening works, which are also of great use in our work.

  • Graph Contrastive Learning Library for PyTorch: PyGCL
  • Graph Contrastive Learning with Adaptive Augmentation: GRACE and GCA
  • Graph Contrastive Learning with Augmentations: GraphCL
  • Our another supervised approach to process directed graphs: DiGCN
  • MagNet: A Neural Network for Directed Graphs: MagNet

Acknowledgements

The template is borrowed from Pytorch-Geometric benchmark suite. We thank the authors of following works for opening source their excellent codes. Pytorch-Geometric, Graph2Gauss, and GNN-benchmark.

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