Implementing graph neural networks with TensorFlow-Keras
This work addresses the need for accessible and user-friendly GNN tools for machine learning practitioners, but it is incremental as it focuses on implementation rather than novel algorithmic contributions.
The authors tackled the problem of implementing graph neural networks (GNNs) in TensorFlow-Keras by developing the kgcnn package, which provides convolution and pooling layers for seamless integration into standard Keras models, enabling flexible graph model setup with mini-batches using RaggedTensor.
Graph neural networks are a versatile machine learning architecture that received a lot of attention recently. In this technical report, we present an implementation of convolution and pooling layers for TensorFlow-Keras models, which allows a seamless and flexible integration into standard Keras layers to set up graph models in a functional way. This implies the usage of mini-batches as the first tensor dimension, which can be realized via the new RaggedTensor class of TensorFlow best suited for graphs. We developed the Keras Graph Convolutional Neural Network Python package kgcnn based on TensorFlow-Keras that provides a set of Keras layers for graph networks which focus on a transparent tensor structure passed between layers and an ease-of-use mindset.