Merge remote-tracking branch 'upstream/3.4' into merge-3.4
authorAlexander Alekhin <alexander.a.alekhin@gmail.com>
Thu, 16 Jul 2020 20:13:27 +0000 (20:13 +0000)
committerAlexander Alekhin <alexander.a.alekhin@gmail.com>
Thu, 16 Jul 2020 20:13:27 +0000 (20:13 +0000)
1  2 
cmake/OpenCVDetectInferenceEngine.cmake
modules/dnn/src/layers/slice_layer.cpp
modules/dnn/src/op_inf_engine.hpp
modules/dnn/src/tensorflow/tf_graph_simplifier.cpp
modules/dnn/test/test_backends.cpp
modules/dnn/test/test_caffe_importer.cpp
modules/dnn/test/test_darknet_importer.cpp
modules/dnn/test/test_ie_models.cpp
modules/dnn/test/test_layers.cpp
modules/dnn/test/test_onnx_importer.cpp

Simple merge
@@@ -460,8 -389,9 +460,10 @@@ TEST_P(DNNTestNetwork, DenseNet_121
      float l1 = 0.0, lInf = 0.0;
      if (target == DNN_TARGET_OPENCL_FP16)
      {
 -        l1 = 2e-2; lInf = 9e-2;
 +        l1 = 2e-2;
 +        lInf = 9e-2;
+         if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH)
+             lInf = 0.1f;
      }
      else if (target == DNN_TARGET_MYRIAD)
      {
@@@ -501,22 -483,17 +501,27 @@@ TEST_P(Test_Caffe_nets, Colorization
      Mat out = net.forward();
  
      // Reference output values are in range [-29.1, 69.5]
 -    double l1 = (target == DNN_TARGET_OPENCL_FP16 || target == DNN_TARGET_MYRIAD) ? 0.25 : 4e-4;
 -    double lInf = (target == DNN_TARGET_OPENCL_FP16 || target == DNN_TARGET_MYRIAD) ? 5.3 : 3e-3;
 -    if (target == DNN_TARGET_MYRIAD && getInferenceEngineVPUType() == CV_DNN_INFERENCE_ENGINE_VPU_TYPE_MYRIAD_X)
 +    double l1 = 4e-4, lInf = 3e-3;
 +    if (target == DNN_TARGET_OPENCL_FP16)
 +    {
 +        l1 = 0.25;
 +        lInf = 5.3;
 +    }
 +    else if (target == DNN_TARGET_MYRIAD)
 +    {
 +        l1 = (getInferenceEngineVPUType() == CV_DNN_INFERENCE_ENGINE_VPU_TYPE_MYRIAD_X) ? 0.5 : 0.25;
 +        lInf = (getInferenceEngineVPUType() == CV_DNN_INFERENCE_ENGINE_VPU_TYPE_MYRIAD_X) ? 11 : 5.3;
 +    }
 +    else if(target == DNN_TARGET_CUDA_FP16)
      {
 -        l1 = 0.5; lInf = 11;
 +        l1 = 0.21;
 +        lInf = 4.5;
      }
+     if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_OPENCL_FP16)
+     {
+         l1 = 0.26; lInf = 6.5;
+     }
      normAssert(out, ref, "", l1, lInf);
      expectNoFallbacksFromIE(net);
  }
Simple merge
Simple merge
@@@ -729,17 -702,15 +729,24 @@@ TEST_P(Test_ONNX_nets, TinyYolov2
  #endif
  
      // output range: [-11; 8]
 -    double l1 = (target == DNN_TARGET_OPENCL_FP16 || target == DNN_TARGET_MYRIAD) ? 0.017 : default_l1;
 -    double lInf = (target == DNN_TARGET_OPENCL_FP16 || target == DNN_TARGET_MYRIAD) ? 0.14 : default_lInf;
 +    double l1 =  default_l1, lInf = default_lInf;
 +    if (target == DNN_TARGET_OPENCL_FP16 || target == DNN_TARGET_MYRIAD)
 +    {
 +        l1 = 0.017;
 +        lInf = 0.14;
 +    }
 +    else if (target == DNN_TARGET_CUDA_FP16)
 +    {
 +        l1 = 0.018;
 +        lInf = 0.16;
 +    }
+ #if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2020040000)
+     if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_OPENCL_FP16)
+     {
+         l1 = 0.018f; lInf = 0.16f;
+     }
+ #endif
      testONNXModels("tiny_yolo2", pb, l1, lInf);
  }