Skip to main content

Graph Neural Networks with Keras and Tensorflow 2.

Project description

Welcome to Spektral

Spektral is a Python library for graph deep learning, based on the Keras API and TensorFlow 2. The main goal of this project is to provide a simple but flexible framework for creating graph neural networks (GNNs).

You can use Spektral for classifying the nodes of a network, predicting molecular properties, generating new graphs with GANs, clustering nodes, predicting links, and any other task where data is described by graphs.

Spektral implements some of the most popular layers for graph deep learning, including:

and many others (see convolutional layers).

You can also find pooling layers, including:

Spektral also includes lots of utilities for your graph deep learning projects.

See how to get started with Spektral and have a look at the examples for some templates.

The source code of the project is available on Github.
Read the documentation here.
You can also cite the paper introducing Spektral: Graph Neural Networks in TensorFlow and Keras with Spektral (ICML 2020 - GRL+ Workshop).

Installation

Spektral is compatible with Python 3.5+, and is tested on Ubuntu 16.04+ and MacOS. Other Linux distros should work as well, but Windows is not supported for now.

Some optional features of Spektral depend on RDKit, a library for cheminformatics and molecule manipulation (available through Anaconda).

The simplest way to install Spektral is from PyPi:

pip install spektral

To install Spektral from source, run this in a terminal:

git clone https://github.com/danielegrattarola/spektral.git
cd spektral
python setup.py install  # Or 'pip install .'

To install Spektral on Google Colab:

! pip install spektral

TensorFlow 1 and Keras

Starting from version 0.3, Spektral only supports TensorFlow 2 and tf.keras. The old version of Spektral, which is based on TensorFlow 1 and the stand-alone Keras library, is still available on the tf1 branch on GitHub and can be installed from source:

git clone https://github.com/danielegrattarola/spektral.git
cd spektral
git checkout tf1
python setup.py install  # Or 'pip install .'

In the future, the TF1-compatible version of Spektral (<0.2) will receive bug fixes, but all new features will only support TensorFlow 2.

Contributing

Spektral is an open source project available on Github, and contributions of all types are welcome. Feel free to open a pull request if you have something interesting that you want to add to the framework.

The contribution guidelines are available here and a list of feature requests is available here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spektral-0.6.2.tar.gz (61.5 kB view details)

Uploaded Source

Built Distribution

spektral-0.6.2-py3-none-any.whl (95.4 kB view details)

Uploaded Python 3

File details

Details for the file spektral-0.6.2.tar.gz.

File metadata

  • Download URL: spektral-0.6.2.tar.gz
  • Upload date:
  • Size: 61.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.5

File hashes

Hashes for spektral-0.6.2.tar.gz
Algorithm Hash digest
SHA256 b08284d5227f62f327579cef526971aec7fcd4cb0c153bc031694bc4376f3a0a
MD5 95d1c2e78432980bccd8c40c1b8438f8
BLAKE2b-256 1fb9988a26545961046333255fe67b556d32bbc6e43fa4c632dd07ac4458be70

See more details on using hashes here.

Provenance

File details

Details for the file spektral-0.6.2-py3-none-any.whl.

File metadata

  • Download URL: spektral-0.6.2-py3-none-any.whl
  • Upload date:
  • Size: 95.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.5

File hashes

Hashes for spektral-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 318ad66862334150319fa990b46ef97642afd33060f918756f3703c44c3a227e
MD5 7d5c541cbaa957df41403823a4b11c24
BLAKE2b-256 3855de193ea0b63b2bacb4e60298856e45cff6dd3e63aa49e8b3069d7a44b840

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page