diff options
author | Jon Bratseth <bratseth@verizonmedia.com> | 2019-10-23 16:36:32 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@verizonmedia.com> | 2019-10-23 16:36:32 +0200 |
commit | add33b21c48ee8c34e2ca7cfb2f36ec3620f93f4 (patch) | |
tree | 726674ccfb9c2971a96ffee7e77cb10745efebe0 | |
parent | 68249a1c7541c9c5e1b1e43afacf6118f2d22689 (diff) |
Simplify
-rw-r--r-- | model-evaluation/src/main/java/ai/vespa/models/evaluation/LazyArrayContext.java | 19 | ||||
-rw-r--r-- | model-evaluation/src/main/java/ai/vespa/models/evaluation/Model.java | 5 |
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)); |