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

EMLE training #35

Merged
merged 172 commits into from
Nov 14, 2024
Merged

EMLE training #35

merged 172 commits into from
Nov 14, 2024

Conversation

kzinovjev
Copy link
Contributor

This implements EMLETrainer class and emle-trainer script that exposes training as CLI. The reference data is expected in the same format as emle-analyse (a tarball with ORCA and horton outputs). This should facilitate active learning, where error analysis and retraining is performed for the same data.

Main changes to the common codebase:

  • All EMLE-specifie AEV logic is moved to EMLEAEVComputer class. This includes masking, normalization, and mapping between EMLE and AEVComputer zid values (the latter only needed when using a common computer with ani2x)
  • A small increment (1e-16) was added in various places in EMLEBase to avoid nan in the gradients w.r.t. EMLE parameters. Before it was not needed, since the gradients were only calculated w.r.t. atomic positions
  • aev_mean feature was removed

kzinovjev and others added 25 commits November 13, 2024 15:39
@kzinovjev kzinovjev reopened this Nov 14, 2024
@kzinovjev
Copy link
Contributor Author

Ready to go. Changes:

  • Numerous bugfixes in both the core and emle-analyze and emle-train scripts and API. Tested training for both QM7-based model and a custom one. Analysis also now works well (fixed multiple unit-related bugs).
  • Fixed units of the embedding forces in EMLECalculator. Propagation now seems to be stable.
  • Updated docstrings for EMLEAnalyzer
  • Added a short README section for emle-analyze and emle-train
  • Changed logging to loguru

@JMorado, feel free to add to the list if I forgot anything substantial!

@lohedges
Copy link
Contributor

Many thanks for this. I've merged into my feature_train branch, blackened, and am now running the CI against the updated AEV model. Everything passes locally and the sire-emle interface works without issue.

@lohedges lohedges merged commit 56ef30c into chemle:main Nov 14, 2024
3 of 5 checks passed
@JMorado
Copy link
Contributor

JMorado commented Nov 14, 2024

Many thanks to both of you. Looks good to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants