Closed jermainewang closed 1 year ago
Some suggestions:
A couple more suggestions regarding C++:
Regarding temporal graph support:
Regarding sampling:
NeighborSampler
goes to the efficient C implementation while using others will stick with the current Python implementation. While this is OK for industrial purposes, I think this will strain maintainability quite a bit since we will (1) maintain both C-multithreading and Python-multiprocessing sampling code, and (2) translate Python-multiprocessing code to C-multithreading code every time we receive a request.
Hi, very exciting to read all these points. Regarding Subgraph extraction: k-hop subgraph
and [Subgraph sampling] SubgraphDataLoader interface proposal
I would like to share how I did it for my pipeline. If anyone is interested in applications, this is a nice paper that explores that.
For edge prediction, I implemented my own k-hop subgraph sampling around node paira in a heterograph. Some features were important to me:
n_nodes
: input int: How many nodes in the subgraph;
min_node_per_type
: input dict: quotas I would like to meet per node_type (my graph is very unbalanced. Without this, I risk not having some desired node_types in the subgraph);
dist_from_center
: output tuple: distances of each node from the center node pair
To do it, I did the following steps:
Generate a subgraph for each center node;
Then, I repeat this process in the new merged subgraph, but for each hop iteration, I save the distance from the center node. This is necessary because after the subgraphs are merged, the distances can change.
Regarding the wishlist, it might be worth to have some examples/utils about heuristics and score functions for link prediction, e.g., common neighbor, resource allocation, etc.
Thank you all for the awesome work on this repo!
Any idea about the release date of DGL v1.0?
Hi @jermainewang, thanks for sharing this! I'm currently doing my PhD and working with Dynamic Graphs. I would like to make myself available to help with the documentation related to that. I think these topics are related to my research and I may be helpful with them:
Please, let me know how can I contribute. Thanks in advance!
@otaviocx That's awesome! Let us sync on this matter.
Hi @jermainewang, thanks for the awesome roadmap. I'm currently working distributed graph training and I think I can help with the following features:
Please let me know if I could help. :)
This issue has been automatically marked as stale due to lack of activity. It will be closed if no further activity occurs. Thank you
This issue has been automatically marked as stale due to lack of activity. It will be closed if no further activity occurs. Thank you
Can we have #4668 on the 1.0 release roadmap as well?
@mfbalin Sure. Let's move the discussion to the PR.
@zyj-111 is interested in making a contribution for "[Blog] Spatial-temporal GNN models (e.g., for traffic network)", do we still plan to do that? @BarclayII @jermainewang @frozenbugs
Awesome. Let's follow this up on our slack.
Hi, What is the status of making DGLGraph compatible with Torchscript and the integration with JIT? I came across this thread and am not sure if this feature is available yet or not. (it was noted here) Thanks :)
Hi @Sids2k , it is currently work in progress. Our first goal is to make the recently released dgl.sparse
package jittable. See the discussion in https://github.com/dmlc/dgl/issues/5275
Closed as 1.0 has been delivered. We will open a new thread for collecting feature requests and call for contributions.
To the entire DGL community,
It has been more than two years (actually 33 months) since I clicked the Make It Public button of the repo, at which time I was not expecting more than a small codebase for playing with some fancy new models called Graph Neural Networks. Throughout the years, it is amazing to see the project growing with the area of Graph Deep Learning (which accidentally shares the same set of first letters with DGL), extending its scope from single machine to distributed training, becoming backbones of other packages and foundations of exciting new researches. But what makes me more honored is the wonderful community and contributors. It is your advises, questions, feedback, issue reports and PRs that make this project thrived. As we are heading to the third year anniversary, it is time for us to think about the next stage for DGL that is the first stable release. Of course, there are still a tons of work to be done before that happens so we would like to share the plan with everyone so you guys can chime in your thoughts.
[03/16/22] Updated the list according to the new v0.8 release.
Documentation
DGL v1.0 will provide a full-fledged set of documentation including tutorials, user guide, API reference for users from beginner level to expert. The major focus will be a set of HeteroGNN tutorials for beginners and advanced documentation for in-depth DGL developers.
GNN models, modules, samplers and others
See the separate roadmap #3849 .
Sampling infrastructure
Besides adding more sampling algorithms, we plan to improve the sampling pipeline in terms of both system efficiency and customizability.
Core infrastructure
dgl.sparse
, a new backbone subpackage for sparse (adjacency) matrix and the related operators.Distributed training infrastructure
torch.distributed
.Ecosystem
We want to see DGL being used by or using more and more amazing project in the ecosystem.
Compiler
See the separate roadmap #3850 .
DGL-Go
See the separate roadmap #3912 .