dmlc / dmlc/dgl

Dynamic (?) graph supporting ??

Open
#3,270 13 comments 1 reaction 0 assignees View on GitHub
feature request
Dominant language
Python
Stars
14.3k
Forks
3.1k
PR merge metrics
No merged PRs in 30d

Description

Hi, I'm a big fan of `DGL` and always use it for my GNN projects.

I wonder what will be a friendly DGL practice for handling dynamic (?) graphs.
It might be good to start with my own definition of a dynamic graph. Hereby, I mean dynamic graph is the graph whose edge connectivity can differ based on the node features.

Such a concept of the graph can be found quite frequently while building models for solving PDEs or simulating physics simulators. One particular case is `Learning to Simulate Complex Physics with Graph Networks`, where the graphs are required to be constructed when two particles (nodes) are close to each other.

I realized that, as far as I know, in DGL it will not be easy to implement the edges which are added/deleted based on the node features. So, what will be the most DGL way to implement the idea in this kind of scenario? I guess we can confront quite a similar issue when we handle the set data also.

My hack for implementing such graph computation was to construct a complete graph and mask the messages depending on the node features, which is not computationally efficient.

[1] Learning to Simulate Complex Physics with Graph Networks - http://proceedings.mlr.press/v119/sanchez-gonzalez20a/sanchez-gonzalez20a.pdf

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.