diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2019-12-18 15:46:50 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-18 15:46:50 +0100 |
commit | d57cfc7220266e90570ad4fe4e3140bc1a9093d6 (patch) | |
tree | 4a52a57198f23c697bbaac2ccb5d064599a5201b | |
parent | f6ecb4c3ac4183a32d327205bb3e9cbf6fee52e8 (diff) |
Revert "Add option to use default signature for onnx models"
5 files changed, 9 insertions, 27 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/ml/ConvertedModel.java b/config-model/src/main/java/com/yahoo/vespa/model/ml/ConvertedModel.java index 5ccdcfba215..55979023119 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/ml/ConvertedModel.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/ml/ConvertedModel.java @@ -1,7 +1,6 @@ // Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.ml; -import ai.vespa.rankingexpression.importer.IntermediateGraph; import ai.vespa.rankingexpression.importer.configmodelview.ImportedMlFunction; import com.google.common.collect.ImmutableMap; import com.yahoo.collections.Pair; @@ -161,16 +160,13 @@ public class ConvertedModel { ExpressionFunction expression = expressions.get(arguments.toName()); if (expression != null) return expression; - expression = expressions.get(IntermediateGraph.defaultSignature() + "." + arguments.toName()); - if (expression != null) return expression; - - if (arguments.signature().isEmpty()) { + if ( ! arguments.signature().isPresent()) { if (expressions.size() > 1) throw new IllegalArgumentException("Multiple candidate expressions " + missingExpressionMessageSuffix()); return expressions.values().iterator().next(); } - if (arguments.output().isEmpty()) { + if ( ! arguments.output().isPresent()) { List<Map.Entry<String, ExpressionFunction>> entriesWithTheRightPrefix = expressions.entrySet().stream().filter(entry -> entry.getKey().startsWith(arguments.signature().get() + ".")).collect(Collectors.toList()); if (entriesWithTheRightPrefix.size() < 1) diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithOnnxTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithOnnxTestCase.java index 4387d19c474..754f161c70b 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithOnnxTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithOnnxTestCase.java @@ -128,20 +128,6 @@ public class RankingExpressionWithOnnxTestCase { } @Test - public void testOnnxReferenceWithSpecifiedOutput() { - RankProfileSearchFixture search = fixtureWith("tensor<float>(d0[2],d1[784])(0.0)", - "onnx('mnist_softmax.onnx', 'add')"); - search.assertFirstPhaseExpression(vespaExpression, "my_profile"); - } - - @Test - public void testOnnxReferenceWithSpecifiedOutputAndSignature() { - RankProfileSearchFixture search = fixtureWith("tensor<float>(d0[2],d1[784])(0.0)", - "onnx('mnist_softmax.onnx', 'default.add')"); - search.assertFirstPhaseExpression(vespaExpression, "my_profile"); - } - - @Test public void testOnnxReferenceMissingFunction() throws ParseException { try { RankProfileSearchFixture search = new RankProfileSearchFixture( @@ -185,7 +171,7 @@ public class RankingExpressionWithOnnxTestCase { @Test public void testOnnxReferenceSpecifyingNonExistingOutput() { try { - RankProfileSearchFixture search = fixtureWith("tensor<float>(d0[2],d1[784])(0.0)", + RankProfileSearchFixture search = fixtureWith("tensor(d0[2],d1[784])(0.0)", "onnx('mnist_softmax.onnx', 'y')"); search.assertFirstPhaseExpression(vespaExpression, "my_profile"); fail("Expecting exception"); diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/IntermediateGraph.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/IntermediateGraph.java index 16c1b913188..14aa3ebf84e 100644 --- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/IntermediateGraph.java +++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/IntermediateGraph.java @@ -58,7 +58,7 @@ public class IntermediateGraph { return signatures.computeIfAbsent(signature, (k) -> new GraphSignature()).outputs; } - public static String defaultSignature() { + public String defaultSignature() { return "default"; } diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/onnx/GraphImporter.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/onnx/GraphImporter.java index 75ed19c010c..d42338deaf8 100644 --- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/onnx/GraphImporter.java +++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/onnx/GraphImporter.java @@ -151,7 +151,7 @@ class GraphImporter { OrderedTensorType type = TypeConverter.typeFrom(valueInfoProto.getType()); operation = new Argument(intermediateGraph.name(), valueInfoProto.getName(), type); - intermediateGraph.inputs(IntermediateGraph.defaultSignature()) + intermediateGraph.inputs(intermediateGraph.defaultSignature()) .put(IntermediateOperation.namePartOf(name), operation.vespaName()); } else if (isConstantTensor(name, onnxGraph)) { @@ -171,7 +171,7 @@ class GraphImporter { } if (isOutputNode(name, onnxGraph)) { - intermediateGraph.outputs(IntermediateGraph.defaultSignature()) + intermediateGraph.outputs(intermediateGraph.defaultSignature()) .put(IntermediateOperation.namePartOf(name), operation.name()); } } @@ -238,7 +238,7 @@ class GraphImporter { } private static void verifyNoWarnings(IntermediateGraph intermediateGraph) { - for (java.util.Map.Entry<String, String> output : intermediateGraph.outputs(IntermediateGraph.defaultSignature()).entrySet()) { + for (java.util.Map.Entry<String, String> output : intermediateGraph.outputs(intermediateGraph.defaultSignature()).entrySet()) { IntermediateOperation operation = intermediateGraph.get(output.getValue()); Set<String> warnings = getWarnings(operation); if (warnings.size() > 0) { @@ -248,7 +248,7 @@ class GraphImporter { } private static void verifyOutputTypes(Onnx.GraphProto onnxGraph, IntermediateGraph intermediateGraph) { - for (java.util.Map.Entry<String, String> output : intermediateGraph.outputs(IntermediateGraph.defaultSignature()).entrySet()) { + for (java.util.Map.Entry<String, String> output : intermediateGraph.outputs(intermediateGraph.defaultSignature()).entrySet()) { IntermediateOperation operation = intermediateGraph.get(output.getValue()); Onnx.ValueInfoProto onnxNode = getOutputNode(output.getKey(), onnxGraph); OrderedTensorType type = operation.type().orElseThrow( diff --git a/model-integration/src/test/java/ai/vespa/rankingexpression/importer/onnx/OnnxOperationsTestCase.java b/model-integration/src/test/java/ai/vespa/rankingexpression/importer/onnx/OnnxOperationsTestCase.java index 9927f4df04f..6954abe5157 100644 --- a/model-integration/src/test/java/ai/vespa/rankingexpression/importer/onnx/OnnxOperationsTestCase.java +++ b/model-integration/src/test/java/ai/vespa/rankingexpression/importer/onnx/OnnxOperationsTestCase.java @@ -391,7 +391,7 @@ public class OnnxOperationsTestCase { private TensorFunction optimizeAndRename(String opName, IntermediateOperation op) { IntermediateGraph graph = new IntermediateGraph(modelName); graph.put(opName, op); - graph.outputs(IntermediateGraph.defaultSignature()).put(opName, opName); + graph.outputs(graph.defaultSignature()).put(opName, opName); graph.optimize(); return op.function().get(); } |