Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenCV
opencv
提交
d2063507
O
opencv
项目概览
OpenCV
/
opencv
上一次同步 8 个月
通知
981
Star
71099
Fork
55580
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
d2063507
编写于
12月 02, 2021
作者:
A
Alexander Alekhin
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #21172 from alalek:dnn_test_drop_non_cpu_int8
上级
2da1f918
f55c9ed1
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
191 deletion
+11
-191
modules/dnn/test/test_int8_layers.cpp
modules/dnn/test/test_int8_layers.cpp
+11
-191
未找到文件。
modules/dnn/test/test_int8_layers.cpp
浏览文件 @
d2063507
...
...
@@ -8,6 +8,13 @@
#include <opencv2/dnn/all_layers.hpp>
namespace
opencv_test
{
namespace
{
testing
::
internal
::
ParamGenerator
<
tuple
<
Backend
,
Target
>
>
dnnBackendsAndTargetsInt8
()
{
std
::
vector
<
tuple
<
Backend
,
Target
>
>
targets
;
targets
.
push_back
(
make_tuple
(
DNN_BACKEND_OPENCV
,
DNN_TARGET_CPU
));
return
testing
::
ValuesIn
(
targets
);
}
template
<
typename
TString
>
static
std
::
string
_tf
(
TString
filename
)
{
...
...
@@ -341,7 +348,7 @@ TEST_P(Test_Int8_layers, Eltwise)
testLayer
(
"split_max"
,
"ONNX"
,
0.004
,
0.012
);
}
INSTANTIATE_TEST_CASE_P
(
/**/
,
Test_Int8_layers
,
dnnBackendsAndTargets
());
INSTANTIATE_TEST_CASE_P
(
/**/
,
Test_Int8_layers
,
dnnBackendsAndTargets
Int8
());
class
Test_Int8_nets
:
public
DNNTestLayer
{
...
...
@@ -657,11 +664,6 @@ TEST_P(Test_Int8_nets, CaffeNet)
if
(
target
==
DNN_TARGET_OPENCL
&&
!
ocl
::
Device
::
getDefault
().
isIntel
())
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL
);
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2019030000)
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
&&
target
==
DNN_TARGET_MYRIAD
&&
getInferenceEngineVPUType
()
==
CV_DNN_INFERENCE_ENGINE_VPU_TYPE_MYRIAD_X
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD_X
,
CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
#endif
float
l1
=
4e-5
,
lInf
=
0.0025
;
testONNXNet
(
"caffenet"
,
l1
,
lInf
);
}
...
...
@@ -679,11 +681,6 @@ TEST_P(Test_Int8_nets, RCNN_ILSVRC13)
if
(
target
==
DNN_TARGET_OPENCL
&&
!
ocl
::
Device
::
getDefault
().
isIntel
())
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL
);
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2019030000)
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
&&
target
==
DNN_TARGET_MYRIAD
&&
getInferenceEngineVPUType
()
==
CV_DNN_INFERENCE_ENGINE_VPU_TYPE_MYRIAD_X
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD_X
,
CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
#endif
float
l1
=
0.02
,
lInf
=
0.042
;
testONNXNet
(
"rcnn_ilsvrc13"
,
l1
,
lInf
);
}
...
...
@@ -715,12 +712,6 @@ TEST_P(Test_Int8_nets, Shufflenet)
if
(
target
==
DNN_TARGET_OPENCL
&&
!
ocl
::
Device
::
getDefault
().
isIntel
())
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL
);
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
)
{
if
(
target
==
DNN_TARGET_OPENCL_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16
,
CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER
);
if
(
target
==
DNN_TARGET_OPENCL
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL
,
CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER
);
if
(
target
==
DNN_TARGET_MYRIAD
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD
,
CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER
);
}
testONNXNet
(
"shufflenet"
,
default_l1
,
default_lInf
);
}
...
...
@@ -767,12 +758,6 @@ TEST_P(Test_Int8_nets, MobileNet_v1_SSD_PPN)
if
(
target
==
DNN_TARGET_OPENCL
&&
!
ocl
::
Device
::
getDefault
().
isIntel
())
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL
);
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2018050000)
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
&&
(
target
==
DNN_TARGET_OPENCL
||
target
==
DNN_TARGET_OPENCL_FP16
))
applyTestTag
(
target
==
DNN_TARGET_OPENCL
?
CV_TEST_TAG_DNN_SKIP_IE_OPENCL
:
CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16
,
CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
#endif
Net
net
=
readNetFromTensorflow
(
findDataFile
(
"dnn/ssd_mobilenet_v1_ppn_coco.pb"
,
false
),
findDataFile
(
"dnn/ssd_mobilenet_v1_ppn_coco.pbtxt"
));
...
...
@@ -792,11 +777,6 @@ TEST_P(Test_Int8_nets, Inception_v2_SSD)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL
);
applyTestTag
(
target
==
DNN_TARGET_CPU
?
CV_TEST_TAG_MEMORY_512MB
:
CV_TEST_TAG_MEMORY_1GB
);
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_LE(2019010000)
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
&&
target
==
DNN_TARGET_MYRIAD
&&
getInferenceEngineVPUType
()
==
CV_DNN_INFERENCE_ENGINE_VPU_TYPE_MYRIAD_X
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD_X
,
CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
#endif
Net
net
=
readNetFromTensorflow
(
findDataFile
(
"dnn/ssd_inception_v2_coco_2017_11_17.pb"
,
false
),
findDataFile
(
"dnn/ssd_inception_v2_coco_2017_11_17.pbtxt"
));
...
...
@@ -875,25 +855,9 @@ TEST_P(Test_Int8_nets, FasterRCNN_resnet50)
if
(
target
==
DNN_TARGET_OPENCL
&&
!
ocl
::
Device
::
getDefault
().
isIntel
())
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL
);
#ifdef INF_ENGINE_RELEASE
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
&&
(
INF_ENGINE_VER_MAJOR_LT
(
2019020000
)
||
target
!=
DNN_TARGET_CPU
))
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
if
(
INF_ENGINE_VER_MAJOR_GT
(
2019030000
)
&&
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
&&
target
==
DNN_TARGET_MYRIAD
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD
,
CV_TEST_TAG_DNN_SKIP_IE_NGRAPH
);
#endif
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
&&
target
==
DNN_TARGET_OPENCL_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16
,
CV_TEST_TAG_DNN_SKIP_IE_NGRAPH
);
if
(
backend
==
DNN_BACKEND_OPENCV
&&
target
==
DNN_TARGET_OPENCL_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL_FP16
);
if
(
backend
==
DNN_BACKEND_CUDA
&&
target
==
DNN_TARGET_CUDA_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_CUDA_FP16
);
Net
net
=
readNetFromTensorflow
(
findDataFile
(
"dnn/faster_rcnn_resnet50_coco_2018_01_28.pb"
,
false
),
findDataFile
(
"dnn/faster_rcnn_resnet50_coco_2018_01_28.pbtxt"
));
...
...
@@ -918,25 +882,9 @@ TEST_P(Test_Int8_nets, FasterRCNN_inceptionv2)
if
(
target
==
DNN_TARGET_OPENCL
&&
!
ocl
::
Device
::
getDefault
().
isIntel
())
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL
);
#ifdef INF_ENGINE_RELEASE
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
&&
(
INF_ENGINE_VER_MAJOR_LT
(
2019020000
)
||
target
!=
DNN_TARGET_CPU
))
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
if
(
INF_ENGINE_VER_MAJOR_GT
(
2019030000
)
&&
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
&&
target
==
DNN_TARGET_MYRIAD
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD
,
CV_TEST_TAG_DNN_SKIP_IE_NGRAPH
);
#endif
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
&&
target
==
DNN_TARGET_OPENCL_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16
,
CV_TEST_TAG_DNN_SKIP_IE_NGRAPH
);
if
(
backend
==
DNN_BACKEND_OPENCV
&&
target
==
DNN_TARGET_OPENCL_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL_FP16
);
if
(
backend
==
DNN_BACKEND_CUDA
&&
target
==
DNN_TARGET_CUDA_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_CUDA_FP16
);
Net
net
=
readNetFromTensorflow
(
findDataFile
(
"dnn/faster_rcnn_inception_v2_coco_2018_01_28.pb"
,
false
),
findDataFile
(
"dnn/faster_rcnn_inception_v2_coco_2018_01_28.pbtxt"
));
...
...
@@ -965,17 +913,6 @@ TEST_P(Test_Int8_nets, FasterRCNN_vgg16)
if
(
target
==
DNN_TARGET_OPENCL
&&
!
ocl
::
Device
::
getDefault
().
isIntel
())
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL
);
#if defined(INF_ENGINE_RELEASE)
if
((
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
||
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
)
&&
(
target
==
DNN_TARGET_OPENCL
||
target
==
DNN_TARGET_OPENCL_FP16
))
applyTestTag
(
target
==
DNN_TARGET_OPENCL
?
CV_TEST_TAG_DNN_SKIP_IE_OPENCL
:
CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16
);
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_NGRAPH
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
&&
target
==
DNN_TARGET_MYRIAD
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD
);
#endif
Net
net
=
readNetFromCaffe
(
findDataFile
(
"dnn/faster_rcnn_vgg16.prototxt"
),
findDataFile
(
"dnn/VGG16_faster_rcnn_final.caffemodel"
,
false
));
...
...
@@ -1003,17 +940,6 @@ TEST_P(Test_Int8_nets, FasterRCNN_zf)
if
(
target
==
DNN_TARGET_OPENCL
&&
!
ocl
::
Device
::
getDefault
().
isIntel
())
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL
);
if
((
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
||
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
)
&&
target
==
DNN_TARGET_OPENCL_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16
);
if
((
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
||
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
)
&&
target
==
DNN_TARGET_MYRIAD
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD
);
if
(
target
==
DNN_TARGET_CUDA_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_CUDA_FP16
);
Net
net
=
readNetFromCaffe
(
findDataFile
(
"dnn/faster_rcnn_zf.prototxt"
),
findDataFile
(
"dnn/ZF_faster_rcnn_final.caffemodel"
,
false
));
...
...
@@ -1038,14 +964,6 @@ TEST_P(Test_Int8_nets, RFCN)
if
(
target
==
DNN_TARGET_OPENCL
&&
!
ocl
::
Device
::
getDefault
().
isIntel
())
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL
);
if
((
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
||
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
)
&&
target
==
DNN_TARGET_OPENCL_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16
);
if
((
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
||
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
)
&&
target
==
DNN_TARGET_MYRIAD
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD
);
Net
net
=
readNetFromCaffe
(
findDataFile
(
"dnn/rfcn_pascal_voc_resnet50.prototxt"
),
findDataFile
(
"dnn/resnet50_rfcn_final.caffemodel"
,
false
));
...
...
@@ -1072,22 +990,6 @@ TEST_P(Test_Int8_nets, YoloVoc)
if
(
target
==
DNN_TARGET_OPENCL
&&
!
ocl
::
Device
::
getDefault
().
isIntel
())
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL
);
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2020040000)
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
&&
target
==
DNN_TARGET_OPENCL
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
&&
target
==
DNN_TARGET_OPENCL_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
#endif
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_GE(2019010000)
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
&&
target
==
DNN_TARGET_OPENCL_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16
);
#endif
#if defined(INF_ENGINE_RELEASE)
if
((
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
||
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
)
&&
target
==
DNN_TARGET_MYRIAD
&&
getInferenceEngineVPUType
()
==
CV_DNN_INFERENCE_ENGINE_VPU_TYPE_MYRIAD_X
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD_X
);
#endif
Mat
ref
=
(
Mat_
<
float
>
(
6
,
7
)
<<
0
,
6
,
0.750469
f
,
0.577374
f
,
0.127391
f
,
0.902949
f
,
0.300809
f
,
0
,
1
,
0.780879
f
,
0.270762
f
,
0.264102
f
,
0.732475
f
,
0.745412
f
,
0
,
11
,
0.901615
f
,
0.1386
f
,
0.338509
f
,
0.421337
f
,
0.938789
f
,
...
...
@@ -1119,18 +1021,6 @@ TEST_P(Test_Int8_nets, TinyYoloVoc)
if
(
target
==
DNN_TARGET_OPENCL
&&
!
ocl
::
Device
::
getDefault
().
isIntel
())
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL
);
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2020040000)
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
&&
target
==
DNN_TARGET_OPENCL
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
&&
target
==
DNN_TARGET_OPENCL_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
#endif
#if defined(INF_ENGINE_RELEASE)
if
((
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
||
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
)
&&
target
==
DNN_TARGET_MYRIAD
&&
getInferenceEngineVPUType
()
==
CV_DNN_INFERENCE_ENGINE_VPU_TYPE_MYRIAD_X
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD_X
);
#endif
Mat
ref
=
(
Mat_
<
float
>
(
4
,
7
)
<<
0
,
6
,
0.761967
f
,
0.579042
f
,
0.159161
f
,
0.894482
f
,
0.31994
f
,
0
,
11
,
0.780595
f
,
0.129696
f
,
0.386467
f
,
0.445275
f
,
0.920994
f
,
1
,
6
,
0.651450
f
,
0.460526
f
,
0.458019
f
,
0.522527
f
,
0.5341
f
,
...
...
@@ -1160,16 +1050,6 @@ TEST_P(Test_Int8_nets, YOLOv3)
if
(
target
==
DNN_TARGET_OPENCL
&&
!
ocl
::
Device
::
getDefault
().
isIntel
())
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL
);
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2020040000)
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
&&
target
==
DNN_TARGET_OPENCL
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
&&
target
==
DNN_TARGET_OPENCL_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
#endif
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
&&
target
==
DNN_TARGET_MYRIAD
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD
,
CV_TEST_TAG_DNN_SKIP_IE_NGRAPH
);
const
int
N0
=
3
;
const
int
N1
=
6
;
static
const
float
ref_
[
/* (N0 + N1) * 7 */
]
=
{
...
...
@@ -1195,19 +1075,6 @@ TEST_P(Test_Int8_nets, YOLOv3)
testDarknetModel
(
config_file
,
weights_file
,
ref
.
rowRange
(
0
,
N0
),
scoreDiff
,
iouDiff
,
confThreshold
);
}
#if defined(INF_ENGINE_RELEASE)
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
)
{
if
(
target
==
DNN_TARGET_OPENCL
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
else
if
(
target
==
DNN_TARGET_OPENCL_FP16
&&
INF_ENGINE_VER_MAJOR_LE
(
202010000
))
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
else
if
(
target
==
DNN_TARGET_MYRIAD
&&
getInferenceEngineVPUType
()
==
CV_DNN_INFERENCE_ENGINE_VPU_TYPE_MYRIAD_X
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD_X
);
}
#endif
{
SCOPED_TRACE
(
"batch size 2"
);
testDarknetModel
(
config_file
,
weights_file
,
ref
,
scoreDiff
,
iouDiff
,
confThreshold
);
...
...
@@ -1223,17 +1090,6 @@ TEST_P(Test_Int8_nets, YOLOv4)
if
(
target
==
DNN_TARGET_OPENCL
&&
!
ocl
::
Device
::
getDefault
().
isIntel
())
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL
);
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2020040000)
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
&&
target
==
DNN_TARGET_OPENCL
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
&&
target
==
DNN_TARGET_OPENCL_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
#endif
#if defined(INF_ENGINE_RELEASE)
if
(
target
==
DNN_TARGET_MYRIAD
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
#endif
const
int
N0
=
3
;
const
int
N1
=
7
;
static
const
float
ref_
[
/* (N0 + N1) * 7 */
]
=
{
...
...
@@ -1262,19 +1118,6 @@ TEST_P(Test_Int8_nets, YOLOv4)
{
SCOPED_TRACE
(
"batch size 2"
);
#if defined(INF_ENGINE_RELEASE)
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
)
{
if
(
target
==
DNN_TARGET_OPENCL
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
else
if
(
target
==
DNN_TARGET_OPENCL_FP16
&&
INF_ENGINE_VER_MAJOR_LE
(
202010000
))
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
else
if
(
target
==
DNN_TARGET_MYRIAD
&&
getInferenceEngineVPUType
()
==
CV_DNN_INFERENCE_ENGINE_VPU_TYPE_MYRIAD_X
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD_X
);
}
#endif
testDarknetModel
(
config_file
,
weights_file
,
ref
,
scoreDiff
,
iouDiff
);
}
}
...
...
@@ -1290,11 +1133,6 @@ TEST_P(Test_Int8_nets, YOLOv4_tiny)
if
(
target
==
DNN_TARGET_OPENCL
&&
!
ocl
::
Device
::
getDefault
().
isIntel
())
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_OPENCL
);
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_GE(2021010000)
if
(
target
==
DNN_TARGET_MYRIAD
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
#endif
const
float
confThreshold
=
0.6
;
const
int
N0
=
2
;
...
...
@@ -1314,38 +1152,20 @@ TEST_P(Test_Int8_nets, YOLOv4_tiny)
double
scoreDiff
=
0.12
;
double
iouDiff
=
target
==
DNN_TARGET_OPENCL_FP16
?
0.2
:
0.082
;
#if defined(INF_ENGINE_RELEASE)
if
(
target
==
DNN_TARGET_MYRIAD
)
// bad accuracy
iouDiff
=
std
::
numeric_limits
<
double
>::
quiet_NaN
();
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
&&
target
==
DNN_TARGET_OPENCL
)
iouDiff
=
std
::
numeric_limits
<
double
>::
quiet_NaN
();
if
((
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
||
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
)
&&
target
==
DNN_TARGET_OPENCL_FP16
)
iouDiff
=
std
::
numeric_limits
<
double
>::
quiet_NaN
();
#endif
{
SCOPED_TRACE
(
"batch size 1"
);
testDarknetModel
(
config_file
,
weights_file
,
ref
.
rowRange
(
0
,
N0
),
scoreDiff
,
iouDiff
,
confThreshold
);
}
throw
SkipTestException
(
"batch2: bad accuracy on second image"
);
/* bad accuracy on second image
{
SCOPED_TRACE("batch size 2");
testDarknetModel(config_file, weights_file, ref, scoreDiff, iouDiff, confThreshold);
}
*/
#if defined(INF_ENGINE_RELEASE)
if
(
target
==
DNN_TARGET_MYRIAD
)
// bad accuracy
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_MYRIAD
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
if
(
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
&&
target
==
DNN_TARGET_OPENCL
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
if
((
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019
||
backend
==
DNN_BACKEND_INFERENCE_ENGINE_NGRAPH
)
&&
target
==
DNN_TARGET_OPENCL_FP16
)
applyTestTag
(
CV_TEST_TAG_DNN_SKIP_IE_OPENCL_FP16
,
CV_TEST_TAG_DNN_SKIP_IE_VERSION
);
#endif
}
INSTANTIATE_TEST_CASE_P
(
/**/
,
Test_Int8_nets
,
dnnBackendsAndTargets
());
INSTANTIATE_TEST_CASE_P
(
/**/
,
Test_Int8_nets
,
dnnBackendsAndTargetsInt8
());
}}
// namespace
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录