JuliaGraphs/GraphNeuralNetworks.jl
Graph Neural Networks in Julia
What it solves
It provides a set of libraries for performing deep learning on graph-structured data in the Julia language, allowing users to build and train Graph Neural Networks (GNNs) using popular deep learning frameworks like Flux.jl and Lux.jl.
How it works
The project is organized into several specialized packages:
- GraphNeuralNetworks.jl and GNNLux.jl serve as the primary user-facing interfaces for Flux and Lux users, respectively.
- GNNGraphs.jl handles the underlying graph data structures and helper functions.
- GNNlib.jl implements the core message-passing framework using gather/scatter mechanisms or sparse matrix multiplication.
Who it’s for
Researchers and developers using Julia who want to implement machine learning tasks at the node, edge, or graph level using graph convolutional layers.
Highlights
- Support for common graph convolutional layers and custom layer definitions.
- Ability to compute on batched graphs, heterogeneous graphs, and dynamical graphs.
- Hardware acceleration via CUDA and AMDGPU.
- Integration with the Graphs.jl ecosystem.