diff options
author | Lester Solbakken <lesters@users.noreply.github.com> | 2018-08-30 08:21:00 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-30 08:21:00 +0200 |
commit | 114f42cb0ea790bc758b779f8c747184b68bfe2b (patch) | |
tree | 4f2556cc7f1fb4f49089f506866a6d1d737c821b | |
parent | 05ea4c2b9952bceaf0e009053c2f51a09d15a957 (diff) | |
parent | 36d3e44cfc58a9cb4066c8ef65aa06140c8171d2 (diff) |
Merge pull request #6706 from vespa-engine/bratseth/model-evaluator-api-improvements
Bratseth/model evaluator api improvements
3 files changed, 10 insertions, 3 deletions
diff --git a/config-model/src/test/java/com/yahoo/config/model/ModelEvaluationTest.java b/config-model/src/test/java/com/yahoo/config/model/ModelEvaluationTest.java index d06752c9b6d..677a7615f04 100644 --- a/config-model/src/test/java/com/yahoo/config/model/ModelEvaluationTest.java +++ b/config-model/src/test/java/com/yahoo/config/model/ModelEvaluationTest.java @@ -51,6 +51,9 @@ public class ModelEvaluationTest { assertNotNull(onnx.evaluatorOf()); assertNotNull(onnx.evaluatorOf("default")); assertNotNull(onnx.evaluatorOf("default", "add")); + assertNotNull(onnx.evaluatorOf("default.add")); + assertNotNull(evaluator.evaluatorOf("mnist_softmax", "default.add")); + assertNotNull(evaluator.evaluatorOf("mnist_softmax", "default", "add")); Model tensorflow = evaluator.models().get("mnist_softmax_saved"); assertNotNull(tensorflow); diff --git a/model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java b/model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java index 593387e08bf..95eb923786d 100644 --- a/model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java +++ b/model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java @@ -126,6 +126,8 @@ public class Model { * @param names the names identifying the function - this can be from 0 to 2, specifying function or "signature" * name, and "output", respectively. Names which are unnecessary to determine the desired function * uniquely (e.g if there is just one function or output) can be omitted. + * A two-component name can alternatively be specified as a single argument with components separated + * by dot. * @throws IllegalArgumentException if the function is not present, or not uniquely identified by the names given */ public FunctionEvaluator evaluatorOf(String ... names) { // TODO: Parameter overloading? diff --git a/model-evaluation/src/main/java/ai/vespa/models/evaluation/ModelsEvaluator.java b/model-evaluation/src/main/java/ai/vespa/models/evaluation/ModelsEvaluator.java index 50e83fd1a1e..682a7fa057c 100644 --- a/model-evaluation/src/main/java/ai/vespa/models/evaluation/ModelsEvaluator.java +++ b/model-evaluation/src/main/java/ai/vespa/models/evaluation/ModelsEvaluator.java @@ -31,14 +31,16 @@ public class ModelsEvaluator extends AbstractComponent { /** * Returns a function which can be used to evaluate the given function in the given model * + * @param modelName the name of the model + * @param names the 0-2 name components identifying the output to compute * @throws IllegalArgumentException if the function or model is not present */ - public FunctionEvaluator evaluatorOf(String modelName, String functionName) { - return requireModel(modelName).evaluatorOf(functionName); + public FunctionEvaluator evaluatorOf(String modelName, String ... names) { + return requireModel(modelName).evaluatorOf(names); } /** Returns the given model, or throws a IllegalArgumentException if it does not exist */ - Model requireModel(String name) { + public Model requireModel(String name) { Model model = models.get(name); if (model == null) throw new IllegalArgumentException("No model named '" + name + ". Available models: " + |