-
Notifications
You must be signed in to change notification settings - Fork 53
Closed
Description
The codebase is currently undergoing a factorization whose final outcome is to have several packages hosted in the same monorepo (for developing convenience, see #433):
GNNGraphs.jl
: graph types and graph operations. Depends onGraphs.jl
and onNNlib.jl
.GNNlib.jl
: functional implementation of graph convolutional layers. Depends onGNNGraphs.jl
.GraphNeuralNetworks.jl
orFluxGNN.jl
: Stateful graph convolutional layers based onFlux.jl
. This will be the fronted package for Flux users. Depends onGNNlib.jl
,GNNGraphs.jl
, andFlux.jl
.LuxGNN.jl
: Stateless graph convolutional layers satisfying Lux's interface. Depends onGNNlib.jl
,GNNGraphs.jl
, andLux.jl
.
This way we will introduce Lux support (#372) and the Flux and Lux frontends will be only tiny wrappers around a shared codebase given by GNNlib.jl and GNNGraphs.jl.
I will keep track here of the transition status:
- Create and register the package
GNNlib.jl
.GraphNeuralNetworks.jl
will not depend on it yet. create GNNlib.jl #432 - Create and register the package
GNNGraphs.jl
. separate GNNGraphs from GNNlib #446, New package: GNNGraphs v0.1.0 JuliaRegistries/General#111443 - Setup multi-package CI (CI for GNNGraphs.jl #451)
- Make
GraphNeuralNetworks.jl
depend onGNNGraphs.jl
make GraphNeuralNetworks.jl depend on GNNGraphs.jl #453- Make sure to include all the latest changes to the GNNGraphs module into the GNNGraphs package
- Make
GNNlib.jl
depend onGNNGraphs.jl
- Create
GNNLux.jl
depending onGNNlib.jl
andGNNGraphs.jl
. create GNNLux.jl package #460 - Make
GraphNeuralNetworks.jl
depend onNNlib.jl
. use GNNlib in GNN.jl #464 - Setup multi-package documentation (consider using MultiDocumenter #456)
- write developer docs
aurorarossi