aboutsummaryrefslogtreecommitdiffstats
path: root/model-evaluation/src/main/java/ai/vespa/models/evaluation/FunctionEvaluator.java
diff options
context:
space:
mode:
Diffstat (limited to 'model-evaluation/src/main/java/ai/vespa/models/evaluation/FunctionEvaluator.java')
-rw-r--r--model-evaluation/src/main/java/ai/vespa/models/evaluation/FunctionEvaluator.java25
1 files changed, 23 insertions, 2 deletions
diff --git a/model-evaluation/src/main/java/ai/vespa/models/evaluation/FunctionEvaluator.java b/model-evaluation/src/main/java/ai/vespa/models/evaluation/FunctionEvaluator.java
index caa2db13ff2..c0f96dfb161 100644
--- a/model-evaluation/src/main/java/ai/vespa/models/evaluation/FunctionEvaluator.java
+++ b/model-evaluation/src/main/java/ai/vespa/models/evaluation/FunctionEvaluator.java
@@ -60,10 +60,31 @@ public class FunctionEvaluator {
return bind(name, Tensor.Builder.of(TensorType.empty).cell(value).build());
}
+ /**
+ * Sets the default value to use for variables which are not bound
+ *
+ * @param value the default value
+ * @return this for chaining
+ */
+ public FunctionEvaluator setUnboundValue(Tensor value) {
+ if (evaluated)
+ throw new IllegalStateException("Cannot change the unbound value in a used evaluator");
+ context.setUnboundValue(value);
+ return this;
+ }
+
+ /**
+ * Sets the default value to use for variables which are not bound
+ *
+ * @param value the default value
+ * @return this for chaining
+ */
+ public FunctionEvaluator setUnboundValue(double value) {
+ return setUnboundValue(Tensor.Builder.of(TensorType.empty).cell(value).build());
+ }
+
public Tensor evaluate() {
for (Map.Entry<String, TensorType> argument : function.argumentTypes().entrySet()) {
- System.out.println("Checking " + argument.getKey() + " default " + context.defaultValue() + " is assignable to " + argument.getValue() +
- "? " + context.defaultValue().type().isAssignableTo(argument.getValue()));
if (context.isMissing(argument.getKey()))
throw new IllegalStateException("Missing argument '" + argument.getKey() +
"': Must be bound to a value of type " + argument.getValue());