2
2
// SPDX-License-Identifier: Apache-2.0
3
3
//
4
4
5
- #include " openvino/op/experimental_detectron_detection_output.hpp"
6
-
7
5
#include < gtest/gtest.h>
8
6
7
+ #include " openvino/op/experimental_detectron_detection_output.hpp"
9
8
#include " base_reference_test.hpp"
10
9
11
10
using namespace reference_tests ;
@@ -19,13 +18,9 @@ struct ExperimentalDOParams {
19
18
ExperimentalDOParams (const Attrs& attrs,
20
19
const size_t num_rois,
21
20
const element::Type& iType,
22
- const std::vector<IT>& roisValues,
23
- const std::vector<IT>& deltasValues,
24
- const std::vector<IT>& scoresValues,
25
- const std::vector<IT>& imageSizeInfoValues,
26
- const std::vector<IT>& refBoxesValues,
27
- const std::vector<int32_t >& refClassesValues,
28
- const std::vector<IT>& refScoresValues,
21
+ const std::vector<IT>& roisValues, const std::vector<IT>& deltasValues,
22
+ const std::vector<IT>& scoresValues, const std::vector<IT>& imageSizeInfoValues,
23
+ const std::vector<IT>& refBoxesValues, const std::vector<int32_t >& refClassesValues, const std::vector<IT>& refScoresValues,
29
24
const std::string& testcaseName = " " )
30
25
: attrs(attrs),
31
26
inType (iType),
@@ -38,11 +33,11 @@ struct ExperimentalDOParams {
38
33
refClassesData(CreateTensor(ov::element::i32, refClassesValues)),
39
34
refScoresData(CreateTensor(iType, refScoresValues)),
40
35
testcaseName(testcaseName) {
41
- roisShape = Shape{num_rois, 4 };
42
- deltasShape = Shape{num_rois, static_cast <size_t >(attrs.num_classes * 4 )};
43
- scoresShape = Shape{num_rois, static_cast <size_t >(attrs.num_classes )};
44
- imageSizeInfoShape = Shape{1 , 3 };
45
- }
36
+ roisShape = Shape{num_rois, 4 };
37
+ deltasShape = Shape{num_rois, static_cast <size_t >(attrs.num_classes * 4 )};
38
+ scoresShape = Shape{num_rois, static_cast <size_t >(attrs.num_classes )};
39
+ imageSizeInfoShape = Shape{1 , 3 };
40
+ }
46
41
47
42
Attrs attrs;
48
43
PartialShape roisShape;
@@ -61,8 +56,7 @@ struct ExperimentalDOParams {
61
56
std::string testcaseName;
62
57
};
63
58
64
- class ReferenceExperimentalDOLayerTest : public testing ::TestWithParam<ExperimentalDOParams>,
65
- public CommonReferenceTest {
59
+ class ReferenceExperimentalDOLayerTest : public testing ::TestWithParam<ExperimentalDOParams>, public CommonReferenceTest {
66
60
public:
67
61
void SetUp () override {
68
62
auto params = GetParam ();
@@ -90,9 +84,12 @@ class ReferenceExperimentalDOLayerTest : public testing::TestWithParam<Experimen
90
84
const auto deltas = std::make_shared<op::v0::Parameter>(params.inType , params.deltasShape );
91
85
const auto scores = std::make_shared<op::v0::Parameter>(params.inType , params.scoresShape );
92
86
const auto im_info = std::make_shared<op::v0::Parameter>(params.inType , params.imageSizeInfoShape );
93
- const auto ExperimentalDO =
94
- std::make_shared<op::v6::ExperimentalDetectronDetectionOutput>(rois, deltas, scores, im_info, params.attrs );
95
- return std::make_shared<ov::Model>(ExperimentalDO->outputs (), ParameterVector{rois, deltas, scores, im_info});
87
+ const auto ExperimentalDO = std::make_shared<op::v6::ExperimentalDetectronDetectionOutput>(rois,
88
+ deltas,
89
+ scores,
90
+ im_info,
91
+ params.attrs );
92
+ return std::make_shared<ov::Model>(ExperimentalDO->outputs (), ParameterVector {rois, deltas, scores, im_info});
96
93
}
97
94
};
98
95
@@ -104,54 +101,68 @@ template <element::Type_t IN_ET>
104
101
std::vector<ExperimentalDOParams> generateExperimentalDOFloatParams () {
105
102
using T = typename element_type_traits<IN_ET>::value_type;
106
103
107
- std::vector<ExperimentalDOParams> experimentalDOParams{
108
- ExperimentalDOParams (
109
- Attrs{
110
- 0 .01000000074505806f , // score_threshold
111
- 0 .2f , // nms_threshold
112
- 2 .0f , // max_delta_log_wh
113
- 2 , // num_classes
114
- 500 , // post_nms_count
115
- 5 , // max_detections_per_image
116
- true , // class_agnostic_box_regression
117
- {10 .0f , 10 .0f , 5 .0f , 5 .0f } // deltas_weights
118
- },
119
- 16 ,
120
- IN_ET,
121
- std::vector<T>{1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 4 .0f ,
122
- 1 .0f , 8 .0f , 5 .0f , 1 .0f , 1 .0f , 10 .0f , 10 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
123
- 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
124
- 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
125
- 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f },
126
- std::vector<T>{1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 4 .0f , 1 .0f , 1 .0f ,
127
- 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 8 .0f , 1 .0f , 1 .0f , 1 .0f ,
128
- 1 .0f , 1 .0f , 5 .0f , 1 .0f , 1 .0f , 1 .0f , -1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
129
- 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
130
- 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
131
- 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
132
- 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
133
- 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
134
- 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f },
135
-
136
- std::vector<T>{0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .8f , 0 .9f , 0 .5f ,
137
- 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f ,
138
- 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f , 0 .5f },
139
- std::vector<T>{16 .0f , 12 .0f , 1 .0f },
140
- std::vector<T>{4 .8929863f , 0 .892986298f , 12 .0f , 12 .1070137f , 0 .0f , 0 .892986298f , 10 .1070137f ,
141
- 12 .1070137f , 0 .0f , 0 .0f , 0 .0f , 0 .0f , 0 .0f , 0 .0f ,
142
- 0 .0f , 0 .0f , 0 .0f , 0 .0f , 0 .0f , 0 .0f },
143
- std::vector<int32_t >{0 , 1 , 0 , 0 , 0 },
144
- std::vector<T>{0 .8f , 0 .9f , 0 .0f , 0 .0f , 0 .0f }),
104
+ std::vector<ExperimentalDOParams> experimentalDOParams {
105
+ ExperimentalDOParams (Attrs{0 .01000000074505806f , // score_threshold
106
+ 0 .2f , // nms_threshold
107
+ 2 .0f , // max_delta_log_wh
108
+ 2 , // num_classes
109
+ 500 , // post_nms_count
110
+ 5 , // max_detections_per_image
111
+ true , // class_agnostic_box_regression
112
+ {10 .0f , 10 .0f , 5 .0f , 5 .0f } // deltas_weights
113
+ },
114
+ 16 ,
115
+ IN_ET,
116
+ std::vector<T>{1 .0f , 1 .0f , 10 .0f , 10 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
117
+ 1 .0f , 1 .0f , 1 .0f , 4 .0f , 1 .0f , 8 .0f , 5 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
118
+ 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
119
+ 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
120
+ 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f },
121
+ std::vector<T>{5 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
122
+ 1 .0f , 1 .0f , 1 .0f , 1 .0f , 4 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
123
+ 1 .0f , 1 .0f , 8 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
124
+ 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
125
+
126
+ 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
127
+ 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
128
+ 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
129
+ 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f },
130
+ std::vector<T>{1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
131
+ 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f ,
132
+ 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f },
133
+ std::vector<T>{1 .0f , 1 .0f , 1 .0f },
134
+ std::vector<T>{0 .8929862f ,
135
+ 0.892986297607421875 ,
136
+ 12.10701370239257812 ,
137
+ 12.10701370239257812 ,
138
+ 0 .0f ,
139
+ 0 .0f ,
140
+ 0 .0f ,
141
+ 0 .0f ,
142
+ 0 .0f ,
143
+ 0 .0f ,
144
+ 0 .0f ,
145
+ 0 .0f ,
146
+ 0 .0f ,
147
+ 0 .0f ,
148
+ 0 .0f ,
149
+ 0 .0f ,
150
+ 0 .0f ,
151
+ 0 .0f ,
152
+ 0 .0f ,
153
+ 0.0 },
154
+ std::vector<int32_t >{1 , 0 , 0 , 0 , 0 },
155
+ std::vector<T>{1 .0f , 0 .0f , 0 .0f , 0 .0f , 0 .0f }),
145
156
};
146
157
return experimentalDOParams;
147
158
}
148
159
149
160
std::vector<ExperimentalDOParams> generateExperimentalDOCombinedParams () {
150
- const std::vector<std::vector<ExperimentalDOParams>> ExperimentalDOTypeParams{
161
+ const std::vector<std::vector<ExperimentalDOParams>> ExperimentalDOTypeParams {
151
162
generateExperimentalDOFloatParams<element::Type_t::f32>(),
152
163
generateExperimentalDOFloatParams<element::Type_t::f16>(),
153
164
generateExperimentalDOFloatParams<element::Type_t::bf16>(),
154
- };
165
+ };
155
166
std::vector<ExperimentalDOParams> combinedParams;
156
167
157
168
for (const auto & params : ExperimentalDOTypeParams) {
@@ -160,8 +171,6 @@ std::vector<ExperimentalDOParams> generateExperimentalDOCombinedParams() {
160
171
return combinedParams;
161
172
}
162
173
163
- INSTANTIATE_TEST_SUITE_P (smoke_ExperimentalDetectronDetectionOutput_With_Hardcoded_Refs,
164
- ReferenceExperimentalDOLayerTest,
165
- testing::ValuesIn (generateExperimentalDOCombinedParams()),
166
- ReferenceExperimentalDOLayerTest::getTestCaseName);
167
- } // namespace
174
+ INSTANTIATE_TEST_SUITE_P (smoke_ExperimentalDetectronDetectionOutput_With_Hardcoded_Refs, ReferenceExperimentalDOLayerTest,
175
+ testing::ValuesIn (generateExperimentalDOCombinedParams()), ReferenceExperimentalDOLayerTest::getTestCaseName);
176
+ } // namespace
0 commit comments