Graph Neural Networks with Keras and Tensorflow 2.
Add GTVConv and AsymCheegerCutPool layers Bump minimum supported Python version to 3.7 Add automatic handling of Tensorflow installation when installing Spektral on Apple Silicon Various bugfixes
This release brings some new features and improvements
This release mostly introduces the new Select, Reduce, Connect API for pooling layers and a bunch of features, improvements, and bugfixes from previous patches.
Most of the new features are backward compatible with two notable exceptions:
get_i
and get_j
must be updated to use get_targets
and get_sources
. This only affects you if you have a custom implementation based on the MessagePassing class, otherwise the change will be transparent.This version of Spektral supports Python >=3.6 and up, and TensorFlow >=2.2.
channels
argument from CrystalConv (output must be the same size as input)The 1.0 release of Spektral is an important milestone for the library and brings many new features and improvements.
If you have already used Spektral in your projects, the only major change that you need to be aware of is the new datasets
API.
This is a summary of the new features and changes:
Graph
and Dataset
containers standardize how Spektral handles data.
This does not impact your models, but makes it easier to use your data in Spektral.Loader
class hides away all the complexity of creating graph batches.
Whether you want to write a custom training loop or use Keras' famous model-dot-fit approach, you only need to worry about the training logic and not the data.transforms
module implements a wide variety of common operations on graphs, that you can now apply()
to your datasets.GeneralConv
and GeneralGNN
classes let you build models that are, well... general. Using state-of-the-art results from recent literature means that you don't need to worry about which layers or architecture to choose. The defaults will work well everywhere.