forked from rdkit/rdkit
-
Notifications
You must be signed in to change notification settings - Fork 0
ANI Backward Pass #3
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
Open
manangoel99
wants to merge
43
commits into
ANI-Integration-Check
Choose a base branch
from
ANI-BackwardPass
base: ANI-Integration-Check
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Added tests by comparing ouput from ```SymmetryFunc``` with output from torchani - Test cases are CH4, SO2, NH3 and ethanol for which mol files and expected are added
Addition of ANI namespace inside which all the featurization code has been added Removed functions from public interface of AtomicEnvironmentVector which will not be used elsewhere
…s taking initial 0 as a bool option - Consistent data types for indexing in Eigen Arrays/Matrices/Vectors - Removed functions from public API which are not seen by other code - Added tests for GenerateSpeciesVector - Changed python wrapper as suggested - Added PRECONDITION wherever required - Changed unnecessary int to unsigned int and unnecessary double eigen arrays to int arrays - Use of switch instead of multiple if else - Added inline comments for better understanding of the code and from where constants were obtained
…guments into temporary variables
…s are available for ANI ForceField Added AtomicContrib to the ANI ForceField for getting contributions from each atom Implemented forward propogation of AEV with random weights Code requires further clean up and handling edge cases
…hts from CSV files
…nsembling Removed hardcoding in ANIForceField module as much as possible by loading all data from CSV files (Needs to be changed) Implemented testing for energy production accuracy for both ANI-1x and ANI-1ccx
…ass to use with boost::serialize Added methods to serialize and deSerialize Eigen matrices and arrays to store and read them from files
…l energy by loading neural network weights from boost serialized files
… molecule Added logic to load float weights instead of double Added documentation for ANI force field
- Replaced multiple weight files in 1 model with 1 file for each model in the ensemble - Added loading AEV generation parameters from files rather than hardcoding - Added function to generate Species Vector from array of atomic numbers - Added support for more data types in EigenSerializer and loading all weights from one file
- Implemented Builder functions for constructing ANIForceField from mol objects - Implemented corresponding python wrappers and tests
…rough ANI NNs and added pytho unit tests for the python wrappers
…h framework - Refactored functions like forwardProp to take references as arguments instead of passing arguments by value - Created new file for python tests of ANI Force Field
…hen an unkown atom is encountered in AEV generation - Added corresponding test case
- Added test case to check if ValueErrorException is raised while building force field if mol contains unkown atoms
…ccept ifstream and ofstream as arguments - Added serializeAll function - Added tests for serializeAll and deserializeAll
…gen::MatrixXd``` objects instead of ```Eigen::ArrayXXd``` to remove explicit type changes during matrix multiplication. - Changed files containing weights to store MatrixXd objects instead of ArrayXXd
Removed python wrapper for AEV
…d compatibility in boost serialization
… AEV w.r.t input positions
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains an incorrect implementation of calculating derivatives of the AEVs w.r.t input coordinates for each atom.
The code is present in the
ANIAtomContrib::getGrad
function inCode/ForceField/ANI/AtomicContrib.cpp
.The test CH4.mol file can be found at
Code/GraphMol/Descriptors/test_data/CH4.mol
.This is the expected output according to torchani
