This is a TensorFlow implementation of Graph Learning-Convolutional Networks for the task of (semi-supervised) classification of nodes in a graph, as described in our paper:
Bo Jiang, Ziyan Zhang, Semi-supervised Learning with Graph Learning-Convolutional Networks (CVPR 2019)
In this repo, we provide GLCN's code with the Cora and Citeseer datasets as example. The graph convolution method used in this code is provided by Thomas N. Kipf, Max Welling, Semi-Supervised Classification with Graph Convolutional Networks (ICLR 2017).
The codebase is implemented in Python 3.6.8. package versions used for development are just below
cd glcn
python run_cora.py
There are three entries for the code.
We provide the Cora and Citeseer datasets as example. The original datasets can be found here: http://linqs.cs.umd.edu/projects/projects/lbc/. In our version (see data
folder) we use dataset splits provided by https://github.com/kimiyoung/planetoid (Zhilin Yang, William W. Cohen, Ruslan Salakhutdinov, Revisiting Semi-Supervised Learning with Graph Embeddings, ICML 2016).
If you want to use your own dataset, please process the data into the above state, and look at the load_data()
function in utils.py
for an example.
Please cite our paper if you use this code in your own work:
@inproceedings{jiang2019semi,
title={Semi-supervised learning with graph learning-convolutional networks},
author={Jiang, Bo and Zhang, Ziyan and Lin, Doudou and Tang, Jin and Luo, Bin},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
pages={11313--11320},
year={2019}
}