All Projects → diningphil → PyDGN

diningphil / PyDGN

Licence: BSD-3-Clause License
A research library for Deep Graph Networks

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to PyDGN

meg
Molecular Explanation Generator
Stars: ✭ 14 (-91.14%)
Mutual labels:  deep-graph-networks, deep-learning-for-graphs
efda
Evaluation Framework for Dependency Analysis (EFDA)
Stars: ✭ 34 (-78.48%)
Mutual labels:  evaluation-framework
PySODEvalToolkit
PySODEvalToolkit: A Python-based Evaluation Toolbox for Salient Object Detection and Camouflaged Object Detection
Stars: ✭ 59 (-62.66%)
Mutual labels:  evaluation-framework
quica
quica is a tool to run inter coder agreement pipelines in an easy and effective ways. Multiple measures are run and results are collected in a single table than can be easily exported in Latex
Stars: ✭ 21 (-86.71%)
Mutual labels:  evaluation-framework
powerflows-dmn
Power Flows DMN - Powerful decisions and rules engine
Stars: ✭ 46 (-70.89%)
Mutual labels:  evaluation-framework
CrowdFlow
Optical Flow Dataset and Benchmark for Visual Crowd Analysis
Stars: ✭ 87 (-44.94%)
Mutual labels:  evaluation-framework
BIRL
BIRL: Benchmark on Image Registration methods with Landmark validations
Stars: ✭ 66 (-58.23%)
Mutual labels:  evaluation-framework

PyDGN: a research library for Deep Graph Networks

Documentation Status Coverage Status

Read the Documentation

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 happen to use or modify this code, please remember to cite our tutorial paper:

Bacciu Davide, Errica Federico, Micheli Alessio, Podda Marco: A Gentle Introduction to Deep Learning for Graphs, Neural Networks, 2020. DOI: 10.1016/j.neunet.2020.06.006.

If you are interested in a rigorous evaluation of Deep Graph Networks, which kick-started this library, check this out:

Errica Federico, Podda Marco, Bacciu Davide, Micheli Alessio: A Fair Comparison of Graph Neural Networks for Graph Classification. Proceedings of the 8th International Conference on Learning Representations (ICLR 2020). Code

Installation:

We assume git and Miniconda/Anaconda are installed. Then you can use the script below to install pydgn in a controlled and separate environment (this is up to you):

source setup/install.sh [<your_cuda_version>]
pip install pydgn

Where <your_cuda_version> is an optional argument that (as of 2/3/22) can be either cpu, cu102 or cu113 for Pytorch >= 1.10.2 If you do not provide a cuda version, the script will default to cpu. The script will create a virtual environment named pydgn, with all the required packages needed to run our code. Important: do NOT run this command using bash instead of source!

Quickstart:

Build dataset and data splits

pydgn-dataset --config-file examples/DATA_CONFIGS/config_PROTEINS.yml

Train

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.

Projects using PyDGN

Data Splits

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.

License:

PyDGN >= 1.0.0 is BSD 3-Clause licensed, as written in the LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].