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

A design for more generic targets #364

Open
frostedoyster opened this issue Oct 18, 2024 · 0 comments
Open

A design for more generic targets #364

frostedoyster opened this issue Oct 18, 2024 · 0 comments
Labels
Infrastructure: CLI Related to the command line interface Infrastructure: Data Related to data handling like readers and datasets Priority: Medium Important issues to address after high priority.

Comments

@frostedoyster
Copy link
Collaborator

In order to extend the functionality of metatrain, it would be ideal to have infrastructure supporting more generic targets.

In general, a target is defined by its metadata:

  • keys: for example different L values for decomposed spherical tensors
  • samples: per-structure, per-atom
  • components
  • properties: how many "numbers" to predict for each sample (e.g. DOS learning)
    Another essential piece of information to fit arbitrary properties is their "transformation rule" under rotation (Cartesian tensor, spherical tensor(s), etc). This can be stored implicitly in the components (xyz_1, xyz_2 etc for Cartesian tensors, and the usual combination of keys and components for spherical tensors).
    An alternative would be to have some custom classes (SphericalTensor, CartesianTensor, etc) to represent the properties of these targets.

The architectures will have to change to either support these targets or error out as needed. Some of the supporting stack and utilities in metatrain will also have to be adapted (losses, LLPR, etc).

Finally, the I/O would have to be adapted to support high-order tensors. Some changes would be required to both the target sections in the input yaml files, as well as some format(s) that would allow storing the tensors (e.g. flattened tensors in ASE/extxyz, TensorMaps, etc)

@frostedoyster frostedoyster added Priority: Medium Important issues to address after high priority. Infrastructure: CLI Related to the command line interface Infrastructure: Data Related to data handling like readers and datasets labels Oct 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Infrastructure: CLI Related to the command line interface Infrastructure: Data Related to data handling like readers and datasets Priority: Medium Important issues to address after high priority.
Projects
None yet
Development

No branches or pull requests

1 participant