models icon indicating copy to clipboard operation
models copied to clipboard

[Task] Create a protocol for common methods across model frameworks

Open oliverholworthy opened this issue 3 years ago • 0 comments

Part of #669 Relates to https://github.com/NVIDIA-Merlin/Merlin/issues/545

Background

Based on the discussions around having a common API across the backend framework implementations. We would like to make this concrete with a protocol that each model can be checked against to help make it clear which methods are part of a common API and which are specific to the various model implementations.

Description

Write down the common API methods supported by each model in a protocol that can be runtime checked. This can be extended in future. For the purposes of this task. The following may be enough to consider this task complete:

  • training methods:
    • fit Fit (train) the model on a dataset provided
    • evaluate Evaluate the model on a dataset provided (returns metrics)
    • predict Run inference on the model returning the output predictions of the model
  • io methods:
    • save Write out artifact(s) that can be reloaded by the load method
    • load classmethod to re-load a model from a previously saved model instance.

oliverholworthy avatar Aug 25 '22 09:08 oliverholworthy