返回排行榜

diegoantognini/pyGAT

Python

Pytorch implementation of the Graph Attention Network model by Veličković et. al (2017, https://arxiv.org/abs/1710.10903)

graph-attention-networksattention-mechanismself-attentionpytorchneural-networkspython
Star 增长趋势
Star
3.1k
Forks
702
周增长
Issues
45
3.1k
7月18日7月19日7月20日7月22日
制品库PyPIpip install pygat
README

Pytorch Graph Attention Network

This is a pytorch implementation of the Graph Attention Network (GAT) model presented by Veličković et. al (2017, https://arxiv.org/abs/1710.10903).

The repo has been forked initially from https://github.com/tkipf/pygcn. The official repository for the GAT (Tensorflow) is available in https://github.com/PetarV-/GAT. Therefore, if you make advantage of the pyGAT model in your research, please cite the following:

@article{
  velickovic2018graph,
  title="{Graph Attention Networks}",
  author={Veli{\v{c}}kovi{\'{c}}, Petar and Cucurull, Guillem and Casanova, Arantxa and Romero, Adriana and Li{\`{o}}, Pietro and Bengio, Yoshua},
  journal={International Conference on Learning Representations},
  year={2018},
  url={https://openreview.net/forum?id=rJXMpikCZ},
  note={accepted as poster},
}

The branch master contains the implementation from the paper. The branch similar_impl_tensorflow the implementation from the official Tensorflow repository.

Performances

For the branch master, the training of the transductive learning on Cora task on a Titan Xp takes ~0.9 sec per epoch and 10-15 minutes for the whole training (~800 epochs). The final accuracy is between 84.2 and 85.3 (obtained on 5 different runs). For the branch similar_impl_tensorflow, the training takes less than 1 minute and reach ~83.0.

A small note about initial sparse matrix operations of https://github.com/tkipf/pygcn: they have been removed. Therefore, the current model take ~7GB on GRAM.

Sparse version GAT

We develop a sparse version GAT using pytorch. There are numerically instability because of softmax function. Therefore, you need to initialize carefully. To use sparse version GAT, add flag --sparse. The performance of sparse version is similar with tensorflow. On a Titan Xp takes 0.08~0.14 sec.

Requirements

pyGAT relies on Python 3.5 and PyTorch 0.4.1 (due to torch.sparse_coo_tensor).

Issues/Pull Requests/Feedbacks

Don't hesitate to contact for any feedback or create issues/pull requests.

相关仓库
benedekrozemberczki/awesome-graph-classification

A collection of important graph embedding, classification and representation learning papers with implementations.

PythonPyPICreative Commons Zero v1.0 Universalgraph2vecclassification-algorithm
4.8k726
PetarV-/GAT

Graph Attention Networks (https://arxiv.org/abs/1710.10903)

PythonPyPIMIT Licensegraph-attention-networksattention-mechanism
petar-v.com/GAT/
3.5k672
Diego999/pyGAT

Pytorch implementation of the Graph Attention Network model by Veličković et. al (2017, https://arxiv.org/abs/1710.10903)

PythonPyPIMIT Licensegraph-attention-networksattention-mechanism
3k694
gordicaleksa/pytorch-GAT

My implementation of the original GAT paper (Veličković et al.). I've additionally included the playground.py file for visualizing the Cora dataset, GAT embeddings, an attention mechanism, and entropy histograms. I've supported both Cora (transductive) and PPI (inductive) examples!

Jupyter NotebookMIT Licensegatgraph-attention-networks
youtube.com/c/TheAIEpiphany
2.7k355
benedekrozemberczki/CapsGNN

A PyTorch implementation of "Capsule Graph Neural Network" (ICLR 2019).

PythonPyPIGNU General Public License v3.0capsgnncapsule-network
1.3k198
dsgiitr/graph_nets

PyTorch Implementation and Explanation of Graph Representation Learning papers: DeepWalk, GCN, GraphSAGE, ChebNet & GAT.

Jupyter Notebookgraph-representation-learninggraph-convolutional-networks
1.2k228
xiangwang1223/knowledge_graph_attention_network

KGAT: Knowledge Graph Attention Network for Recommendation, KDD2019

PythonPyPIMIT Licenserecommender-systemknowledge-graph
1.2k332