summaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/test/java/com/yahoo')
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithOnnxModelTestCase.java76
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithOnnxTestCase.java36
2 files changed, 41 insertions, 71 deletions
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithOnnxModelTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithOnnxModelTestCase.java
index 5060aafb55f..d9b0c70dfdd 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithOnnxModelTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithOnnxModelTestCase.java
@@ -25,61 +25,43 @@ public class RankingExpressionWithOnnxModelTestCase {
OnnxModelsConfig.Builder builder = new OnnxModelsConfig.Builder();
((OnnxModelsConfig.Producer) db).getConfig(builder);
OnnxModelsConfig config = new OnnxModelsConfig(builder);
- assertEquals(5, config.model().size());
+ assertEquals(3, config.model().size());
- assertEquals("my_model", config.model(0).name());
- assertEquals(3, config.model(0).input().size());
- assertEquals("second/input:0", config.model(0).input(0).name());
- assertEquals("constant(my_constant)", config.model(0).input(0).source());
- assertEquals("first_input", config.model(0).input(1).name());
- assertEquals("attribute(document_field)", config.model(0).input(1).source());
- assertEquals("third_input", config.model(0).input(2).name());
- assertEquals("rankingExpression(my_function)", config.model(0).input(2).source());
- assertEquals(3, config.model(0).output().size());
- assertEquals("path/to/output:0", config.model(0).output(0).name());
- assertEquals("out", config.model(0).output(0).as());
- assertEquals("path/to/output:1", config.model(0).output(1).name());
- assertEquals("path_to_output_1", config.model(0).output(1).as());
- assertEquals("path/to/output:2", config.model(0).output(2).name());
- assertEquals("path_to_output_2", config.model(0).output(2).as());
-
- assertEquals("files_model_onnx", config.model(1).name());
+ assertEquals("my_model", config.model(1).name());
assertEquals(3, config.model(1).input().size());
- assertEquals(3, config.model(1).output().size());
+ assertEquals("first_input", config.model(1).input(0).name());
+ assertEquals("attribute(document_field)", config.model(1).input(0).source());
+ assertEquals("second/input:0", config.model(1).input(1).name());
+ assertEquals("constant(my_constant)", config.model(1).input(1).source());
+ assertEquals("third_input", config.model(1).input(2).name());
+ assertEquals("rankingExpression(my_function)", config.model(1).input(2).source());
+ assertEquals(1, config.model(1).output().size());
assertEquals("path/to/output:0", config.model(1).output(0).name());
- assertEquals("path_to_output_0", config.model(1).output(0).as());
- assertEquals("path/to/output:1", config.model(1).output(1).name());
- assertEquals("path_to_output_1", config.model(1).output(1).as());
- assertEquals("path/to/output:2", config.model(1).output(2).name());
- assertEquals("path_to_output_2", config.model(1).output(2).as());
- assertEquals("files_model_onnx", config.model(1).name());
+ assertEquals("out", config.model(1).output(0).as());
+
+ assertEquals("files_ranking_model_onnx", config.model(0).name());
+ assertEquals(0, config.model(0).input().size());
+ assertEquals(2, config.model(0).output().size());
+ assertEquals("path/to/output:1", config.model(0).output(0).name());
+ assertEquals("path_to_output_1", config.model(0).output(0).as());
+ assertEquals("path/to/output:2", config.model(0).output(1).name());
+ assertEquals("path_to_output_2", config.model(0).output(1).as());
assertEquals("another_model", config.model(2).name());
assertEquals("third_input", config.model(2).input(2).name());
assertEquals("rankingExpression(another_function)", config.model(2).input(2).source());
-
- assertEquals("files_summary_model_onnx", config.model(3).name());
- assertEquals(3, config.model(3).input().size());
- assertEquals(3, config.model(3).output().size());
-
- assertEquals("dynamic_model", config.model(4).name());
- assertEquals(1, config.model(4).input().size());
- assertEquals(1, config.model(4).output().size());
- assertEquals("rankingExpression(my_function)", config.model(4).input(0).source());
}
private void assertTransformedFeature(DocumentDatabase db) {
RankProfilesConfig.Builder builder = new RankProfilesConfig.Builder();
((RankProfilesConfig.Producer) db).getConfig(builder);
RankProfilesConfig config = new RankProfilesConfig(builder);
- assertEquals(7, config.rankprofile().size());
+ assertEquals(5, config.rankprofile().size());
assertEquals("test_model_config", config.rankprofile(2).name());
assertEquals("rankingExpression(my_function).rankingScript", config.rankprofile(2).fef().property(0).name());
assertEquals("vespa.rank.firstphase", config.rankprofile(2).fef().property(2).name());
- assertEquals("rankingExpression(firstphase)", config.rankprofile(2).fef().property(2).value());
- assertEquals("rankingExpression(firstphase).rankingScript", config.rankprofile(2).fef().property(3).name());
- assertEquals("onnxModel(my_model).out{d0:1}", config.rankprofile(2).fef().property(3).value());
+ assertEquals("onnxModel(my_model).out", config.rankprofile(2).fef().property(2).value());
assertEquals("test_generated_model_config", config.rankprofile(3).name());
assertEquals("rankingExpression(my_function).rankingScript", config.rankprofile(3).fef().property(0).name());
@@ -87,28 +69,16 @@ public class RankingExpressionWithOnnxModelTestCase {
assertEquals("rankingExpression(second_input).rankingScript", config.rankprofile(3).fef().property(4).name());
assertEquals("rankingExpression(third_input).rankingScript", config.rankprofile(3).fef().property(6).name());
assertEquals("vespa.rank.firstphase", config.rankprofile(3).fef().property(8).name());
- assertEquals("rankingExpression(firstphase)", config.rankprofile(3).fef().property(8).value());
- assertEquals("rankingExpression(firstphase).rankingScript", config.rankprofile(3).fef().property(9).name());
- assertEquals("onnxModel(files_model_onnx).path_to_output_1{d0:1}", config.rankprofile(3).fef().property(9).value());
+ assertEquals("onnxModel(files_ranking_model_onnx).path_to_output_1", config.rankprofile(3).fef().property(8).value());
assertEquals("test_summary_features", config.rankprofile(4).name());
assertEquals("rankingExpression(another_function).rankingScript", config.rankprofile(4).fef().property(0).name());
assertEquals("rankingExpression(firstphase).rankingScript", config.rankprofile(4).fef().property(3).name());
assertEquals("1", config.rankprofile(4).fef().property(3).value());
assertEquals("vespa.summary.feature", config.rankprofile(4).fef().property(4).name());
- assertEquals("onnxModel(files_summary_model_onnx).path_to_output_2", config.rankprofile(4).fef().property(4).value());
+ assertEquals("onnxModel(another_model).out", config.rankprofile(4).fef().property(4).value());
assertEquals("vespa.summary.feature", config.rankprofile(4).fef().property(5).name());
- assertEquals("onnxModel(another_model).out", config.rankprofile(4).fef().property(5).value());
-
- assertEquals("test_dynamic_model", config.rankprofile(5).name());
- assertEquals("rankingExpression(my_function).rankingScript", config.rankprofile(5).fef().property(0).name());
- assertEquals("rankingExpression(firstphase).rankingScript", config.rankprofile(5).fef().property(3).name());
- assertEquals("onnxModel(dynamic_model).my_output{d0:0, d1:1}", config.rankprofile(5).fef().property(3).value());
-
- assertEquals("test_dynamic_model_2", config.rankprofile(6).name());
- assertEquals("rankingExpression(firstphase).rankingScript", config.rankprofile(6).fef().property(5).name());
- assertEquals("onnxModel(dynamic_model).my_output{d0:0, d1:2}", config.rankprofile(6).fef().property(5).value());
-
+ assertEquals("onnxModel(files_ranking_model_onnx).path_to_output_2", config.rankprofile(4).fef().property(5).value());
}
}
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 40bf970a313..6bf69907609 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
@@ -70,7 +70,7 @@ public class RankingExpressionWithOnnxTestCase {
@Test
public void testOnnxReferenceWithConstantFeature() {
RankProfileSearchFixture search = fixtureWith("constant(mytensor)",
- "onnx_vespa('mnist_softmax.onnx')",
+ "onnx('mnist_softmax.onnx')",
"constant mytensor { file: ignored\ntype: tensor<float>(d0[1],d1[784]) }",
null);
search.assertFirstPhaseExpression(vespaExpression, "my_profile");
@@ -87,7 +87,7 @@ public class RankingExpressionWithOnnxTestCase {
queryProfile,
queryProfileType);
RankProfileSearchFixture search = fixtureWith("query(mytensor)",
- "onnx_vespa('mnist_softmax.onnx')",
+ "onnx('mnist_softmax.onnx')",
null,
null,
"Placeholder",
@@ -99,7 +99,7 @@ public class RankingExpressionWithOnnxTestCase {
public void testOnnxReferenceWithDocumentFeature() {
StoringApplicationPackage application = new StoringApplicationPackage(applicationDir);
RankProfileSearchFixture search = fixtureWith("attribute(mytensor)",
- "onnx_vespa('mnist_softmax.onnx')",
+ "onnx('mnist_softmax.onnx')",
null,
"field mytensor type tensor<float>(d0[1],d1[784]) { indexing: attribute }",
"Placeholder",
@@ -117,7 +117,7 @@ public class RankingExpressionWithOnnxTestCase {
"</query-profile-type>";
StoringApplicationPackage application = new StoringApplicationPackage(applicationDir, queryProfile, queryProfileType);
RankProfileSearchFixture search = fixtureWith("sum(query(mytensor) * attribute(mytensor) * constant(mytensor),d2)",
- "onnx_vespa('mnist_softmax.onnx')",
+ "onnx('mnist_softmax.onnx')",
"constant mytensor { file: ignored\ntype: tensor<float>(d0[1],d1[784]) }",
"field mytensor type tensor<float>(d0[1],d1[784]) { indexing: attribute }",
"Placeholder",
@@ -129,21 +129,21 @@ public class RankingExpressionWithOnnxTestCase {
@Test
public void testNestedOnnxReference() {
RankProfileSearchFixture search = fixtureWith("tensor<float>(d0[1],d1[784])(0.0)",
- "5 + sum(onnx_vespa('mnist_softmax.onnx'))");
+ "5 + sum(onnx('mnist_softmax.onnx'))");
search.assertFirstPhaseExpression("5 + reduce(" + vespaExpression + ", sum)", "my_profile");
}
@Test
public void testOnnxReferenceWithSpecifiedOutput() {
RankProfileSearchFixture search = fixtureWith("tensor<float>(d0[1],d1[784])(0.0)",
- "onnx_vespa('mnist_softmax.onnx', 'layer_add')");
+ "onnx('mnist_softmax.onnx', 'layer_add')");
search.assertFirstPhaseExpression(vespaExpression, "my_profile");
}
@Test
public void testOnnxReferenceWithSpecifiedOutputAndSignature() {
RankProfileSearchFixture search = fixtureWith("tensor<float>(d0[1],d1[784])(0.0)",
- "onnx_vespa('mnist_softmax.onnx', 'default.layer_add')");
+ "onnx('mnist_softmax.onnx', 'default.layer_add')");
search.assertFirstPhaseExpression(vespaExpression, "my_profile");
}
@@ -155,7 +155,7 @@ public class RankingExpressionWithOnnxTestCase {
new QueryProfileRegistry(),
" rank-profile my_profile {\n" +
" first-phase {\n" +
- " expression: onnx_vespa('mnist_softmax.onnx')" +
+ " expression: onnx('mnist_softmax.onnx')" +
" }\n" +
" }");
search.compileRankProfile("my_profile", applicationDir.append("models"));
@@ -164,7 +164,7 @@ public class RankingExpressionWithOnnxTestCase {
}
catch (IllegalArgumentException expected) {
assertEquals("Rank profile 'my_profile' is invalid: Could not use Onnx model from " +
- "onnx_vespa('mnist_softmax.onnx'): " +
+ "onnx('mnist_softmax.onnx'): " +
"Model refers input 'Placeholder' of type tensor<float>(d0[1],d1[784]) but this function is " +
"not present in rank profile 'my_profile'",
Exceptions.toMessageString(expected));
@@ -175,13 +175,13 @@ public class RankingExpressionWithOnnxTestCase {
public void testOnnxReferenceWithWrongFunctionType() {
try {
RankProfileSearchFixture search = fixtureWith("tensor(d0[1],d5[10])(0.0)",
- "onnx_vespa('mnist_softmax.onnx')");
+ "onnx('mnist_softmax.onnx')");
search.assertFirstPhaseExpression(vespaExpression, "my_profile");
fail("Expecting exception");
}
catch (IllegalArgumentException expected) {
assertEquals("Rank profile 'my_profile' is invalid: Could not use Onnx model from " +
- "onnx_vespa('mnist_softmax.onnx'): " +
+ "onnx('mnist_softmax.onnx'): " +
"Model refers input 'Placeholder'. The required type of this is tensor<float>(d0[1],d1[784]), " +
"but this function returns tensor(d0[1],d5[10])",
Exceptions.toMessageString(expected));
@@ -192,13 +192,13 @@ public class RankingExpressionWithOnnxTestCase {
public void testOnnxReferenceSpecifyingNonExistingOutput() {
try {
RankProfileSearchFixture search = fixtureWith("tensor<float>(d0[2],d1[784])(0.0)",
- "onnx_vespa('mnist_softmax.onnx', 'y')");
+ "onnx('mnist_softmax.onnx', 'y')");
search.assertFirstPhaseExpression(vespaExpression, "my_profile");
fail("Expecting exception");
}
catch (IllegalArgumentException expected) {
assertEquals("Rank profile 'my_profile' is invalid: Could not use Onnx model from " +
- "onnx_vespa('mnist_softmax.onnx','y'): " +
+ "onnx('mnist_softmax.onnx','y'): " +
"No expressions named 'y' in model 'mnist_softmax.onnx'. Available expressions: default.layer_add",
Exceptions.toMessageString(expected));
}
@@ -207,7 +207,7 @@ public class RankingExpressionWithOnnxTestCase {
@Test
public void testImportingFromStoredExpressions() throws IOException {
RankProfileSearchFixture search = fixtureWith("tensor<float>(d0[1],d1[784])(0.0)",
- "onnx_vespa('mnist_softmax.onnx')");
+ "onnx('mnist_softmax.onnx')");
search.assertFirstPhaseExpression(vespaExpression, "my_profile");
// At this point the expression is stored - copy application to another location which do not have a models dir
@@ -218,7 +218,7 @@ public class RankingExpressionWithOnnxTestCase {
storedApplicationDirectory.append(ApplicationPackage.MODELS_GENERATED_DIR).toFile());
StoringApplicationPackage storedApplication = new StoringApplicationPackage(storedApplicationDirectory);
RankProfileSearchFixture searchFromStored = fixtureWith("tensor<float>(d0[2],d1[784])(0.0)",
- "onnx_vespa('mnist_softmax.onnx')",
+ "onnx('mnist_softmax.onnx')",
null,
null,
"Placeholder",
@@ -243,7 +243,7 @@ public class RankingExpressionWithOnnxTestCase {
" expression: tensor<float>(d1[10],d2[784])(0.0)\n" +
" }\n" +
" first-phase {\n" +
- " expression: onnx_vespa('mnist_softmax.onnx')" +
+ " expression: onnx('mnist_softmax.onnx')" +
" }\n" +
" }" +
" rank-profile my_profile_child inherits my_profile {\n" +
@@ -288,7 +288,7 @@ public class RankingExpressionWithOnnxTestCase {
" expression: tensor<float>(d0[3])(0.0)\n" +
" }\n" +
" first-phase {\n" +
- " expression: onnx_vespa('" + name + ".onnx')" +
+ " expression: onnx('" + name + ".onnx')" +
" }\n" +
" }";
final String functionName = "imported_ml_function_" + name + "_exp_output";
@@ -310,7 +310,7 @@ public class RankingExpressionWithOnnxTestCase {
" expression: tensor<float>(d0[3])(0.0)\n" +
" }\n" +
" first-phase {\n" +
- " expression: onnx_vespa('" + name + ".onnx')" +
+ " expression: onnx('" + name + ".onnx')" +
" }\n" +
" }" +
" rank-profile my_profile_child inherits my_profile {\n" +