Closed laserkelvin closed 4 months ago
Ergh, issue with one of the tests...
@melo-gonzo just wanted you to take a look at the example before I merge, and if you wanted to clarify what you meant in your question?
@laserkelvin thanks for the example! I am just curious why you made the change in that line. Feel free to merge ✅
This PR closes #217 by providing an extended interface for mapping multitask models to
ase
workflows.The main changes include:
matsciml.interfaces.ase.multitask.AbstractStrategy
class, whose children allows us to implement ways to aggregate the outputs of multitasks.AverageTasks
, which does a mean aggregation across the different dataset heads to compute energies/forces. Essentially, if you hadForceRegressionTask
trained on multiple datasets, we outputs from all.ase_calculate
method forMultiTaskModule
, which effectively streamlines inference using multitask modules in scenarios like as an ASE calculator. It's named specifically forase
, but in the future we can use it as a dedicated inference method.The
AbstractStrategy
should be flexible enough to do other potentially more intelligent aggregations, e.g. a weighted average, MoE approaches, etc.