Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Roadmap] v0.5 release plan #930

Open
jermainewang opened this issue Oct 15, 2019 · 17 comments

Comments

@jermainewang
Copy link
Member

@jermainewang jermainewang commented Oct 15, 2019

In v0.5, we plan to improve our current APIs and release more models. Here is the proposal.

[Model] Recsys models

Similar to the DGL-KE and DGL-Chem packages, we'd like to organize popular models and datasets together for recommender system. We'd also like to take this chance to add CI and other relevant supports to DGL-KE and DGL-Chem.

[DGL-KE] Advance KGE

  • Move KGE score functions and loss functions to the nn module.
  • Move KG dataset to DGL data
  • More models: RotatE/TrasnR
  • Distributed training

[Doc] Document improvement

  • Update at glance tutorial with built-in functions.
  • Reorg documents to include NN modules.

[Feature] Distributed GNN training

  • Finalize the programming interface for distributed training.
  • Improve distributed kvstore for better performance and flexibility.
  • Explore graph partitioning.

[Feature] More flexible sampler APIs

  • Design Python APIs for quick prototyping (flexibility > efficiency)
  • Design C APIs for more advanced implementation (efficiency > flexibility)
  • Merge Nodeflow to DGLHeterograph.

[Kernel] Target Parallel

  • Replace the edge parallel algorithm in minigun with target parallel (dglai/minigun#10).
  • Refactor dgl BinaryReduce and CopyReduce code.
  • Remove non-deterministic behavior brought by atomic operations.

[Feature] Loading from graph database

Support loading graphs from graph database (e.g. Neo4j etc.)

[Enhancement] API refactor

  • Merge DGLGraph to DGLHeterograph since the later is more general.
    • Enable all APIs for DGLGraph to DGLHeterograph (e.g., batching #927 )
  • Find a neat way to merge BatchedDGLGraph and DGLSubgraph.
  • Deprecate graph based on adjlist. Use COO for mutation.

[Enhancement] NN modules

  • Support bipartite graphs in popular layers.
  • Sequential pooling layer with new bipartite graph API.

[Enhancement] Point Cloud models (optional) #719

[Misc] Other items

Feel free to reply and comment.

@jermainewang jermainewang pinned this issue Oct 15, 2019
@futurely

This comment has been minimized.

Copy link

@futurely futurely commented Oct 15, 2019

[Enhancement] Distributed training usability enhancement. Extract generic distributed training tools from the examples and move them into the core. #864

[Feature] Distributed graph store can be used not just by distributed KGE (knowledge graph embedding) training, but also by arbitrary graph embedding training. #869

[Feature] Support TensorFlow. #422
[Feature] Support Keras API. #909

@VoVAllen

This comment has been minimized.

Copy link
Collaborator

@VoVAllen VoVAllen commented Oct 15, 2019

Serialize HeteroGraph should also be included

@VoVAllen

This comment has been minimized.

Copy link
Collaborator

@VoVAllen VoVAllen commented Oct 20, 2019

#939
Adding this issue, to see whether we could do this with nodeflow.

@VoVAllen

This comment has been minimized.

Copy link
Collaborator

@VoVAllen VoVAllen commented Oct 20, 2019

Also float16 support (Just for record, no intention to add it to 0.5)

@zheng-da

This comment has been minimized.

Copy link
Collaborator

@zheng-da zheng-da commented Oct 21, 2019

Serialize HeteroGraph should also be included

do you mean defining a format to store HeteroGraph in a file?

@VoVAllen

This comment has been minimized.

Copy link
Collaborator

@VoVAllen VoVAllen commented Oct 21, 2019

@zheng-da Yes

@jermainewang

This comment has been minimized.

Copy link
Member Author

@jermainewang jermainewang commented Oct 28, 2019

Since there are several dependency and building issues, I suggest we release a minor patch version v0.4.1 to fix them. It should at least include:

  • Missing MXNet NN modules PR #890 .
  • Upgrade pytorch dependency to v1.3.0 (Fix warning by ByteTensor) PR #954
  • Upgrade networkx dependency to v2.2 (Fix compatibility issue) PR #937 #949
  • Support CUDA 10.1. Issue #950
  • Bugfix #717 | #946
@zheng-da

This comment has been minimized.

Copy link
Collaborator

@zheng-da zheng-da commented Oct 29, 2019

Accelerate graph query API on large graphs.

@MilkshakeForReal MilkshakeForReal mentioned this issue Nov 4, 2019
9 of 12 tasks complete
@MilkshakeForReal

This comment has been minimized.

Copy link
Contributor

@MilkshakeForReal MilkshakeForReal commented Nov 5, 2019

Recommender system is a very broad topic, I was wondering where we should get it started?
https://github.com/DeepGraphLearning/RecommenderSystems/blob/master/readingList.md

@zheng-da

This comment has been minimized.

Copy link
Collaborator

@zheng-da zheng-da commented Nov 5, 2019

You are right. The initial release will include the following models:

  • GCMC
  • Star-GCN
  • item-based recommendation using GraphSage/PinSage
  • some models on knowledge graph aware recommendation
@VoVAllen

This comment has been minimized.

Copy link
Collaborator

@VoVAllen VoVAllen commented Nov 7, 2019

DGL.subgraph do not support pickle (NotImplementedError: SubgraphIndex pickling is not supported yet.)

@VoVAllen

This comment has been minimized.

Copy link
Collaborator

@VoVAllen VoVAllen commented Nov 7, 2019

Also pickling for DGLGraph is slow. This might be a bottleneck when sending multiple objects across multiprocessing

@mufeili

This comment has been minimized.

Copy link
Member

@mufeili mufeili commented Nov 11, 2019

Try removing atomic operations and guaranteeing deterministic behaviors, as mentioned in #908 .

@kingsaint

This comment has been minimized.

Copy link

@kingsaint kingsaint commented Nov 22, 2019

R-GCN link prediction fails both on CPU (16G memory) and GPU (12G memory) for the FB15k-237 dataset. In both cases, it is trying to allocate additional memory during evaluation and failing. This needs to be resolved as R-GCN is used as a baseline for many experiments. Also, filtered metrics are not implemented. But I have a working code for filtered metrics. I can contribute to it.

@VoVAllen

This comment has been minimized.

Copy link
Collaborator

@VoVAllen VoVAllen commented Nov 22, 2019

Thanks @kingsaint . We will try fix it. More detail of this issue could be fount at #997 (comment)

@BarclayII BarclayII added this to In progress in DGL Main Dashboard Dec 3, 2019
@BarclayII BarclayII removed this from In progress in DGL Main Dashboard Dec 3, 2019
@wenruij

This comment has been minimized.

Copy link

@wenruij wenruij commented Dec 4, 2019

Is there a schedule for the new release?

@jermainewang

This comment has been minimized.

Copy link
Member Author

@jermainewang jermainewang commented Dec 5, 2019

We don't have an exact date yet. Nevertheless, many items are already done or under construction. Therefore, you could expect several minor releases before the full v0.5 because we'd like to deliver these features ASAP. We will update this roadmap to be a tracker so it is clearer what is happening.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
8 participants
You can’t perform that action at this time.