ランキングに戻る

Diego999/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
スター成長
スター
3k
フォーク
694
週間成長
Issue
45
1k2k
2018年3月2020年11月2023年7月2026年4月
成果物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
diegoantognini/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
3.1k702
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