-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[Feature Proposal] Edge Group Apply API #332
Comments
What we need actually is a function that takes in |
This seems a case in Do you think consolidate these two API into one |
@jermainewang @ylfdq1118 |
I've implemented a kernel for |
Shouldn't it be |
I am thinking about having a As to whether we should merge apply_edge and group_apply into one, I think it's ok to merge, but there is a little bit subtlety here. My understanding is for apply_edge, edges are independent of each other (more parallelism), whereas in group_apply case, each group is independent of each other and we may have to bucket by degree again. But we still can merge them and leave the burden to scheduler. |
Thanks! I've corrected it in my proposal. |
Done in #358 |
🚀 Feature
Add edge group apply API
Motivation
Currently we don't support group apply out edges for each nodes. (in edges can be done with reduce function but not convinient enough)
Alternatives
No alternative for group apply out edges.
Proposal
g.group_apply_egdes(func=edge_func, field=''feat', direction='in')
edge_func
is a function takesedges
with shape(batch_size, num_edges, edges_feature_shape)
and return a dictionary with new field name and value.Or we can use built-in functions here such like
fn.sparse_softmax(in='feat', out='normalized feat')
This is just a proposal without carefule thoughts. Any comment and suggestion is welcomed!
The text was updated successfully, but these errors were encountered: