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

store version/features used in the model so that code that reads it does not misinterpret and provide incorrect results #776

Open
bernstei opened this issue Jan 10, 2025 · 1 comment

Comments

@bernstei
Copy link
Collaborator

It would be helpful, especially for interoperability (e.g. with implementations like symmetrix) if the features that are actually used are somehow stored in/with the model parameters (to, e.g., make it possible to detect things like symmetrix not yet supporting ZBL leading to wrong results from a converted model).

This would require some standardized vocabulary/data structures to encode this information, and as new variations on various internal bits are added, these could be extended (could get fancy with semantic versioning indicating when changes are or are not backward compatible). With QUIP GAP this is just handled by a time stamp that makes the code refuse to read models generated by newer versions, and that might be OK entirely within python MACE, but wouldn't be enough for multi-implementation interoperability.

In addition, it would be nice to go to single-file storage of this info and the actual pytorch parameters, which could be handled by wrapping the info (a JSON dict/list for the description + some storage of the pickled parameters) into a single file, and I think that'd be straightforward to add to the pytorch save/load calls.

@gabor1
Copy link
Collaborator

gabor1 commented Jan 10, 2025

I think sooner rather than later, something like this has to be done. Too many opportunities for mistakes otherwise. GAP also stored it's entire command line, but that doesn't account for changes in code and defaults.

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

No branches or pull requests

2 participants