Disable tests for certain models (Cherry pick from 0.3.1) (#842)

* Disable tests for certain models (Cherry pick from 0.3.1)

* Disable more tests

* More tests

* even more tests

* Fix gpu builds

* Disable L2 transformers

* Env variable to disable contrip ops for csharp tests
This commit is contained in:
Pranav Sharma 2019-04-18 23:57:52 -07:00 committed by GitHub
parent 780aad8fd0
commit 07a4ecbddb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 55 additions and 3 deletions

View file

@ -32,6 +32,7 @@ docker run -h $HOSTNAME \
-e "OnnxRuntimeBuildDirectory=/home/onnxruntimedev" \
-e "IsReleaseBuild=$IsReleaseBuild" \
-e "PackageName=$PackageName" \
-e "DisableContribOps=$DisableContribOps" \
"onnxruntime-$IMAGE" \
/bin/bash /onnxruntime_src/csharp/test/Microsoft.ML.OnnxRuntime.EndToEndTests/runtest.sh \
/home/onnxruntimedev/$NUGET_REPO_DIRNAME /onnxruntime_src /home/onnxruntimedev $TestDataUrl $TestDataChecksum &

View file

@ -212,11 +212,17 @@ namespace Microsoft.ML.OnnxRuntime.Tests
private void TestPreTrainedModelsOpset7And8()
{
// 16-bit float not supported type in C#.
var skipModels = new[] {
var skipModels = new List<String>() {
"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)
@ -225,7 +231,7 @@ namespace Microsoft.ML.OnnxRuntime.Tests
foreach (var modelDir in modelRoot.EnumerateDirectories())
{
String onnxModelFileName = null;
if (skipModels.Contains(modelDir.Name))
continue;
@ -689,7 +695,7 @@ namespace Microsoft.ML.OnnxRuntime.Tests
var x = GetProcAddress(hModule, ep);
Assert.False(x == UIntPtr.Zero, $"Entrypoint {ep} not found in module {module}");
}
}
}
static string GetTestModelsDir()
{

View file

@ -88,9 +88,11 @@ std::vector<std::unique_ptr<GraphTransformer>> GenerateTransformers(TransformerL
rule_transformer = GenerateRuleBasedGraphTransformer(level, transformers_and_rules_to_enable, l2_execution_providers);
// create standalone transformers
#ifndef DISABLE_CONTRIB_OPS
transformers.emplace_back(std::make_unique<GemmActivationFusion>(l2_execution_providers));
transformers.emplace_back(std::make_unique<MatMulAddFusion>(l2_execution_providers));
transformers.emplace_back(std::make_unique<ConvActivationFusion>(l2_execution_providers));
#endif
transformers.emplace_back(std::make_unique<ConvAddFusion>());
transformers.emplace_back(std::make_unique<ConvMulFusion>());
transformers.emplace_back(std::make_unique<ConvBNFusion>());

View file

@ -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

View file

@ -368,6 +368,43 @@ int real_main(int argc, char* argv[], OrtEnv** p_env) {
broken_tests["nonzero_example"] = "failed: type mismatch";
#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.";
broken_tests["keras2coreml_thresholdedrelu_ImageNet_large"] = "This model uses contrib ops.";
broken_tests["keras2coreml_thresholdedrelu_ImageNet_small"] = "This model uses contrib ops.";
broken_tests["keras2coreml_thresholdedrelu_sklearn_load_breast_cancer"] = "This model uses contrib ops.";
broken_tests["thresholdedrelu"] = "This model uses contrib ops.";
broken_tests["thresholdedrelu_default"] = "This model uses contrib ops.";
broken_tests["dynamic_slice_default_axes"] = "This model uses contrib ops.";
broken_tests["thresholdedrelu_example"] = "This model uses contrib ops.";
broken_tests["dynamic_slice_neg failed"] = "This model uses contrib ops.";
broken_tests["dynamic_slice_start_out_of_bounds"] = "This model uses contrib ops.";
broken_tests["dynamic_slice"] = "This model uses contrib ops.";
broken_tests["dynamic_slice_end_out_of_bounds"] = "This model uses contrib ops.";
broken_tests["dynamic_slice_neg"] = "This model uses contrib ops.";
#endif
int result = 0;
for (const std::string& s : stat.GetFailedTest()) {
if (broken_tests.find(s) == broken_tests.end()) {