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