Spektral is a Python library for graph deep learning, built on the Keras API and TensorFlow 2. It provides a flexible framework for creating various graph neural networks (GNNs) and includes utilities for graph manipulation.
Spektral is an open-source Python library designed for graph deep learning, leveraging the Keras API and TensorFlow 2. It offers a straightforward yet adaptable framework for developing Graph Neural Networks (GNNs). The library supports a wide array of popular convolutional layers, such as GCN, Chebyshev, GraphSAGE, ARMA, ECC, GAT, APPNP, GIN, and Diffusional Convolutions, alongside various pooling layers like MinCut, DiffPool, Top-K, SAG, Global, Global gated attention, and SortPool. Spektral also provides extensive utilities for representing, manipulating, and transforming graphs, making it suitable for tasks like classifying social network users, predicting molecular properties, generating graphs with GANs, and clustering nodes. The 1.0 release introduced standardized Graph and Dataset containers, a new Loader class for batching, a transforms module, and GeneralConv/GeneralGNN classes for simplified model building.
Best used for
Ideal for developers and researchers who need to implement various Graph Neural Networks (GNNs), analyze complex graph-structured data, and build models for tasks like social network classification or molecular property prediction. Especially valuable for those working with Keras and TensorFlow 2.
What types of Graph Neural Networks (GNNs) does Spektral support?
Spektral supports a wide range of GNNs, including Graph Convolutional Networks (GCN), Chebyshev convolutions, GraphSAGE, ARMA convolutions, Edge-Conditioned Convolutions (ECC), Graph attention networks (GAT), APPNP, GIN, and Diffusional Convolutions, among others.
What are the main improvements in Spektral 1.0?
Spektral 1.0 introduced new Graph and Dataset containers for data handling, a Loader class for graph batching, a transforms module for graph operations, and GeneralConv/GeneralGNN classes for simplified model building. It also added new datasets and improved library structure.
Can Spektral be used for tasks beyond classification?
Yes, Spektral is versatile and can be used for various graph-based tasks. These include predicting molecular properties, generating new graphs with GANs, clustering nodes, and predicting links, in addition to classifying social network users.