Skip to content
Discussion options

You must be logged in to vote
  1. aggregate() and update() have default implementations. For example, by default, aggregate will aggregate incoming messages according to the aggr attribute ("add", "mean" or "max") of the MessagePassing class. update() just returns the input by default.
  2. message_and_aggregate() fuses message and aggregate computation into a single step, which is useful in order to allow for more memory-efficient GNN operators. This post tries to explain it in more detail.
  3. That is mostly correct. If message_and_aggregate is not implemented, the order of operations is:
forward -> propagate -> message -> aggregate -> update

If message_and_aggregate is implemented, the order of operations is:

forward -> prop…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by hkim716
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants