-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Added the residual option for GATConv and GATv2Conv.
#9515
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
Conversation
for more information, see https://pre-commit.ci
…metric into gat-residual for draft PR.
|
An example Note that for the case I am not sure whether the Feel free to comment! |
This reverts commit c984d6f.
|
The Linting check fails due to |
zechengz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general LGTM. Maybe @rusty1s can take a look
residual option for GATConv and GATv2Conv.residual option for GATConv and GATv2Conv.
residual option for GATConv and GATv2Conv.residual option for GATConv and GATv2Conv.
Linnore
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question about adding linear transformation when in_channels == total_out_channels
As discussed here #7555 (reply in thread), the GAT paper mentioned using skip-connection to reach the reported metrics on PPI dataset. This PR adds the option of
residualto enable skip-connection.Specifically, we consider the following for adding residual:
actual_out_channels=heads*out_channelsif concat elseout_channelsin_channels==actual_out_channels, then residual is justxbefore the convolution. Otherwise, residual is a linear projection of the inputxonto the dimension ofactual_out_channels.For bipartite case where the input is (x_src, x_dst), the above consideration will be applied for x_dst.