jiangboahu / GLCN-tf

Graph Learning Convolution Network
37 stars 10 forks source link

Graph Learning-Convolutional Networks

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)

Introduction

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).

Requirements

The codebase is implemented in Python 3.6.8. package versions used for development are just below

Run the demo

cd glcn
python run_cora.py

Data

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.

Cite

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}
}