awslabs / awslabs/graphstorm

[refactor] Decouple model components from graph

Open
#826 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
452
Forks
76
PR merge metrics
No merged PRs in 30d

Description

Current issue:
In order to reuse GraphStorm's model components, e.g., `InpuLayer`s and `Encoder`s, users need to create a g(DistGraph) first. This create some barrier for users to build customized models based some built-in compoents.

Suggested solution:
Current GraphStorm components, in effect, only use g(DistGraph) to extract meta information of the graph, such as canonical_etypes or node feature dimensions. Therefore, it would be convenience to just pass those meta information as arguments, which will decouple the binding between model components and g(DistGraph)s.

Contributor guide

Open the contributing guide

Research direction

Start by tracing how the model components, including InputLayers and Encoders, currently receive g(DistGraph) and extract canonical_etypes or node feature dimensions. Identify the affected component entry points and tests before deciding how those metadata arguments should be passed. Done means the components can be reused without first creating a DistGraph, with existing behavior still covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Refactor
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.