Skip to content
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

Move select models to backbone + heads format and add support for hydra #782

Merged
merged 46 commits into from
Aug 2, 2024

Conversation

misko
Copy link
Collaborator

@misko misko commented Jul 25, 2024

This PR is heavily inspired and copied from #556 . It was recently decided to move towards a Hydra like architecture where each model can be split into two classes of components, backbone and heads. Instead of reverting changes in #556 to enable this Hydra architecture this PR introduces this framework on top of current main.

Contributions in this PR are copied from work done by:
@mshuaibii @janiceblue @nimashoghi @lbluque @gvahe

  • Move Gemnet to backbone + head
  • Move Gemnet_oc to backbone + head
  • Move eSCN to backbone + head
  • Move DimeNet++ to backbone + head
  • Move PaiNN to backbone + head
  • Move Equiformerv2 to backbone + head
  • Add Basehydra class
  • Add Basehydra Eqv2 example

@misko
Copy link
Collaborator Author

misko commented Jul 25, 2024

This breaks calculator checkpoints in the way that it is written :'(

@lbluque lbluque changed the title Move select models to backbone + heads format and add support for hyrda Move select models to backbone + heads format and add support for hydra Jul 26, 2024
Copy link

codecov bot commented Jul 26, 2024

@misko misko marked this pull request as ready for review July 30, 2024 00:36
@misko misko requested review from lbluque and mshuaibii July 30, 2024 00:36
@misko misko requested a review from rayg1234 July 30, 2024 16:49
lbluque
lbluque previously approved these changes Aug 2, 2024
Copy link
Collaborator

@lbluque lbluque left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks @misko!

@misko misko enabled auto-merge August 2, 2024 18:10
@misko misko added this pull request to the merge queue Aug 2, 2024
Merged via the queue into main with commit 08b8c1e Aug 2, 2024
7 checks passed
@misko misko deleted the hydra_support branch August 2, 2024 21:48
lbluque pushed a commit that referenced this pull request Aug 7, 2024
…ra (#782)

* convert escn to bb + heads

* convert dimenet to bb + heads

* gemnet_oc to backbone and heads

* add additional parameter backbone config to heads

* gemnet to bb and heads

* pain to bb and heads

* add eqv2 bb+heads; move to canonical naming

* fix calculator loading by leaving original class in code

* fix issues with calculator loading

* lint fixes

* move dimenet++ heads to one

* add test for dimenet

* add painn test

* hydra and tests for gemnetH dppH painnH

* add escnH and equiformerv2H

* add gemnetdt gemnetdtH

* add smoke test for schnet and scn

* remove old examples

* typo

* fix gemnet with grad forces; add test for this

* remove unused params; add backbone and head interface; add typing

* remove unused second order output heads

* remove OC20 suffix from equiformer

* remove comment

* rename and lint

* fix dimenet test

* fix tests

* refactor generate graph

* refactor generate graph

* fix a messy cherry pick

* final messy fix

* graph data interface in eqv2

* refactor

* no bbconfigs

* no more headconfigs in inits

* rename hydra

* fix eqV2

* update test configs

* final fixes

* fix tutorial

* rm comments

* fix test

---------

Co-authored-by: lbluque <[email protected]>
Co-authored-by: Luis Barroso-Luque <[email protected]>

(cherry picked from commit 08b8c1e)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants