StellarGraph

Announcing the release of StellarGraph v1.0 open-source Python Machine Learning Library for graphs

StellarGraph is an open-source library implementing state-of-the-art graph machine learning algorithms. The project is delivered as part of CSIRO’s Data61.

We are thrilled to announce the major milestone of a full 1.0 release of the library; the culmination of three years of active research and engineering.

V1.0 extends StellarGraph performance and capability with new algorithms for spatio-temporal data and graph classification, an updated StellarGraph class, and better demo notebooks and documentation.

New algorithms include:

  • GCNSupervisedGraphClassification: supervised graph classification model based on Graph Convolutional layers (GCN).
  • DeepGraphCNN: supervised graph classification based on GCN, a new SortPooling layer and asymmetric adjacency normalisation.
  • GraphConvolutionLSTM: time series prediction on spatio-temporal data, combining GCN with a LSTM model to augment the conventional time-series model with information from nearby data points.

Enhanced algorithms:

  • DeepGraphInfomax: can be used to train almost any model in an unsupervised way, for example HinSAGE for unsupervised heterogeneous graphs with node features.
  • UnsupervisedSampler: supports a walker parameter to use other random walking algorithms such as BiasedRandomWalk, in addition to the default UniformRandomWalk.

The new release incorporates extensive performance enhancements, some of which include:

  • StellarGraph class now faster, easier to construct and smaller, with reduced memory usage to support larger graphs.
  • Better demonstration notebooks and documentation to make the library more accessible to new and existing users.
  • Better Neo4j connectivity, including GraphSAGE neighborhood sampling from Neo4j and a demo notebook for loading and storing Neo4j graphs.
  • Node feature sampling now ~4× faster via better data layout, speeding up configurations of GraphSAGE (and HinSAGE)
  • Addition of PROTEINS dataset for graph classification demo
  • Creating a RelationalFullBatchNodeGenerator now 18x faster and requires much less memory (560x smaller)

Jump into the new release on GitHub. StellarGraph is a Python 3 library. See full v1.0 release notes here.

We always welcome feedback and contributions.

With thanks and celebration, the StellarGraph team.

2 Likes