-
Notifications
You must be signed in to change notification settings - Fork 294
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
What do i need to retrain a model for a specific interaction? #1063
Comments
Hi - Yes you are definitely on the right track. I would suggest checking out this tutorial for more concrete steps on how to use your dataset to fine-tune existing models for your specific application - https://fair-chem.github.io/core/fine-tuning/fine-tuning-oxides.html. I would not be surprised if the models worked out of the box without any additional training, so maybe start there first and see how they do! We did something similar in this work - https://arxiv.org/abs/2405.02078. |
Thank you @mshuaibii ! I am running a training with the SchNet model, on S2EF. I don't have a gpu, so i am running it on the cpu. Is it normal for, during the training, the Energy MAE to struggle in being lowered? My energy mae is oscillating between 8E+00 and 1.00E+1 for about 5 days. 2025-03-25 09:52:14 /home/brunoss/programs/fairchem/src/fairchem/core/trainers/ocp_trainer.py:194: (INFO): energy_mae: 8.35e+00, forces_mae: 9.22e-02, forces_cosine_similarity: 8.37e-02, forces_magnitude_error: 1.42e-01, energy_forces_within_threshold: 0.00e+00, loss: 9.47e+00, lr: 8.59e-05, epoch: 3.09e-01, step: 2.58e+04 2025-03-25 09:52:14 /home/brunoss/programs/fairchem/src/fairchem/core/models/base.py:80: (WARNING): Turning otf_graph=True as required attributes not present in data object |
What is the energy value you are training on here and can you share an example config. SchNet is a very old model that doesnt do so great, I recommend you try at least EquiformerV2 or GemNet-OC. You can find sample configs for these models here - https://github.com/FAIR-Chem/fairchem/tree/main/configs/oc20/s2ef/2M. |
@mshuaibii Ah, okay, thank you! I wanna train my model to predict adsorption energy with good accuracy, but i was not sure of which data set i should use for this model. Do you think equiformer_v2 would good for this? |
@mshuaibii to explain exactly what i want to do: i wanna train a model to predict adsorption energy. After training, i wanna use the trained model to predict the adsorption energy of some systems that are related to my PHD project. So, my idea was to use the equiformer config https://github.com/FAIR-Chem/fairchem/blob/main/configs/oc20/s2ef/2M/equiformer_v2/equiformer_v2_N%4012_L%406_M%402.yml |
Got it - in that case you don't need to train it from scratch on your end. If you are interested in adsorption energies I would advise on starting with the pretrained models we have available to use (trained on S2EF All split). This example shows you how to do so - https://github.com/FAIR-Chem/fairchem?tab=readme-ov-file#quick-start. This is the quickest way to get adsorption energies for your project. |
@mshuaibii Ah, okay, i see. So, the next idea for my project was to get the results obtained with the model (e.g., the pre-trained one) and compare it to the experimental value. Depending on the error, we wanted to retrain/fine tune the model to improve the accuracy of the adsorption energy. So, i could just use the pre-trained model and do the finetuning of it using this tutorial https://fair-chem.github.io/core/fine-tuning/fine-tuning-oxides.html ? Thank you. |
Yup, exactly! You can use that model as the starting point and finetune that. |
@mshuaibii Thank you for your patience, its now much clearer to me. Best regards! |
What would you like to report?
I am working in a reaction which has about 12 intermediates that all adsorbs to platinum. I want to predict the adsorption energy for all of them. However, i'd also like to train the available models to obtain a more exact adsorption energy for these intermediates.
To achieve this, i thought about making a .db file, containing all the structures adsorbed to the Pt. Am i correct? What else do i need?
The text was updated successfully, but these errors were encountered: