add tests for 5 ops based on model zoo (#3062)
[platform/upstream/dldt.git] / inference-engine / tests / functional / inference_engine / ngraph_reader / region_yolo_tests.cpp
1 // Copyright (C) 2018-2020 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4
5 #include <string>
6 #include "ngraph_reader_tests.hpp"
7
8 TEST_F(NGraphReaderTests, ReadRegionYoloNetwork) {
9     std::string model = R"V0G0N(
10 <net name="frozen_graph" version="10">
11         <layers>
12                 <layer id="0" name="yolo_out_postprocess/placeholder_port_0" type="Parameter" version="opset1">
13                         <data element_type="f32" shape="1,125,13,13"/>
14                         <output>
15                                 <port id="0" precision="FP32">
16                                         <dim>1</dim>
17                                         <dim>125</dim>
18                                         <dim>13</dim>
19                                         <dim>13</dim>
20                                 </port>
21                         </output>
22                 </layer>
23                 <layer id="1" name="yolo_out_postprocess/YoloRegion" type="RegionYolo" version="opset1">
24                         <data coords="4" mask="0" classes="20" num="5" axis="1" end_axis="3" do_softmax="1" anchors="1.3221,1.73145,3.19275,4.00944,5.05587,8.09892,9.47112,4.84053,11.2364,10.0071"/>
25                         <input>
26                                 <port id="0">
27                                         <dim>1</dim>
28                                         <dim>125</dim>
29                                         <dim>13</dim>
30                                         <dim>13</dim>
31                                 </port>
32                         </input>
33                         <output>
34                                 <port id="1" precision="FP32">
35                                         <dim>1</dim>
36                                         <dim>21125</dim>
37                                 </port>
38                         </output>
39                 </layer>
40                 <layer id="2" name="364" type="Result" version="opset1">
41                         <input>
42                                 <port id="0">
43                                         <dim>1</dim>
44                                         <dim>21125</dim>
45                                 </port>
46                         </input>
47                 </layer>
48         </layers>
49         <edges>
50                 <edge from-layer="0" from-port="0" to-layer="1" to-port="0"/>
51                 <edge from-layer="1" from-port="1" to-layer="2" to-port="0"/>
52         </edges>
53 </net>
54 )V0G0N";
55     std::string modelV7 = R"V0G0N(
56 <net name="frozen_graph" version="7">
57         <layers>
58                 <layer id="0" name="yolo_out_postprocess/placeholder_port_0" type="Input" version="opset1">
59                         <output>
60                                 <port id="0" precision="FP32">
61                                         <dim>1</dim>
62                                         <dim>125</dim>
63                                         <dim>13</dim>
64                                         <dim>13</dim>
65                                 </port>
66                         </output>
67                 </layer>
68                 <layer id="1" name="yolo_out_postprocess/YoloRegion" type="RegionYolo" version="opset1">
69                         <data coords="4" classes="20" num="5" axis="1" end_axis="3" do_softmax="1" mask="0" anchors="1.3221,1.73145,3.19275,4.00944,5.05587,8.09892,9.47112,4.84053,11.2364,10.0071"/>
70                         <input>
71                                 <port id="0">
72                                         <dim>1</dim>
73                                         <dim>125</dim>
74                                         <dim>13</dim>
75                                         <dim>13</dim>
76                                 </port>
77                         </input>
78                         <output>
79                                 <port id="1" precision="FP32">
80                                         <dim>1</dim>
81                                         <dim>21125</dim>
82                                 </port>
83                         </output>
84                 </layer>
85         </layers>
86         <edges>
87                 <edge from-layer="0" from-port="0" to-layer="1" to-port="0"/>
88         </edges>
89 </net>
90 )V0G0N";
91     compareIRs(model, modelV7, 4);
92 }
93
94
95 TEST_F(NGraphReaderTests, ReadRegionYoloMaskNetwork) {
96     std::string model = R"V0G0N(
97 <net name="frozen_graph" version="10">
98         <layers>
99                 <layer id="0" name="yolo_out_postprocess/placeholder_port_0" type="Parameter" version="opset1">
100                         <data element_type="f32" shape="1,255,26,26"/>
101                         <output>
102                                 <port id="0" precision="FP32">
103                                         <dim>1</dim>
104                                         <dim>255</dim>
105                                         <dim>26</dim>
106                                         <dim>26</dim>
107                                 </port>
108                         </output>
109                 </layer>
110                 <layer id="1" name="yolo_out_postprocess/YoloRegion" type="RegionYolo" version="opset1">
111                         <data anchors="10,14,23,27,37,58,81,82,135,169,344,319" axis="1" classes="80" coords="4" do_softmax="0" end_axis="3" mask="0,1,2" num="6"/>
112                         <input>
113                                 <port id="0">
114                                         <dim>1</dim>
115                                         <dim>255</dim>
116                                         <dim>26</dim>
117                                         <dim>26</dim>
118                                 </port>
119                         </input>
120                         <output>
121                                 <port id="1" precision="FP32">
122                                         <dim>1</dim>
123                                         <dim>255</dim>
124                                         <dim>26</dim>
125                                         <dim>26</dim>
126                                 </port>
127                         </output>
128                 </layer>
129                 <layer id="2" name="364" type="Result" version="opset1">
130                         <input>
131                                 <port id="0">
132                                         <dim>1</dim>
133                                         <dim>255</dim>
134                                         <dim>26</dim>
135                                         <dim>26</dim>
136                                 </port>
137                         </input>
138                 </layer>
139         </layers>
140         <edges>
141                 <edge from-layer="0" from-port="0" to-layer="1" to-port="0"/>
142                 <edge from-layer="1" from-port="1" to-layer="2" to-port="0"/>
143         </edges>
144 </net>
145 )V0G0N";
146     std::string modelV7 = R"V0G0N(
147 <net name="frozen_graph" version="7">
148         <layers>
149                 <layer id="0" name="yolo_out_postprocess/placeholder_port_0" type="Input" version="opset1">
150                         <output>
151                                 <port id="0" precision="FP32">
152                                         <dim>1</dim>
153                                         <dim>255</dim>
154                                         <dim>26</dim>
155                                         <dim>26</dim>
156                                 </port>
157                         </output>
158                 </layer>
159                 <layer id="1" name="yolo_out_postprocess/YoloRegion" type="RegionYolo" version="opset1">
160                     <data anchors="10,14,23,27,37,58,81,82,135,169,344,319" axis="1" classes="80" coords="4" do_softmax="0" end_axis="3" mask="0,1,2" num="6"/>
161                         <input>
162                                 <port id="0">
163                                         <dim>1</dim>
164                                         <dim>255</dim>
165                                         <dim>26</dim>
166                                         <dim>26</dim>
167                                 </port>
168                         </input>
169                         <output>
170                                 <port id="1" precision="FP32">
171                                         <dim>1</dim>
172                                         <dim>255</dim>
173                                         <dim>26</dim>
174                                         <dim>26</dim>>
175                                 </port>
176                         </output>
177                 </layer>
178         </layers>
179         <edges>
180                 <edge from-layer="0" from-port="0" to-layer="1" to-port="0"/>
181         </edges>
182 </net>
183 )V0G0N";
184     compareIRs(model, modelV7, 4);
185 }