GraphAttention
GAT layer skeleton (Veličković et al.).
Efficient on sparse graphs via tf.sparse. For dense graphs, uses masked attention over the adjacency.
tf.sparse