JuliaGraphs / JuliaGraphs/GraphNeuralNetworks.jl

Missing functionality compared to DGL

Open
#41 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

good first issue
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 GCNConv here)
  • 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.batch or SparseArrays.blockdiag
  • unbatch
  • readout_nodes (called reduce_nodes here)
  • readout_edges (called reduce_edges here)
  • 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_neighbors here)
optim

https://docs.dgl.ai/api/python/dgl.optim.html

  • Sparse Adam
  • Sparse AdaGrad
nn Utility Modules
  • Sequential (GNNChain here)
  • WeightBasis
  • KNNGraph
  • SegmentedKNNGraph
nn NodeEmbedding Module
  • NodeEmbedding
Sampling and Stochastic training

.....

Distributed Training

....

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.