Skip to main content

Python implementation of Deep Graph Echo State Networks

Project description

Graph ESN library

Pytorch implementation of echo state networks for static graphs and discrete-time dynamic graphs.

Installation

Easiest way to get our library is via python package:

pip install graphesn

Usage

The library is quite straightforward to use:

from graphesn import StaticGraphReservoir, Readout, initializer
from torch_geometric.data import Data

data = Data(...)

reservoir = StaticGraphReservoir(num_layers=3, in_features=8, hidden_features=16)
reservoir.initialize_parameters(recurrent=initializer('uniform', rho=.9), input=initializer('uniform', scale=1))
embeddings = reservoir(data.edge_index, data.x)

readout = Readout(num_features=reservoir.out_features, num_targets=3)
readout.fit(data=(embeddings, data.y), regularization=1e-3)
predictions = readout(embeddings)

Code outlook

The library is contained in folder src/graphesn:

  • reservoir.py implementation of reservoirs for static and discrete-time dynamic graphs;
  • matrix.py random matrices generating functions;
  • readout.py implementation of a linear readout for large-scale ridge regression;
  • data.py classes to represent temporal and dynamic graphs;
  • dataset.py some dynamic graph datasets;
  • util.py general utilities.

The examples folder contains demos for our library on some common graph datasets.

Contributing

This research software is provided as-is. We are working on this library in our spare time.

Code is released under the MIT license, see LICENSE for details.

If you find a bug, please open an issue to report it, and we will do our best to solve it. For general or technical questions, please email us rather than opening an issue.

References

  • C. Gallicchio, A. Micheli (2010). Graph Echo State Networks. The 2010 International Joint Conference on Neural Networks (IJCNN 2010), pp. 3967–3974.
  • C. Gallicchio, A. Micheli (2020). Fast and Deep Graph Neural Networks. The Thirty-Fourth AAAI Conference on Artificial Intelligence (AAAI-20).
  • C. Gallicchio, A. Micheli (2020). Ring Reservoir Neural Networks for Graphs. The 2020 International Joint Conference on Neural Networks (IJCNN 2020).
  • D. Tortorella, A. Micheli (2021). Dynamic Graph Echo State Networks. Proceedings of the 29th European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning (ESANN 2021), pp. 99–104.

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

graphesn-0.2.10.tar.gz (15.2 kB view hashes)

Uploaded Source

Built Distribution

graphesn-0.2.10-py3-none-any.whl (16.0 kB view hashes)

Uploaded Python 3

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