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

Committee-NNP #92

Draft
wants to merge 23 commits into
base: master
Choose a base branch
from
Draft

Conversation

singraber
Copy link
Member

@singraber singraber commented Mar 7, 2021

Implement committee NNPs (C-NNPs) as presented in J. Chem. Phys. 153, 104105 (2020) in the core library, applications (only prediction, no training) and LAMMPS interface.

Allow two different modes in LAMMPS (and tools where useful):

  1. Validation: committee is used to estimate the error, but only a single NN drives the MD.
  2. Prediction: use committee average in MD simulation (actual method in above publication).

New keywords introduced:

  • committee_mode, arguments can be validation or prediction
  • committee_data, two arguments:
    1. prefix for committee member data directories.
    2. number of committee members.

- NN weights are not yet read in
@singraber singraber marked this pull request as draft March 7, 2021 23:14
@singraber singraber added core Touches the libnnp core library enhancement New feature or request interface Concerns the interface to third-party software tool Adds a new application to the tools collection and removed tool Adds a new application to the tools collection labels Mar 9, 2021
@codecov-io
Copy link

Codecov Report

Merging #92 (15a7548) into master (995f0b5) will decrease coverage by 0.17%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #92      +/-   ##
==========================================
- Coverage   71.76%   71.59%   -0.18%     
==========================================
  Files         129      129              
  Lines       13981    14065      +84     
==========================================
+ Hits        10034    10070      +36     
- Misses       3947     3995      +48     
Flag Coverage Δ
cpp 74.28% <ø> (-0.27%) ⬇️
python 71.59% <ø> (-0.18%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/libnnp/Atom.cpp 40.54% <ø> (-0.40%) ⬇️
src/libnnp/Atom.h 66.66% <ø> (ø)
src/libnnp/Element.h 100.00% <ø> (ø)
src/libnnp/Mode.cpp 74.59% <ø> (-1.28%) ⬇️
src/libnnp/Mode.h 66.66% <ø> (ø)
src/libnnp/Settings.cpp 94.22% <ø> (+0.05%) ⬆️
src/libnnp/Structure.cpp 76.99% <ø> (-1.54%) ⬇️
src/libnnp/Vec3D.h 88.40% <0.00%> (-5.45%) ⬇️
... and 6 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 995f0b5...15a7548. Read the comment docs.

@DanielMarchand
Copy link
Contributor

I would be interested in trying this feature out, especially if it has a lammps interface. How close to working is it?

@singraber
Copy link
Member Author

I did not yet have time to look over the recent changes, I will do this next week. From what I can see the LAMMPS interface is not yet included but the standalone prediction (using nnp-predict) should work. @Kyvala Do you also want to comment on this?

@singraber singraber mentioned this pull request Apr 2, 2021
@Kyvala
Copy link

Kyvala commented Apr 7, 2021

I have tested it and it should work. However, it is implemented only for nnp-predict. It should be straightforward to implement even for LAMMPS interface but I am waiting on Andreas's check and finding optimal parameters for my material. Then I will move on to LAMMPS and make it work even for LAMMPS.

@codecov-commenter
Copy link

codecov-commenter commented May 7, 2021

Codecov Report

Merging #92 (0ebd71f) into master (9c350fb) will decrease coverage by 0.48%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #92      +/-   ##
==========================================
- Coverage   72.28%   71.80%   -0.49%     
==========================================
  Files         130      130              
  Lines       14231    14419     +188     
==========================================
+ Hits        10287    10353      +66     
- Misses       3944     4066     +122     
Flag Coverage Δ
cpp 74.42% <ø> (-0.66%) ⬇️
python 71.80% <ø> (-0.49%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/application/nnp-comp2.cpp 0.00% <ø> (ø)
src/application/nnp-predict.cpp 82.92% <ø> (-12.59%) ⬇️
src/application/nnp-train.cpp 94.28% <ø> (+0.16%) ⬆️
src/libnnp/Atom.cpp 40.75% <ø> (-0.20%) ⬇️
src/libnnp/Atom.h 66.66% <ø> (ø)
src/libnnp/Element.h 100.00% <ø> (ø)
src/libnnp/Mode.cpp 74.04% <ø> (-1.78%) ⬇️
src/libnnp/Mode.h 66.66% <ø> (ø)
src/libnnp/Prediction.cpp 69.46% <ø> (-30.54%) ⬇️
src/libnnp/Settings.cpp 94.22% <ø> (+0.05%) ⬆️
... and 14 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9c350fb...0ebd71f. Read the comment docs.

@cschran
Copy link

cschran commented Nov 28, 2022

Hi developers,

I've just stumbled upon this PR again and was wondering if there are any plans to merge this with the main branch in the near future.
From a quick look at the code, it seems like it's very close to completion.

Many thanks for all your hard work and all the best,
Christoph

@Kyvala
Copy link

Kyvala commented Nov 30, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Touches the libnnp core library enhancement New feature or request interface Concerns the interface to third-party software
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants