Graphorge¶

Summary¶
Graphorge is an open-source Python package built on PyTorch that streamlines the development and evaluation of graph neural networks. It provides a complete workflow encompassing data pre-processing, dataset management, model training, prediction, and result post-processing. Graphorge includes a fully implemented, highly customizable example architecture to demonstrate practical use, and its code is thoroughly documented and commented, making it especially accessible to researchers new to implementing graph neural networks. Although originally developed for computational mechanics, Graphorge’s core functionality is general and can be applied across a wide range of domains.
Statement of Need¶
Graph neural networks have emerged as a powerful modeling tool for data with relational or geometric structure. Existing graph neural network libraries tend to fall into two categories. On the one hand, many research-specific implementations are minimally documented and tightly tailored to particular benchmarks. While this may enable results reproducibility, code comprehension is often limited, as well as its customization and generalization to different applications. On the other hand, general purpose frameworks such as PyTorch Geometric and Deep Graph Library offer robust, high-performance platforms to implement graph neural networks, usually providing multiple backend support and integration of state-of-the-art scientific contributions.
Graphorge is not intended as an alternative to general-purpose frameworks. Instead, it is designed as a practical and educational tool for researchers and students that aim to understand and be able to implement a full Graph Neural Network pipeline. While only including a single, highly customizable architecture to demonstrate practical use, every single module in Graphorge is extensively documented and commented, aiming to maximize code comprehension. Moreover, rather than abstracting the workflow behind opaque interfaces, Graphorge provides deliberatly fully functional, modular scripts for each stage – from pre-processing and dataset handling to model training and post-processing – making it an ideal extensible, starting point for those looking to implement or customize Graph Neural Networks in a research environment.
Useful Links¶
GitHub repository (source code);
Community Support¶
If you find any issues, bugs or problems with Graphorge, please use the GitHub issue tracker to report them. Provide a clear description of the problem, as well as a complete report on the underlying details, so that it can be easily reproduced and (hopefully) fixed!
You are also welcome to post any questions, comments or suggestions for improvement in the GitHub discussions space!
Please refer to Graphorge’s Code of Conduct.
Credits¶
Graphorge is based on the conceptual framework established by Battaglia and coworkers (2018) and was inspired by Google DeepMind research, namely the contribution by Pfaff and coworkers (2021) and the corresponding code.
Bernardo P. Ferreira is thankful to Guillaume Broggi for his essential contribution to developing comprehensive benchmarks that illustrate Graphorge’s workflow and support the open-source project.
Bernardo P. Ferreira acknowledges the contribution of Rui Pinto, whose work enabled the seamless handling of time series data.
License¶
Copyright 2023, Bernardo Ferreira
All rights reserved.
Graphorge is a free and open-source software published under a MIT License.