Graph convolutional network is known as one of the most prominent progress for deep learning based method on graph structure data. Convolution operator on GCN is a localized first-order approximation of spectral graph convolution. In spatial perspective, embeddings of neighbor nodes are aggregated together to update node's self embedding.
- sample EgoGraphs
- encode EgoGraphs using GCN convolutional layers.
Original GCN uses full graph as input, for efficient large-scale training, we implemente a sample based version of GCN. For sample based GCN, we use dense format (because sampled number of neighbor nodes are fixed, so they can form a dense tensor) of EgoGraph and for original GCN, we use a sparse format of EgoGraph (we use sparse tensor to deal with unaligned neighbor numbers) is used for batch training.
-
Prepare data
cd ../../data/ python cora.py
-
Train and evalute
python train_supervised.py
Dataset | ACC |
---|---|
Cora | ~0.80 |
semi-supervised classification with graph convolutional networks