diff options
author | Håvard Pettersen <havardpe@oath.com> | 2021-06-23 13:53:28 +0000 |
---|---|---|
committer | Håvard Pettersen <havardpe@oath.com> | 2021-06-23 14:57:27 +0000 |
commit | 6558fa641b2b762f710c02448c887c40e60b1d18 (patch) | |
tree | be7c65746de5bfb5dfc9d752843fc5d3dc6d74db /searchcore/src/tests | |
parent | 16a9339a6cfb78bb5177a80fc7463a2bcd994c9a (diff) |
dry run onnx models on setup
Diffstat (limited to 'searchcore/src/tests')
-rw-r--r-- | searchcore/src/tests/proton/verify_ranksetup/verify_ranksetup_test.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/searchcore/src/tests/proton/verify_ranksetup/verify_ranksetup_test.cpp b/searchcore/src/tests/proton/verify_ranksetup/verify_ranksetup_test.cpp index fc70bafed7f..c13440de4d5 100644 --- a/searchcore/src/tests/proton/verify_ranksetup/verify_ranksetup_test.cpp +++ b/searchcore/src/tests/proton/verify_ranksetup/verify_ranksetup_test.cpp @@ -188,6 +188,7 @@ struct Setup { out.fmt("model[%zu].output[%zu].as \"%s\"\n", idx, idx2, output.second.c_str()); ++idx2; } + out.fmt("model[%zu].dry_run_on_setup %s\n", idx, entry.second.dry_run_on_setup() ? "true" : "false"); ++idx; } } @@ -269,6 +270,10 @@ struct OnnxSetup : Setup { .input_feature("attribute_tensor", "rankingExpression(at)") .input_feature("bias_tensor", "rankingExpression(bt)") .output_name("output", "result")); + add_onnx_model(OnnxModel("fragile", TEST_PATH("../../../../../searchlib/src/tests/features/onnx_feature/fragile.onnx")) + .dry_run_on_setup(true)); + add_onnx_model(OnnxModel("unfragile", TEST_PATH("../../../../../searchlib/src/tests/features/onnx_feature/fragile.onnx")) + .dry_run_on_setup(false)); } }; @@ -417,6 +422,24 @@ TEST_F("require that onnx model can have inputs and outputs mapped", OnnxSetup() f.verify_valid({"onnxModel(mapped).result"}); } +TEST_F("require that fragile model can pass verification", OnnxSetup()) { + f.rank_expr("in1", "tensor<float>(a[2]):[1,2]"); + f.rank_expr("in2", "tensor<float>(a[2]):[3,4]"); + f.verify_valid({"onnxModel(fragile)"}); +} + +TEST_F("require that broken fragile model fails verification", OnnxSetup()) { + f.rank_expr("in1", "tensor<float>(a[2]):[1,2]"); + f.rank_expr("in2", "tensor<float>(a[3]):[3,4,31515]"); + f.verify_invalid({"onnxModel(fragile)"}); +} + +TEST_F("require that broken fragile model without dry-run passes verification", OnnxSetup()) { + f.rank_expr("in1", "tensor<float>(a[2]):[1,2]"); + f.rank_expr("in2", "tensor<float>(a[3]):[3,4,31515]"); + f.verify_valid({"onnxModel(unfragile)"}); +} + //----------------------------------------------------------------------------- TEST_F("cleanup files", Setup()) { |