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
Added the GeoGNN
model
#8651
base: master
Are you sure you want to change the base?
Added the GeoGNN
model
#8651
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #8651 +/- ##
==========================================
+ Coverage 89.12% 89.47% +0.35%
==========================================
Files 481 483 +2
Lines 30830 30915 +85
==========================================
+ Hits 27477 27662 +185
+ Misses 3353 3253 -100 ☔ View full report in Codecov by Sentry. |
|
||
|
||
class GeoGNN(torch.nn.Module): | ||
"""Modified version of GeoGNN from the |
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.
Can you shed some light here about its modifications and what that means?
Co-authored-by: Matthias Fey <matthias.fey@tu-dortmund.de>
Modifications are with respect to the
And
Inside the In this PR, I’ve pulled the embedding process out of the
Here, the The larger change comes as some what of a consequence of pulling out the embedding stage, as the way the PaddlePaddle implementation is formed, the bond embeddings fed into each bond-angle The atom embedding weights correspond to the This implementation deviated slightly from my understanding of the original message passing, which looks like this. The authors note that the AGGREGATE and COMBINE are those from the original GIN paper. To my understanding, this corresponds to a scheme that looks more like this, where the previous BA-GIN layer’s outputs are used as inputs to the next. This is the version that I ended up implementing, as it seemed to match with what the message passing that the paper suggested in equations (3) and (4), and allowed the preprocessing to be left to the user. I’m not sure which is better, and could attempt to implement the other version as well. I might also attempt to benchmark both. Let me know what you think. |
Hey! I had a chance to take a look at the proposed model, and I must say it's pretty interesting! Looking forward to hearing more about it. |
Fixes #8626. Added the modified GIN in
geognn_conv.py
and two-graph GeoGNN ingeognn.py
from Geometry-enhanced molecular representation learning for property prediction.Not sure if this is the right place for everything - please let me know if I can move things around / add tests or examples.