/DFNets

Distributed Feedback-Looped Networks

Primary LanguageGherkinMIT LicenseMIT

DFNets: Distributed Feedback-Looped Networks

This is a Keras implementation of DFNets for semi-supervised classification of nodes on graphs.

Asiri Wijesinghe, Qing Wang, DFNets: Spectral CNNs for Graphs with Feedback-Looped Filters.

PWC PWC PWC PWC

Requirements

  • keras (>= 2.2.2)
  • tensorflow (>= 1.9.0)
  • sklearn (>= 0.19.1)
  • cvxpy (>= 1.0.10)
  • networkx (>= 2.2)

Models and dataset references

We use the same data splitting for each dataset as in Yang et al. Revisiting semi-supervised learning with graph embeddings.

We evaluate our method using 3 different models on Cora, Citeseer, Pubmed, and NELL datasets:

  • DFNet: A densely connected spectral CNN with feedback-looped filters.
  • DFNet-ATT: A self-attention based densely connected spectral CNN with feedback-looped filters.
  • DF-ATT: A self-attention based CNN model with feedback-looped filters.

Files description

  • dfnets_layer.py - DFNets spectral CNN layer.
  • dfnets_optimizer.py - coefficients optimizer.
  • dfnets_conv_op.py - convolution operation with feedback-looped filters.
  • utils.py - data preprocessing, data spliting, and etc.
  • dfnets_example.ipynb - demo code for dfnets.

Citation

Please cite our paper if you use this code in your research work.

@inproceedings{asiri2019dfnets,
  title={DFNets: Spectral CNNs for Graphs with Feedback-Looped Filters}, 
  author={Wijesinghe, Asiri and Wang, Qing}, 
  booktitle={Advances in Neural Information Processing Systems (NeurIPS)},
  year={2019}
}

License

MIT License

Contact for DFNets issues

Please contact me: asiri.wijesinghe@anu.edu.au if you have any questions / submit a Github issue if you find any bugs.