xref: /aosp_15_r20/external/armnn/src/armnnOnnxParser/test/DepthConv.cpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1*89c4ff92SAndroid Build Coastguard Worker //
2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2017 Arm Ltd. All rights reserved.
3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT
4*89c4ff92SAndroid Build Coastguard Worker //
5*89c4ff92SAndroid Build Coastguard Worker 
6*89c4ff92SAndroid Build Coastguard Worker #include "armnnOnnxParser/IOnnxParser.hpp"
7*89c4ff92SAndroid Build Coastguard Worker #include  "ParserPrototxtFixture.hpp"
8*89c4ff92SAndroid Build Coastguard Worker 
9*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("OnnxParser_DepthConv")
10*89c4ff92SAndroid Build Coastguard Worker {
11*89c4ff92SAndroid Build Coastguard Worker struct SimpleDepthConv2DFixture : public armnnUtils::ParserPrototxtFixture<armnnOnnxParser::IOnnxParser>
12*89c4ff92SAndroid Build Coastguard Worker {
SimpleDepthConv2DFixtureSimpleDepthConv2DFixture13*89c4ff92SAndroid Build Coastguard Worker     SimpleDepthConv2DFixture()
14*89c4ff92SAndroid Build Coastguard Worker     {
15*89c4ff92SAndroid Build Coastguard Worker         m_Prototext = R"(
16*89c4ff92SAndroid Build Coastguard Worker                    ir_version: 3
17*89c4ff92SAndroid Build Coastguard Worker                    producer_name:  "CNTK"
18*89c4ff92SAndroid Build Coastguard Worker                    producer_version:  "2.5.1"
19*89c4ff92SAndroid Build Coastguard Worker                    domain:  "ai.cntk"
20*89c4ff92SAndroid Build Coastguard Worker                    model_version: 1
21*89c4ff92SAndroid Build Coastguard Worker                    graph {
22*89c4ff92SAndroid Build Coastguard Worker                      name:  "CNTKGraph"
23*89c4ff92SAndroid Build Coastguard Worker                      input {
24*89c4ff92SAndroid Build Coastguard Worker                         name: "Input"
25*89c4ff92SAndroid Build Coastguard Worker                         type {
26*89c4ff92SAndroid Build Coastguard Worker                           tensor_type {
27*89c4ff92SAndroid Build Coastguard Worker                             elem_type: 1
28*89c4ff92SAndroid Build Coastguard Worker                             shape {
29*89c4ff92SAndroid Build Coastguard Worker                               dim {
30*89c4ff92SAndroid Build Coastguard Worker                                 dim_value: 1
31*89c4ff92SAndroid Build Coastguard Worker                               }
32*89c4ff92SAndroid Build Coastguard Worker                               dim {
33*89c4ff92SAndroid Build Coastguard Worker                                 dim_value: 3
34*89c4ff92SAndroid Build Coastguard Worker                               }
35*89c4ff92SAndroid Build Coastguard Worker                               dim {
36*89c4ff92SAndroid Build Coastguard Worker                                 dim_value: 2
37*89c4ff92SAndroid Build Coastguard Worker                               }
38*89c4ff92SAndroid Build Coastguard Worker                               dim {
39*89c4ff92SAndroid Build Coastguard Worker                                 dim_value: 2
40*89c4ff92SAndroid Build Coastguard Worker                               }
41*89c4ff92SAndroid Build Coastguard Worker                             }
42*89c4ff92SAndroid Build Coastguard Worker                           }
43*89c4ff92SAndroid Build Coastguard Worker                         }
44*89c4ff92SAndroid Build Coastguard Worker                       }
45*89c4ff92SAndroid Build Coastguard Worker                       input {
46*89c4ff92SAndroid Build Coastguard Worker                         name: "Weight"
47*89c4ff92SAndroid Build Coastguard Worker                         type {
48*89c4ff92SAndroid Build Coastguard Worker                           tensor_type {
49*89c4ff92SAndroid Build Coastguard Worker                             elem_type: 1
50*89c4ff92SAndroid Build Coastguard Worker                             shape {
51*89c4ff92SAndroid Build Coastguard Worker                               dim {
52*89c4ff92SAndroid Build Coastguard Worker                                 dim_value: 3
53*89c4ff92SAndroid Build Coastguard Worker                               }
54*89c4ff92SAndroid Build Coastguard Worker                               dim {
55*89c4ff92SAndroid Build Coastguard Worker                                 dim_value: 1
56*89c4ff92SAndroid Build Coastguard Worker                               }
57*89c4ff92SAndroid Build Coastguard Worker                               dim {
58*89c4ff92SAndroid Build Coastguard Worker                                 dim_value: 2
59*89c4ff92SAndroid Build Coastguard Worker                               }
60*89c4ff92SAndroid Build Coastguard Worker                               dim {
61*89c4ff92SAndroid Build Coastguard Worker                                 dim_value: 2
62*89c4ff92SAndroid Build Coastguard Worker                               }
63*89c4ff92SAndroid Build Coastguard Worker                             }
64*89c4ff92SAndroid Build Coastguard Worker                           }
65*89c4ff92SAndroid Build Coastguard Worker                         }
66*89c4ff92SAndroid Build Coastguard Worker                       }
67*89c4ff92SAndroid Build Coastguard Worker                       initializer {
68*89c4ff92SAndroid Build Coastguard Worker                           dims: 3
69*89c4ff92SAndroid Build Coastguard Worker                           dims: 1
70*89c4ff92SAndroid Build Coastguard Worker                           dims: 2
71*89c4ff92SAndroid Build Coastguard Worker                           dims: 2
72*89c4ff92SAndroid Build Coastguard Worker                           data_type: 1
73*89c4ff92SAndroid Build Coastguard Worker                           float_data: 1
74*89c4ff92SAndroid Build Coastguard Worker                           float_data: 1
75*89c4ff92SAndroid Build Coastguard Worker                           float_data: 1
76*89c4ff92SAndroid Build Coastguard Worker                           float_data: 1
77*89c4ff92SAndroid Build Coastguard Worker                           float_data: 2
78*89c4ff92SAndroid Build Coastguard Worker                           float_data: 2
79*89c4ff92SAndroid Build Coastguard Worker                           float_data: 2
80*89c4ff92SAndroid Build Coastguard Worker                           float_data: 2
81*89c4ff92SAndroid Build Coastguard Worker                           float_data: 3
82*89c4ff92SAndroid Build Coastguard Worker                           float_data: 3
83*89c4ff92SAndroid Build Coastguard Worker                           float_data: 3
84*89c4ff92SAndroid Build Coastguard Worker                           float_data: 3
85*89c4ff92SAndroid Build Coastguard Worker                           name: "Weight"
86*89c4ff92SAndroid Build Coastguard Worker                         }
87*89c4ff92SAndroid Build Coastguard Worker                       node {
88*89c4ff92SAndroid Build Coastguard Worker                          input: "Input"
89*89c4ff92SAndroid Build Coastguard Worker                          input: "Weight"
90*89c4ff92SAndroid Build Coastguard Worker                          output: "Output"
91*89c4ff92SAndroid Build Coastguard Worker                          name: "Convolution"
92*89c4ff92SAndroid Build Coastguard Worker                          op_type: "Conv"
93*89c4ff92SAndroid Build Coastguard Worker                          attribute {
94*89c4ff92SAndroid Build Coastguard Worker                            name: "kernel_shape"
95*89c4ff92SAndroid Build Coastguard Worker                            ints: 2
96*89c4ff92SAndroid Build Coastguard Worker                            ints: 2
97*89c4ff92SAndroid Build Coastguard Worker                            type: INTS
98*89c4ff92SAndroid Build Coastguard Worker                          }
99*89c4ff92SAndroid Build Coastguard Worker                          attribute {
100*89c4ff92SAndroid Build Coastguard Worker                            name: "strides"
101*89c4ff92SAndroid Build Coastguard Worker                            ints: 1
102*89c4ff92SAndroid Build Coastguard Worker                            ints: 1
103*89c4ff92SAndroid Build Coastguard Worker                            type: INTS
104*89c4ff92SAndroid Build Coastguard Worker                          }
105*89c4ff92SAndroid Build Coastguard Worker                          attribute {
106*89c4ff92SAndroid Build Coastguard Worker                            name: "auto_pad"
107*89c4ff92SAndroid Build Coastguard Worker                            s: "VALID"
108*89c4ff92SAndroid Build Coastguard Worker                            type: STRING
109*89c4ff92SAndroid Build Coastguard Worker                          }
110*89c4ff92SAndroid Build Coastguard Worker                          attribute {
111*89c4ff92SAndroid Build Coastguard Worker                            name: "group"
112*89c4ff92SAndroid Build Coastguard Worker                            i: 3
113*89c4ff92SAndroid Build Coastguard Worker                            type: INT
114*89c4ff92SAndroid Build Coastguard Worker                          }
115*89c4ff92SAndroid Build Coastguard Worker                          attribute {
116*89c4ff92SAndroid Build Coastguard Worker                            name: "dilations"
117*89c4ff92SAndroid Build Coastguard Worker                            ints: 1
118*89c4ff92SAndroid Build Coastguard Worker                            ints: 1
119*89c4ff92SAndroid Build Coastguard Worker                            type: INTS
120*89c4ff92SAndroid Build Coastguard Worker                          }
121*89c4ff92SAndroid Build Coastguard Worker                          doc_string: ""
122*89c4ff92SAndroid Build Coastguard Worker                          domain: ""
123*89c4ff92SAndroid Build Coastguard Worker                        }
124*89c4ff92SAndroid Build Coastguard Worker                       output {
125*89c4ff92SAndroid Build Coastguard Worker                           name: "Output"
126*89c4ff92SAndroid Build Coastguard Worker                           type {
127*89c4ff92SAndroid Build Coastguard Worker                              tensor_type {
128*89c4ff92SAndroid Build Coastguard Worker                                elem_type: 1
129*89c4ff92SAndroid Build Coastguard Worker                                shape {
130*89c4ff92SAndroid Build Coastguard Worker                                    dim {
131*89c4ff92SAndroid Build Coastguard Worker                                        dim_value: 1
132*89c4ff92SAndroid Build Coastguard Worker                                    }
133*89c4ff92SAndroid Build Coastguard Worker                                    dim {
134*89c4ff92SAndroid Build Coastguard Worker                                        dim_value: 3
135*89c4ff92SAndroid Build Coastguard Worker                                    }
136*89c4ff92SAndroid Build Coastguard Worker                                    dim {
137*89c4ff92SAndroid Build Coastguard Worker                                        dim_value: 1
138*89c4ff92SAndroid Build Coastguard Worker                                    }
139*89c4ff92SAndroid Build Coastguard Worker                                    dim {
140*89c4ff92SAndroid Build Coastguard Worker                                        dim_value: 1
141*89c4ff92SAndroid Build Coastguard Worker                                    }
142*89c4ff92SAndroid Build Coastguard Worker                                }
143*89c4ff92SAndroid Build Coastguard Worker                             }
144*89c4ff92SAndroid Build Coastguard Worker                         }
145*89c4ff92SAndroid Build Coastguard Worker                         }
146*89c4ff92SAndroid Build Coastguard Worker                     }
147*89c4ff92SAndroid Build Coastguard Worker                    opset_import {
148*89c4ff92SAndroid Build Coastguard Worker                       version: 7
149*89c4ff92SAndroid Build Coastguard Worker                     })";
150*89c4ff92SAndroid Build Coastguard Worker         Setup();
151*89c4ff92SAndroid Build Coastguard Worker     }
152*89c4ff92SAndroid Build Coastguard Worker };
153*89c4ff92SAndroid Build Coastguard Worker 
154*89c4ff92SAndroid Build Coastguard Worker 
155*89c4ff92SAndroid Build Coastguard Worker TEST_CASE_FIXTURE(SimpleDepthConv2DFixture, "ValidDepthConvTest")
156*89c4ff92SAndroid Build Coastguard Worker {
157*89c4ff92SAndroid Build Coastguard Worker     RunTest<4>({{"Input", { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}}},
158*89c4ff92SAndroid Build Coastguard Worker                {{"Output", { 10, 52, 126 }}});
159*89c4ff92SAndroid Build Coastguard Worker }
160*89c4ff92SAndroid Build Coastguard Worker 
161*89c4ff92SAndroid Build Coastguard Worker }
162