Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

JuliaGraphs/GraphNeuralNetworks.jl

Repository files navigation

GraphNeuralNetworks.jl

codecov

Libraries for deep learning on graphs in Julia, using either Flux.jl or Lux.jl as backend frameworks.

This repository contains the following packages:

  • GraphNeuralNetworks.jl: Provides graph convolutional layers based on the deep learning framework Flux.jl. This is the frontend package for Flux users.

  • GNNLux.jl: Offers graph convolutional layers based on the deep learning framework Lux.jl. This is the frontend package for Lux users.

  • GNNGraphs.jl: Provides graph data structures and helper functions for working with graph data. This package is re-exported by the frontend packages.

  • GNNlib.jl: Implements the message-passing framework based on the gather/scatter mechanism or sparse matrix multiplication. It also includes shared implementations for the layers used by the two frontend packages. This package is not intended for direct use by end-users but is re-exported by the frontend packages.

Features

Both GraphNeuralNetworks.jl and GNNLux.jl support the following features:

  • Implementation of common graph convolutional layers.
  • Computation on batched graphs.
  • Custom layer definitions.
  • Support for CUDA and AMDGPU.
  • Integration with Graphs.jl.
  • Examples of node, edge, and graph-level machine learning tasks.
  • Heterogeneous and dynamical graphs and convolutions.

Installation

All packages are registered in the General registry, making them easy to install via the Julia package manager.

For Flux users, run:

pkg> add GraphNeuralNetworks

For Lux users, run:

pkg> add GNNLux

There is no need to install GNNGraphs or GNNlib directly, as their functionality is re-exported by the frontend packages.

Usage

Usage examples can be found in the examples folder and the notebooks folder.

For a comprehensive introduction to the library, refer to the Documentation.

Citing

If you use GraphNeuralNetworks.jl in a scientific publication, we would appreciate a reference to our paper:

@article{lucibello2024graphneuralnetworks,
  title={GraphNeuralNetworks.jl: Deep Learning on Graphs with Julia},
  author={Lucibello, Carlo and Rossi, Aurora},
  journal={arXiv preprint arXiv:2412.06354},
  url={https://arxiv.org/abs/2412.06354},
  year={2024}
}

Acknowledgments

GraphNeuralNetworks.jl is largely inspired by PyTorch Geometric, Deep Graph Library, and GeometricFlux.jl.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.