Dies ist eine Pytorch -Implementierung des GAT -Modells (Graph Aspire Network), das Veličković et. Al (2017, https://arxiv.org/abs/1710.10903).
Das Repo wurde zunächst von https://github.com/tkipf/pygcn gegabelt. Das offizielle Repository für den GAT (TensorFlow) ist unter https://github.com/petarv-/gat verfügbar. Wenn Sie also das Pygat -Modell in Ihrer Forschung Vorteil nutzen, geben Sie Folgendes an:
@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},
}
Der Zweig -Master enthält die Implementierung aus dem Papier. Der Zweig ähnlich_impl_tensorflow Die Implementierung aus dem offiziellen TensorFlow -Repository.
Für den Zweig- Master dauert das Training des transduktiven Lernens auf Cora-Aufgabe auf einem Titan XP ~ 0,9 Sekunden pro Epoche und 10-15 Minuten für das gesamte Training (~ 800 Epochen). Die endgültige Genauigkeit liegt zwischen 84,2 und 85,3 (erhalten auf 5 verschiedenen Läufen). Für den Zweig ähnlich_impl_tensorflow dauert das Training weniger als 1 Minute und erreicht ~ 83,0.
Ein kleiner Hinweis zu den ersten spärlichen Matrixoperationen von https://github.com/tkipf/pygcn: Sie wurden entfernt. Daher dauert das aktuelle Modell ~ 7 GB auf Gramm.
Wir entwickeln eine spärliche Version Gat mit Pytorch. Aufgrund der Softmax -Funktion gibt es numerisch Instabilität. Daher müssen Sie sorgfältig initialisieren. Um eine spärliche Version Gat zu verwenden, fügen Sie Flag --sparse hinzu. Die Leistung der spärlichen Version ist mit TensorFlow ähnlich. Auf einem Titan XP dauert 0,08 ~ 0,14 Sek.
Pygat basiert auf Python 3.5 und Pytorch 0.4.1 (aufgrund von Torch.sparse_coo_tensor).
Zögern Sie nicht, sich für Feedback zu wenden oder Probleme/Zuganfragen zu erstellen.