From e31ccf5a4662c69e1cc819af81ec64b126396ab7 Mon Sep 17 00:00:00 2001 From: Pranav Sharma Date: Fri, 5 Apr 2019 12:24:38 -0700 Subject: [PATCH] Disable test_tiny_yolov2 only when contrib ops are disabled (since this test uses contrib op ImageScaler). (#768) * Enable static linking of MSVC CRT using a build option. * Disable test_tiny_yolov2 only when contrib ops are disabled (since this test uses contrib op ImageScaler). * Disable more tests that use contrib ops --- .../InferenceTest.cs | 8 +++++- onnxruntime/test/ir/onnx_model_test.cc | 6 +++++ onnxruntime/test/onnx/main.cc | 26 +++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/csharp/test/Microsoft.ML.OnnxRuntime.Tests/InferenceTest.cs b/csharp/test/Microsoft.ML.OnnxRuntime.Tests/InferenceTest.cs index 0fb6cd77b7..29cf670942 100644 --- a/csharp/test/Microsoft.ML.OnnxRuntime.Tests/InferenceTest.cs +++ b/csharp/test/Microsoft.ML.OnnxRuntime.Tests/InferenceTest.cs @@ -199,11 +199,17 @@ namespace Microsoft.ML.OnnxRuntime.Tests private void TestPreTrainedModelsOpset7And8() { // 16-bit float not supported type in C#. - var skipModels = new[] { + var skipModels = new List() { "fp16_inception_v1", "fp16_shufflenet", "fp16_tiny_yolov2" }; + var disableContribOpsEnvVar = Environment.GetEnvironmentVariable("DisableContribOps"); + var isContribOpsDisabled = (disableContribOpsEnvVar != null) ? disableContribOpsEnvVar.Equals("ON") : false; + if (isContribOpsDisabled) { + skipModels.Add("test_tiny_yolov2"); + } + var opsets = new[] { "opset7", "opset8" }; var modelsDir = GetTestModelsDir(); foreach (var opset in opsets) diff --git a/onnxruntime/test/ir/onnx_model_test.cc b/onnxruntime/test/ir/onnx_model_test.cc index 8c39718778..a5db821a14 100644 --- a/onnxruntime/test/ir/onnx_model_test.cc +++ b/onnxruntime/test/ir/onnx_model_test.cc @@ -141,9 +141,15 @@ TEST_P(ONNXModelsTest, LoadFromProtobuf) { TestResolve(model->MainGraph()); } +#ifndef DISABLE_CONTRIB_OPS INSTANTIATE_TEST_CASE_P(ONNXModelsTests, ONNXModelsTest, ::testing::Values("bvlc_alexnet", "bvlc_googlenet", "bvlc_reference_caffenet", "bvlc_reference_rcnn_ilsvrc13", "densenet121", "emotion_ferplus", "inception_v1", "inception_v2", "mnist", "resnet50", "shufflenet", "squeezenet", "tiny_yolov2", "vgg19", "zfnet512")); +#else +INSTANTIATE_TEST_CASE_P(ONNXModelsTests, + ONNXModelsTest, + ::testing::Values("bvlc_alexnet", "bvlc_googlenet", "bvlc_reference_caffenet", "bvlc_reference_rcnn_ilsvrc13", "densenet121", "emotion_ferplus", "inception_v1", "inception_v2", "mnist", "resnet50", "shufflenet", "squeezenet", "vgg19", "zfnet512")); +#endif #endif } // namespace test diff --git a/onnxruntime/test/onnx/main.cc b/onnxruntime/test/onnx/main.cc index a755431b1e..72d4c549fb 100644 --- a/onnxruntime/test/onnx/main.cc +++ b/onnxruntime/test/onnx/main.cc @@ -367,6 +367,32 @@ int real_main(int argc, char* argv[], OrtEnv** p_env) { #endif #endif + +#ifdef DISABLE_CONTRIB_OPS + broken_tests["coreml_SqueezeNet_ImageNet"] = "This model uses contrib ops."; + broken_tests["keras2coreml_Permute_ImageNet"] = "This model uses contrib ops."; + broken_tests["keras2coreml_ReLU_ImageNet"] = "This model uses contrib ops."; + broken_tests["keras2coreml_Padding-Upsampling-Normalizer_ImageNet"] = "This model uses contrib ops."; + broken_tests["tiny_yolov2"] = "This model uses contrib ops."; + broken_tests["keras2coreml_Pooling_ImageNet"] = "This model uses contrib ops."; + broken_tests["keras2coreml_Padding_ImageNet"] = "This model uses contrib ops."; + broken_tests["keras2coreml_Normalizer_ImageNet"] = "This model uses contrib ops."; + broken_tests["keras2coreml_linear_sklearn_load_breast_cancer"] = "This model uses contrib ops."; + broken_tests["keras2coreml_linear_ImageNet_small"] = "This model uses contrib ops."; + broken_tests["keras2coreml_linear_ImageNet_large"] = "This model uses contrib ops."; + broken_tests["keras2coreml_linear_ImageNet"] = "This model uses contrib ops."; + broken_tests["keras2coreml_leakyrelu_ImageNet"] = "This model uses contrib ops."; + broken_tests["keras2coreml_hard_sigmoid_ImageNet"] = "This model uses contrib ops."; + broken_tests["keras2coreml_elu_ImageNet"] = "This model uses contrib ops."; + broken_tests["keras2coreml_Dense_ImageNet"] = "This model uses contrib ops."; + broken_tests["keras2coreml_Conv2D_ImageNet"] = "This model uses contrib ops."; + broken_tests["coreml_VGG16_ImageNet"] = "This model uses contrib ops."; + broken_tests["coreml_Resnet50_ImageNet"] = "This model uses contrib ops."; + broken_tests["coreml_Inceptionv3_ImageNet"] = "This model uses contrib ops."; + broken_tests["coreml_FNS-Candy_ImageNet"] = "This model uses contrib ops."; + broken_tests["coreml_AgeNet_ImageNet"] = "This model uses contrib ops."; +#endif + int result = 0; for (const std::string& s : stat.GetFailedTest()) { if (broken_tests.find(s) == broken_tests.end()) {