dmlc / dgl

Python package built to ease deep learning on graph, on top of existing DL frameworks.
http://dgl.ai
Apache License 2.0
13.44k stars 3.01k forks source link

HeteroGraphConv's forward need to modify #7685

Open yfismine opened 2 months ago

yfismine commented 2 months ago

🚀 Feature

*mod_args.get(etype,()) and *mod_kwargs.get(etype,{}) in HeteroGraphConv's forward need to be changed to mod_args.get((stype, etype, dtype),()) and **mod_kwargs.get((stype, etype, dtype),{})

Motivation

For heterogeneous graphs, the parameters of a homogeneous graph cannot be determined only by etype, for example, if there are two kinds of edges (node1,edge1,node1) and (node2,edge1,node1).

rudongyu commented 2 months ago

Thanks for filing the issue. Is there a reason for not defining separate edge types (e.g. edge1 and edge2) when the source nodes are of different types in this example? Are there any special considerations to keep in mind?

yfismine commented 2 months ago

Yes, I know there are ways to avoid this problem, but I think as a framework itself, there should be no assumptions about the user's source data schema. @rudongyu

rudongyu commented 2 months ago

Thanks for further elaboration. I see your point. We’ve added it to our backlog to get prioritized over other feature requests in our roadmap. You are also appreciated to contribute to DGL to get it supported, thanks!