aboutsummaryrefslogtreecommitdiffstats
path: root/model-evaluation
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-10-23 16:36:32 +0200
committerJon Bratseth <bratseth@verizonmedia.com>2019-10-23 16:36:32 +0200
commitadd33b21c48ee8c34e2ca7cfb2f36ec3620f93f4 (patch)
tree726674ccfb9c2971a96ffee7e77cb10745efebe0 /model-evaluation
parent68249a1c7541c9c5e1b1e43afacf6118f2d22689 (diff)
Simplify
Diffstat (limited to 'model-evaluation')
-rw-r--r--model-evaluation/src/main/java/ai/vespa/models/evaluation/LazyArrayContext.java19
-rw-r--r--model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java5
2 files changed, 8 insertions, 16 deletions
diff --git a/model-evaluation/src/main/java/ai/vespa/models/evaluation/LazyArrayContext.java b/model-evaluation/src/main/java/ai/vespa/models/evaluation/LazyArrayContext.java
index 84606146f79..6b821cb95f2 100644
--- a/model-evaluation/src/main/java/ai/vespa/models/evaluation/LazyArrayContext.java
+++ b/model-evaluation/src/main/java/ai/vespa/models/evaluation/LazyArrayContext.java
@@ -41,10 +41,9 @@ public final class LazyArrayContext extends Context implements ContextIndex {
LazyArrayContext(ExpressionFunction function,
Map<FunctionReference, ExpressionFunction> referencedFunctions,
List<Constant> constants,
- Model model,
- Value defaultFeatureValue) {
+ Model model) {
this.function = function;
- this.indexedBindings = new IndexedBindings(function, referencedFunctions, constants, this, model, defaultFeatureValue);
+ this.indexedBindings = new IndexedBindings(function, referencedFunctions, constants, this, model);
}
/**
@@ -156,17 +155,15 @@ public final class LazyArrayContext extends Context implements ContextIndex {
/** The object instance which encodes "no value is set". The actual value of this is never used. */
private static final Value missing = new DoubleValue(Double.NaN).freeze();
- /** The value to return for lookups where no value is set */
- private Value defaultValue;
+ /** The value to return for lookups where no value is set (default: NaN) */
+ private Value defaultValue = new DoubleValue(Double.NaN).freeze();
private IndexedBindings(ImmutableMap<String, Integer> nameToIndex,
Value[] values,
- ImmutableSet<String> arguments,
- Value defaultValue) {
+ ImmutableSet<String> arguments) {
this.nameToIndex = nameToIndex;
this.values = values;
this.arguments = arguments;
- this.defaultValue = defaultValue.freeze();
}
/**
@@ -177,15 +174,13 @@ public final class LazyArrayContext extends Context implements ContextIndex {
Map<FunctionReference, ExpressionFunction> referencedFunctions,
List<Constant> constants,
LazyArrayContext owner,
- Model model,
- Value defaultFeatureValue) {
+ Model model) {
// 1. Determine and prepare bind targets
Set<String> bindTargets = new LinkedHashSet<>();
Set<String> arguments = new LinkedHashSet<>(); // Arguments: Bind targets which need to be bound before invocation
extractBindTargets(function.getBody().getRoot(), referencedFunctions, bindTargets, arguments);
this.arguments = ImmutableSet.copyOf(arguments);
- this.defaultValue = defaultFeatureValue.freeze();
values = new Value[bindTargets.size()];
Arrays.fill(values, missing);
@@ -271,7 +266,7 @@ public final class LazyArrayContext extends Context implements ContextIndex {
Value[] valueCopy = new Value[values.length];
for (int i = 0; i < values.length; i++)
valueCopy[i] = values[i] instanceof LazyValue ? ((LazyValue) values[i]).copyFor(context) : values[i];
- return new IndexedBindings(nameToIndex, valueCopy, arguments, defaultValue);
+ return new IndexedBindings(nameToIndex, valueCopy, arguments);
}
}
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 bc80989f030..90700acc0d3 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
@@ -29,9 +29,6 @@ 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 */
@@ -66,7 +63,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, missingValue);
+ LazyArrayContext context = new LazyArrayContext(function.getValue(), referencedFunctions, constants, this);
contextBuilder.put(function.getValue().getName(), context);
if ( ! function.getValue().returnType().isPresent()) {
functions.put(function.getKey(), function.getValue().withReturnType(TensorType.empty));