-
Notifications
You must be signed in to change notification settings - Fork 12
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
Configs v2 #421
Configs v2 #421
Conversation
Codecov Report
@@ Coverage Diff @@
## main #421 +/- ##
=======================================
Coverage 66.77% 66.77%
=======================================
Files 82 82
Lines 7819 7819
=======================================
Hits 5221 5221
Misses 2598 2598
Flags with carried forward coverage won't be shown. Click here to find out more.
|
This looks nice @luis-mueller ! If I understand correctly, finetuning this model on lipophilicity would look like this:
Few thoughts/questions:
|
@WenkelF: Thanks for spotting the Regarding your comments:
Agreed. This would go well with the claim that we pre-configure the use-case of pre-training/fine-tuning (see my docs). Once the
Yes, but keep in mind that this would only work for that one setup. If we want to provide a re-usable structure, we would also have to logically separate more parts (e.g., the encoders, gnn, pre-nn, etc.). This is of course a trade-off between flexibility and practicality as composing each part could be cumbersome. I will try to think of a solution that can make this trade-off easier.
Yes, I fixed that already. Thanks for pointing this out 🙌
The way it is organized now should already support this use case. Since
IMO that would be ideal and it would showcase the flexibility of our config structure. From what I have seen in your PR most of the code is re-used, correct? You can always add additional code that only runs when |
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.
Nice changes! Would help makes everything cleaner
Yes, at least the first version of finetuning will be very similar. Moving forward only architecture part might change a bit. One thing I thought about (assuming architecture was separated from featurization) was to have architecture as an optional and have it inferred from the pretrained model if we are finetuning. This could be integrated into the function load_architecture in graphium/data/_loader.py. Let's say, we have pretrained many models on LargeMix and want to finetune a specific one for a new task. Then, we only need to provide the name of the pretrained model, e.g., looking at the leader board, and don't need to find the config of the pretrained. Would that be a useful feature? |
Changelogs
This PR proposes a new structure for the
hydra
configs with a focus on the core aspects of Graphium (accelerators, benchmarking and pre-training/fine-tuning). The changes here might also directly help with #414. The PR also adds some documentation on thegraphium/expts/hydra-configs
level. I'd be happy to also add it to the documentation page. For more information about the proposed changes read here.Checklist:
feature
,fix
ortest
(or ask a maintainer to do it for you).discussion related to that PR