Skip to content

Commit 985aa04

Browse files
committed
dnn(test): update InferenceEngine tests
1 parent 101be77 commit 985aa04

File tree

9 files changed

+398
-54
lines changed

9 files changed

+398
-54
lines changed

modules/dnn/test/test_backends.cpp

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -209,8 +209,16 @@ TEST_P(DNNTestNetwork, MobileNet_SSD_Caffe_Different_Width_Height)
209209
#if defined(INF_ENGINE_RELEASE)
210210
if ((backend == DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019 || backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH) &&
211211
target == DNN_TARGET_MYRIAD && getInferenceEngineVPUType() == CV_DNN_INFERENCE_ENGINE_VPU_TYPE_MYRIAD_X)
212-
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_MYRIAD_X);
212+
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_MYRIAD_X, CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_VERSION);
213+
#endif
214+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021040000)
215+
// IE exception: Ngraph operation Transpose with name conv15_2_mbox_conf_perm has dynamic output shape on 0 port, but CPU plug-in supports only static shape
216+
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && (target == DNN_TARGET_OPENCL || target == DNN_TARGET_OPENCL_FP16))
217+
applyTestTag(target == DNN_TARGET_OPENCL ? CV_TEST_TAG_DNN_SKIP_IE_OPENCL : CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16,
218+
CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_VERSION
219+
);
213220
#endif
221+
214222
Mat sample = imread(findDataFile("dnn/street.png"));
215223
Mat inp = blobFromImage(sample, 1.0f / 127.5, Size(300, 560), Scalar(127.5, 127.5, 127.5), false);
216224
float diffScores = (target == DNN_TARGET_OPENCL_FP16 || target == DNN_TARGET_MYRIAD) ? 0.029 : 0.0;
@@ -280,12 +288,23 @@ TEST_P(DNNTestNetwork, SSD_VGG16)
280288
CV_TEST_TAG_DEBUG_VERYLONG);
281289
if (backend == DNN_BACKEND_HALIDE && target == DNN_TARGET_CPU)
282290
applyTestTag(CV_TEST_TAG_DNN_SKIP_HALIDE); // TODO HALIDE_CPU
283-
double scoreThreshold = (target == DNN_TARGET_OPENCL_FP16 || target == DNN_TARGET_MYRIAD) ? 0.0325 : 0.0;
284-
const float lInf = (target == DNN_TARGET_MYRIAD) ? 0.032 : 0.0;
291+
285292
Mat sample = imread(findDataFile("dnn/street.png"));
286293
Mat inp = blobFromImage(sample, 1.0f, Size(300, 300), Scalar(), false);
294+
295+
float scoreDiff = 0.0, iouDiff = 0.0;
296+
if (target == DNN_TARGET_OPENCL_FP16)
297+
{
298+
scoreDiff = 0.04;
299+
}
300+
else if (target == DNN_TARGET_MYRIAD)
301+
{
302+
scoreDiff = 0.0325;
303+
iouDiff = 0.032;
304+
}
305+
287306
processNet("dnn/VGG_ILSVRC2016_SSD_300x300_iter_440000.caffemodel",
288-
"dnn/ssd_vgg16.prototxt", inp, "detection_out", "", scoreThreshold, lInf);
307+
"dnn/ssd_vgg16.prototxt", inp, "detection_out", "", scoreDiff, iouDiff);
289308
expectNoFallbacksFromIE(net);
290309
}
291310

modules/dnn/test/test_caffe_importer.cpp

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -489,10 +489,12 @@ TEST_P(Test_Caffe_nets, Colorization)
489489
{
490490
l1 = 0.5; lInf = 11;
491491
}
492+
#if defined(INF_ENGINE_RELEASE)
492493
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_OPENCL_FP16)
493494
{
494-
l1 = 0.26; lInf = 6.5;
495+
l1 = 0.3; lInf = 10;
495496
}
497+
#endif
496498

497499
normAssert(out, ref, "", l1, lInf);
498500
expectNoFallbacksFromIE(net);
@@ -682,6 +684,13 @@ TEST_P(Test_Caffe_nets, FasterRCNN_zf)
682684
#endif
683685
CV_TEST_TAG_DEBUG_LONG
684686
);
687+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021040000)
688+
// IE exception: Ngraph operation Reshape with name rpn_cls_score_reshape has dynamic output shape on 0 port, but CPU plug-in supports only static shape
689+
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && (target == DNN_TARGET_OPENCL || target == DNN_TARGET_OPENCL_FP16))
690+
applyTestTag(target == DNN_TARGET_OPENCL ? CV_TEST_TAG_DNN_SKIP_IE_OPENCL : CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16,
691+
CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_VERSION
692+
);
693+
#endif
685694
if ((backend == DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019 ||
686695
backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH) && target == DNN_TARGET_OPENCL_FP16)
687696
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16);
@@ -701,6 +710,11 @@ TEST_P(Test_Caffe_nets, RFCN)
701710
CV_TEST_TAG_LONG,
702711
CV_TEST_TAG_DEBUG_VERYLONG
703712
);
713+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021040000)
714+
// Exception: Function contains several inputs and outputs with one friendly name! (HETERO bug?)
715+
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target != DNN_TARGET_CPU)
716+
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_VERSION);
717+
#endif
704718
if ((backend == DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019 ||
705719
backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH) && target == DNN_TARGET_OPENCL_FP16)
706720
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16);

modules/dnn/test/test_common.hpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,16 +155,19 @@ class DNNTestLayer : public TestWithParam<tuple<Backend, Target> >
155155

156156
static void checkBackend(int backend, int target, Mat* inp = 0, Mat* ref = 0)
157157
{
158+
CV_UNUSED(backend); CV_UNUSED(target); CV_UNUSED(inp); CV_UNUSED(ref);
159+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_LT(2021000000)
158160
if ((backend == DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019 || backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH)
159161
&& target == DNN_TARGET_MYRIAD)
160162
{
161163
if (inp && ref && inp->dims == 4 && ref->dims == 4 &&
162164
inp->size[0] != 1 && inp->size[0] != ref->size[0])
163165
{
166+
std::cout << "Inconsistent batch size of input and output blobs for Myriad plugin" << std::endl;
164167
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_MYRIAD);
165-
throw SkipTestException("Inconsistent batch size of input and output blobs for Myriad plugin");
166168
}
167169
}
170+
#endif
168171
}
169172

170173
void expectNoFallbacks(Net& net, bool raiseError = true)

modules/dnn/test/test_darknet_importer.cpp

Lines changed: 55 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -245,13 +245,13 @@ class Test_Darknet_nets : public DNNTestLayer
245245
nms_boxes.push_back(box);
246246
nms_confidences.push_back(conf);
247247
nms_classIds.push_back(class_id);
248-
#if 0 // use to update test reference data
249-
std::cout << b << ", " << class_id << ", " << conf << "f, "
250-
<< box.x << "f, " << box.y << "f, "
251-
<< box.x + box.width << "f, " << box.y + box.height << "f,"
252-
<< std::endl;
253-
#endif
254-
248+
if (cvtest::debugLevel > 0)
249+
{
250+
std::cout << b << ", " << class_id << ", " << conf << "f, "
251+
<< box.x << "f, " << box.y << "f, "
252+
<< box.x + box.width << "f, " << box.y + box.height << "f,"
253+
<< std::endl;
254+
}
255255
}
256256

257257
if (cvIsNaN(iouDiff))
@@ -347,10 +347,22 @@ TEST_P(Test_Darknet_nets, YoloVoc)
347347
1, 6, 0.667770f, 0.446555f, 0.453578f, 0.499986f, 0.519167f, // a car
348348
1, 6, 0.844947f, 0.637058f, 0.460398f, 0.828508f, 0.66427f); // a car
349349

350-
double scoreDiff = (target == DNN_TARGET_OPENCL_FP16 || target == DNN_TARGET_MYRIAD) ? 1e-2 : 8e-5;
351-
double iouDiff = (target == DNN_TARGET_OPENCL_FP16 || target == DNN_TARGET_MYRIAD) ? 0.018 : 3e-4;
352350
double nmsThreshold = (target == DNN_TARGET_MYRIAD) ? 0.397 : 0.4;
353351

352+
double scoreDiff = 8e-5, iouDiff = 3e-4;
353+
if (target == DNN_TARGET_OPENCL_FP16 || target == DNN_TARGET_MYRIAD)
354+
{
355+
scoreDiff = 1e-2;
356+
iouDiff = 0.018;
357+
}
358+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021040000)
359+
// accuracy
360+
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_OPENCL_FP16)
361+
{
362+
iouDiff = std::numeric_limits<double>::quiet_NaN();
363+
}
364+
#endif
365+
354366
std::string config_file = "yolo-voc.cfg";
355367
std::string weights_file = "yolo-voc.weights";
356368

@@ -363,6 +375,12 @@ TEST_P(Test_Darknet_nets, YoloVoc)
363375
SCOPED_TRACE("batch size 2");
364376
testDarknetModel(config_file, weights_file, ref, scoreDiff, iouDiff, 0.24, nmsThreshold);
365377
}
378+
379+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021040000)
380+
// accuracy
381+
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_OPENCL_FP16)
382+
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16, CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_VERSION);
383+
#endif
366384
}
367385

368386
TEST_P(Test_Darknet_nets, TinyYoloVoc)
@@ -584,6 +602,14 @@ TEST_P(Test_Darknet_nets, YOLOv4)
584602
std::string config_file = "yolov4.cfg";
585603
std::string weights_file = "yolov4.weights";
586604

605+
606+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021040000)
607+
// accuracy (batch 1)
608+
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_OPENCL_FP16)
609+
{
610+
iouDiff = std::numeric_limits<double>::quiet_NaN();
611+
}
612+
#endif
587613
#if defined(INF_ENGINE_RELEASE)
588614
if ((backend == DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019 ||
589615
backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH) && target == DNN_TARGET_MYRIAD &&
@@ -602,6 +628,13 @@ TEST_P(Test_Darknet_nets, YOLOv4)
602628
{
603629
SCOPED_TRACE("batch size 2");
604630

631+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021040000)
632+
// accuracy (batch 1)
633+
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_OPENCL_FP16)
634+
{
635+
iouDiff = 0.45f;
636+
}
637+
#endif
605638
#if defined(INF_ENGINE_RELEASE)
606639
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019)
607640
{
@@ -617,6 +650,12 @@ TEST_P(Test_Darknet_nets, YOLOv4)
617650

618651
testDarknetModel(config_file, weights_file, ref, scoreDiff, iouDiff);
619652
}
653+
654+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021040000)
655+
// accuracy
656+
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_OPENCL_FP16)
657+
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16, CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_VERSION);
658+
#endif
620659
}
621660

622661
TEST_P(Test_Darknet_nets, YOLOv4_tiny)
@@ -685,6 +724,13 @@ TEST_P(Test_Darknet_nets, YOLOv4x_mish)
685724
{
686725
applyTestTag(CV_TEST_TAG_LONG, (target == DNN_TARGET_CPU ? CV_TEST_TAG_MEMORY_1GB : CV_TEST_TAG_MEMORY_2GB));
687726

727+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021040000)
728+
// IE exception: Ngraph operation Transpose with name permute_168 has dynamic output shape on 0 port, but CPU plug-in supports only static shape
729+
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && (target == DNN_TARGET_OPENCL || target == DNN_TARGET_OPENCL_FP16))
730+
applyTestTag(target == DNN_TARGET_OPENCL ? CV_TEST_TAG_DNN_SKIP_IE_OPENCL : CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16,
731+
CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_VERSION
732+
);
733+
#endif
688734
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2020040000) // nGraph compilation failure
689735
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_OPENCL)
690736
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_OPENCL, CV_TEST_TAG_DNN_SKIP_IE_VERSION);

modules/dnn/test/test_halide_layers.cpp

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,13 @@ static void test(Mat& input, Net& net, Backend backendId, Target targetId, bool
3939
l1 = default_l1;
4040
if (lInf == 0.0)
4141
lInf = default_lInf;
42-
#if 0
43-
std::cout << "l1=" << l1 << " lInf=" << lInf << std::endl;
44-
std::cout << outputDefault.reshape(1, outputDefault.total()).t() << std::endl;
45-
std::cout << outputHalide.reshape(1, outputDefault.total()).t() << std::endl;
46-
#endif
4742
normAssert(outputDefault, outputHalide, "", l1, lInf);
43+
if (cvtest::debugLevel > 0 || testing::Test::HasFailure())
44+
{
45+
std::cout << "l1=" << l1 << " lInf=" << lInf << std::endl;
46+
std::cout << outputDefault.reshape(1, outputDefault.total()).t() << std::endl;
47+
std::cout << outputHalide.reshape(1, outputDefault.total()).t() << std::endl;
48+
}
4849
}
4950

5051
static void test(LayerParams& params, Mat& input, Backend backendId, Target targetId, bool skipCheck = false, double l1 = 0.0, double lInf = 0.0)
@@ -795,6 +796,16 @@ TEST_P(Eltwise, Accuracy)
795796
Backend backendId = get<0>(get<4>(GetParam()));
796797
Target targetId = get<1>(get<4>(GetParam()));
797798

799+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021040000)
800+
// accuracy
801+
if (backendId == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && targetId == DNN_TARGET_OPENCL &&
802+
inSize == Vec3i(1, 4, 5) && op == "sum" && numConv == 1 && !weighted)
803+
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_OPENCL, CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_VERSION);
804+
if (backendId == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && targetId == DNN_TARGET_OPENCL &&
805+
inSize == Vec3i(2, 8, 6) && op == "sum" && numConv == 1 && !weighted)
806+
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_OPENCL, CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_VERSION);
807+
#endif
808+
798809
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_LE(2018050000)
799810
if (backendId == DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019 && targetId == DNN_TARGET_MYRIAD &&
800811
inSize == Vec3i(1, 4, 5))

modules/dnn/test/test_layers.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ TEST_P(Test_Caffe_layers, layer_prelu_fc)
373373
// Reference output values are in range [-0.0001, 10.3906]
374374
double l1 = (target == DNN_TARGET_MYRIAD) ? 0.005 : 0.0;
375375
double lInf = (target == DNN_TARGET_MYRIAD) ? 0.021 : 0.0;
376-
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2020040000)
376+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_GE(2020040000)
377377
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_OPENCL)
378378
{
379379
l1 = 0.006f; lInf = 0.05f;
@@ -1416,6 +1416,14 @@ TEST_P(Test_DLDT_two_inputs, as_backend)
14161416
double l1 = (targetId == DNN_TARGET_OPENCL_FP16 || targetId == DNN_TARGET_MYRIAD) ? 0.06 : 1e-6;
14171417
double lInf = (targetId == DNN_TARGET_OPENCL_FP16 || targetId == DNN_TARGET_MYRIAD) ? 0.3 : 1e-5;
14181418
normAssert(out, ref, "", l1, lInf);
1419+
if (cvtest::debugLevel > 0 || HasFailure())
1420+
{
1421+
std::cout << "input1 scale=" << kScale << " input2 scale=" << kScaleInv << std::endl;
1422+
std::cout << "input1: " << firstInp.size << " " << firstInp.reshape(1, 1) << std::endl;
1423+
std::cout << "input2: " << secondInp.size << " " << secondInp.reshape(1, 1) << std::endl;
1424+
std::cout << "ref: " << ref.reshape(1, 1) << std::endl;
1425+
std::cout << "out: " << out.reshape(1, 1) << std::endl;
1426+
}
14191427
}
14201428

14211429
INSTANTIATE_TEST_CASE_P(/*nothing*/, Test_DLDT_two_inputs, Combine(

modules/dnn/test/test_onnx_importer.cpp

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,14 @@ TEST_P(Test_ONNX_layers, Split_EltwiseMax)
686686

687687
TEST_P(Test_ONNX_layers, LSTM_Activations)
688688
{
689+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021040000)
690+
// IE Exception: Ngraph operation Reshape with name Block1237_Output_0_before_reshape has dynamic output shape on 0 port, but CPU plug-in supports only static shape
691+
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && (target == DNN_TARGET_OPENCL || target == DNN_TARGET_OPENCL_FP16))
692+
applyTestTag(target == DNN_TARGET_OPENCL ? CV_TEST_TAG_DNN_SKIP_IE_OPENCL : CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16,
693+
CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_VERSION
694+
);
695+
#endif
696+
689697
testONNXModels("lstm_cntk_tanh", pb, 0, 0, false, false);
690698
}
691699

@@ -810,14 +818,21 @@ TEST_P(Test_ONNX_layers, Conv1d_variable_weight_bias)
810818

811819
TEST_P(Test_ONNX_layers, GatherMultiOutput)
812820
{
821+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021040000)
822+
// IE Exception: Ngraph operation Reshape with name 6 has dynamic output shape on 0 port, but CPU plug-in supports only static shape
823+
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && (target == DNN_TARGET_OPENCL || target == DNN_TARGET_OPENCL_FP16))
824+
applyTestTag(target == DNN_TARGET_OPENCL ? CV_TEST_TAG_DNN_SKIP_IE_OPENCL : CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16,
825+
CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_VERSION
826+
);
827+
#endif
813828
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021030000)
814829
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_OPENCL)
815830
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_OPENCL, CV_TEST_TAG_DNN_SKIP_IE_NGRAPH); // exception
816831
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_OPENCL_FP16)
817832
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16, CV_TEST_TAG_DNN_SKIP_IE_NGRAPH); // exception
818833
#endif
819834

820-
#if defined(INF_ENGINE_RELEASE)
835+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_LE(2021030000)
821836
if (target == DNN_TARGET_MYRIAD)
822837
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_MYRIAD, CV_TEST_TAG_DNN_SKIP_IE);
823838
#endif
@@ -827,14 +842,25 @@ TEST_P(Test_ONNX_layers, GatherMultiOutput)
827842

828843
TEST_P(Test_ONNX_layers, DynamicAxes)
829844
{
845+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021040000)
846+
// accuracy
847+
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && (target == DNN_TARGET_OPENCL || target == DNN_TARGET_OPENCL_FP16))
848+
applyTestTag(target == DNN_TARGET_OPENCL ? CV_TEST_TAG_DNN_SKIP_IE_OPENCL : CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16,
849+
CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_VERSION
850+
);
851+
#endif
852+
#if defined(INF_ENGINE_RELEASE)
830853
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019)
831854
{
832855
if (target == DNN_TARGET_MYRIAD) applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_MYRIAD, CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER);
833856
}
857+
#if INF_ENGINE_VER_MAJOR_LT(2021000000)
834858
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH)
835859
{
836860
if (target == DNN_TARGET_MYRIAD) applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_MYRIAD, CV_TEST_TAG_DNN_SKIP_IE_NGRAPH);
837861
}
862+
#endif
863+
#endif
838864
testONNXModels("squeeze_and_conv_dynamic_axes");
839865
testONNXModels("unsqueeze_and_conv_dynamic_axes");
840866
testONNXModels("gather_dynamic_axes");
@@ -914,6 +940,13 @@ TEST_P(Test_ONNX_layers, PoolConv1d)
914940

915941
TEST_P(Test_ONNX_layers, ConvResizePool1d)
916942
{
943+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021040000)
944+
// IE Exception: Ngraph operation Reshape with name 15 has dynamic output shape on 0 port, but CPU plug-in supports only static shape
945+
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && (target == DNN_TARGET_OPENCL || target == DNN_TARGET_OPENCL_FP16))
946+
applyTestTag(target == DNN_TARGET_OPENCL ? CV_TEST_TAG_DNN_SKIP_IE_OPENCL : CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16,
947+
CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_VERSION
948+
);
949+
#endif
917950
#if defined(INF_ENGINE_RELEASE)
918951
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019)
919952
{
@@ -1116,8 +1149,12 @@ TEST_P(Test_ONNX_nets, TinyYolov2)
11161149
#endif
11171150

11181151
// output range: [-11; 8]
1119-
double l1 = (target == DNN_TARGET_OPENCL_FP16 || target == DNN_TARGET_MYRIAD) ? 0.017 : default_l1;
1120-
double lInf = (target == DNN_TARGET_OPENCL_FP16 || target == DNN_TARGET_MYRIAD) ? 0.14 : default_lInf;
1152+
double l1 = default_l1, lInf = default_lInf;
1153+
if (target == DNN_TARGET_OPENCL_FP16 || target == DNN_TARGET_MYRIAD)
1154+
{
1155+
l1 = 0.02;
1156+
lInf = 0.2;
1157+
}
11211158
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2020040000)
11221159
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_OPENCL_FP16)
11231160
{
@@ -1202,10 +1239,10 @@ TEST_P(Test_ONNX_nets, Emotion_ferplus)
12021239
l1 = 2.4e-4;
12031240
lInf = 6e-4;
12041241
}
1205-
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2020040000)
1242+
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_GE(2020040000)
12061243
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_OPENCL_FP16)
12071244
{
1208-
l1 = 0.012f; lInf = 0.035f;
1245+
l1 = 0.013f; lInf = 0.035f;
12091246
}
12101247
#endif
12111248

0 commit comments

Comments
 (0)