
Security News
GitHub Actions Pricing Whiplash: Self-Hosted Actions Billing Change Postponed
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.
pydgn
Advanced tools
This is a Python library to easily experiment with Deep Graph Networks (DGNs). It provides automatic management of data splitting, loading and common experimental settings. It also handles both model selection and risk assessment procedures, by trying many different configurations in parallel (CPU or GPU).
If you used this library for your project, please consider citing us:
@article{pydgn,
author = {Errica, Federico and Bacciu, Davide and Micheli, Alessio},
doi = {10.21105/joss.05713},
journal = {Journal of Open Source Software},
month = oct,
number = {90},
pages = {5713},
title = {{PyDGN: a Python Library for Flexible and Reproducible Research on Deep Learning for Graphs}},
url = {https://joss.theoj.org/papers/10.21105/joss.05713},
volume = {8},
year = {2023}
}
Automated tests passing on Windows, Linux, and MacOS. Requires at least Python 3.8. Simply run
pip install pydgn
pydgn-dataset --config-file examples/DATA_CONFIGS/config_NCI1.yml
pydgn-train --config-file examples/MODEL_CONFIGS/config_SupToyDGN.yml
And we are up and running!
To debug your code you can add --debug to the command above, but the "GUI" will be disabled.
To stop the computation, use CTRL-C to send a SIGINT signal, and consider using the command ray stop to stop
all Ray processes. Warning: ray stop stops all ray processes you have launched, including those of other
experiments in progress, if any.
It's very easy to load the model from the experiments (see also the Tutorial):
from pydgn.evaluation.util import *
config = retrieve_best_configuration('RESULTS/supervised_grid_search_toy_NCI1/MODEL_ASSESSMENT/OUTER_FOLD_1/MODEL_SELECTION/')
splits_filepath = 'examples/DATA_SPLITS/CHEMICAL/NCI1/NCI1_outer10_inner1.splits'
device = 'cpu'
# instantiate dataset
dataset = instantiate_dataset_from_config(config)
# instantiate model
model = instantiate_model_from_config(config, dataset, config_type="supervised_config")
# load model's checkpoint, assuming the best configuration has been loaded
checkpoint_location = 'RESULTS/supervised_grid_search_toy_NCI1/MODEL_ASSESSMENT/OUTER_FOLD_1/final_run1/best_checkpoint.pth'
load_checkpoint(checkpoint_location, model, device=device)
# you can now call the forward method of your model
y, embeddings = model(dataset[0])
We provide the data splits taken from
Errica Federico, Podda Marco, Bacciu Davide, Micheli Alessio: A Fair Comparison of Graph Neural Networks for Graph Classification. 8th International Conference on Learning Representations (ICLR 2020). Code
in the examples/DATA_SPLITS folder.
PyDGN >= 1.0.0 is BSD 3-Clause licensed, as written in the LICENSE file.
FAQs
A Python Package for Deep Graph Networks
We found that pydgn demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.