models
models copied to clipboard
[Task] Create a protocol for common methods across model frameworks
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:
-
fitFit (train) the model on a dataset provided -
evaluateEvaluate the model on a dataset provided (returns metrics) -
predictRun inference on the model returning the output predictions of the model
-
- io methods:
-
saveWrite out artifact(s) that can be reloaded by theloadmethod -
loadclassmethod to re-load a model from a previously saved model instance.
-