これは、Veličkovićet。 AL(2017、https://arxiv.org/abs/1710.10903)。
リポジトリは、最初はhttps://github.com/tkipf/pygcnからフォークされています。 GAT(Tensorflow)の公式リポジトリは、https://github.com/petarv-/gatで入手できます。したがって、研究でPygatモデルを活用する場合は、以下を引用してください。
@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},
}
ブランチマスターには、論文からの実装が含まれています。 Branch sigral_impl_tensorflow公式Tensorflowリポジトリからの実装。
ブランチマスターの場合、Titan XPでのCORAタスクに関する導入学習のトレーニングには、トレーニング全体(約800エポック)でエポックあたり約0.9秒、10〜15分かかります。最終的な精度は84.2〜85.3(5つの異なる実行で得られます)です。 Branchの類似点の場合、トレーニングは1分未満で〜83.0に達します。
https://github.com/tkipf/pygcnの初期スパースマトリックス操作に関する小さなメモ:それらは削除されました。したがって、現在のモデルはグラムで〜7GBを取得します。
Pytorchを使用してスパースバージョンガットを開発します。 SoftMax機能のため、数値的に不安定性があります。したがって、慎重に初期化する必要があります。スパースバージョンガットを使用するには、フラグを追加します--sparse 。スパースバージョンのパフォーマンスは、Tensorflowと同様です。タイタンXPには0.08〜0.14秒かかります。
PygatはPython 3.5およびPytorch 0.4.1(Torch.sparse_Coo_tensorにより)に依存しています。
フィードバックのために連絡したり、問題/プルリクエストを作成したりすることを躊躇しないでください。