aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLester Solbakken <lesters@users.noreply.github.com>2018-08-30 08:21:00 +0200
committerGitHub <noreply@github.com>2018-08-30 08:21:00 +0200
commit114f42cb0ea790bc758b779f8c747184b68bfe2b (patch)
tree4f2556cc7f1fb4f49089f506866a6d1d737c821b
parent05ea4c2b9952bceaf0e009053c2f51a09d15a957 (diff)
parent36d3e44cfc58a9cb4066c8ef65aa06140c8171d2 (diff)
Merge pull request #6706 from vespa-engine/bratseth/model-evaluator-api-improvements
Bratseth/model evaluator api improvements
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/ModelEvaluationTest.java3
-rw-r--r--model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java2
-rw-r--r--model-evaluation/src/main/java/ai/vespa/models/evaluation/ModelsEvaluator.java8
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: " +