JuliaGraphs / JuliaGraphs/GraphNeuralNetworks.jl
Missing functionality compared to DGL
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 308
- Forks
- 74
- Avg merge
- 3d 6h
- Merged PRs (30d)
- 2
Description
Checklist of stuff we miss compared to Deep Graph Library.
PRs are welcome!
Conv Layers
- GraphConv (called
GCNConvhere) - EdgeWeightNorm
- RelGraphConv
- TAGConv
- GATConv
- EdgeConv
- SAGEConv
- SGConv
- APPNPConv
- GINConv
- GatedGraphConv
- GMMConv (#147)
- ChebConv
- AGNNConv
- NNConv
- AtomicConv
- CFConv
- DotGatConv
- TWIRLSConv
- TWIRLSUnfoldingAndAttention
- GCN2Conv
Dense Conv Layers
- DenseGraphConv
- DenseSAGEConv
- DenseChebConv
Global Pooling Layers
- SumPooling (
GlobalPooling(+)here) - AvgPooling (
GlobalPooling(mean)here) - MaxPooling (
GlobalPooling(max)here) - SortPooling
- WeightAndSum
- GlobalAttentionPooling
- Set2Set
- SetTransformerEncoder
- SetTransformerDecoder
Batching and Reading Out Ops
https://docs.dgl.ai/en/0.6.x/api/python/dgl.html#batching-and-reading-out-ops
- batch. Use
Flux.batchorSparseArrays.blockdiag - unbatch
- readout_nodes (called
reduce_nodeshere) - readout_edges (called
reduce_edgeshere) - sum_nodes # use reduce_nodes(+, g, x)
- sum_edges # use reduce_edges(+, g, x)
- mean_nodes
- mean_edges
- max_nodes
- max_edges
- softmax_nodes
- softmax_edges
- broadcast_nodes
- broadcast_edges
- topk_nodes
- topk_edges
Adjacency Related Utilities
- khop_adj
- laplacian_lambda_max
nn.functional
https://docs.dgl.ai/api/python/nn.functional.html
- edge_softmax (
softmax_edge_neighborshere)
optim
https://docs.dgl.ai/api/python/dgl.optim.html
- Sparse Adam
- Sparse AdaGrad
nn Utility Modules
- Sequential (
GNNChainhere) - WeightBasis
- KNNGraph
- SegmentedKNNGraph
nn NodeEmbedding Module
- NodeEmbedding
Sampling and Stochastic training
.....
Distributed Training
....
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the DGL Python API links and choose one unchecked capability from the checklist, such as a convolution, pooling layer, or sampling operation. Compare its expected behavior with the corresponding GraphNeuralNetworks.jl conventions; the work is done when that selected item is implemented and its checklist entry can be marked complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia, python
- Domain
- machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100