aboutsummaryrefslogtreecommitdiffstats
path: root/model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java
diff options
context:
space:
mode:
authorLester Solbakken <lesters@oath.com>2019-10-11 09:42:05 +0200
committerLester Solbakken <lesters@oath.com>2019-10-11 09:42:05 +0200
commit3acec4a95bc2f75f8384bde14d35f3a5c073460b (patch)
tree14d3874a55ebf1493842ba8a8a8f029ba6f1530b /model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java
parentd78ad93a081552d5f671e266a15c0de770305c92 (diff)
Set default missing value to NaN for model evaluation
Diffstat (limited to 'model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java')
-rw-r--r--model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java9
1 files changed, 7 insertions, 2 deletions
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 55da2e78894..bc80989f030 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
@@ -6,7 +6,9 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.yahoo.searchlib.rankingexpression.ExpressionFunction;
import com.yahoo.searchlib.rankingexpression.evaluation.ContextIndex;
+import com.yahoo.searchlib.rankingexpression.evaluation.DoubleValue;
import com.yahoo.searchlib.rankingexpression.evaluation.ExpressionOptimizer;
+import com.yahoo.searchlib.rankingexpression.evaluation.Value;
import com.yahoo.tensor.TensorType;
import java.util.Arrays;
@@ -27,6 +29,9 @@ public class Model {
/** The prefix generated by mode-integration/../IntermediateOperation */
private final static String INTERMEDIATE_OPERATION_FUNCTION_PREFIX = "imported_ml_function_";
+ /** Default value to return if value is not supplied */
+ private final static Value missingValue = DoubleValue.frozen(Double.NaN);
+
private final String name;
/** Free functions */
@@ -61,7 +66,7 @@ public class Model {
ImmutableMap.Builder<String, LazyArrayContext> contextBuilder = new ImmutableMap.Builder<>();
for (Map.Entry<FunctionReference, ExpressionFunction> function : functions.entrySet()) {
try {
- LazyArrayContext context = new LazyArrayContext(function.getValue(), referencedFunctions, constants, this);
+ LazyArrayContext context = new LazyArrayContext(function.getValue(), referencedFunctions, constants, this, missingValue);
contextBuilder.put(function.getValue().getName(), context);
if ( ! function.getValue().returnType().isPresent()) {
functions.put(function.getKey(), function.getValue().withReturnType(TensorType.empty));
@@ -135,7 +140,7 @@ public class Model {
return context;
}
- /** Returns the function withe the given name, or null if none */ // TODO: Parameter overloading?
+ /** Returns the function with the given name, or null if none */ // TODO: Parameter overloading?
ExpressionFunction function(String name) {
for (ExpressionFunction function : functions)
if (function.getName().equals(name))