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 "ParserFlatbuffersSerializeFixture.hpp" 7*89c4ff92SAndroid Build Coastguard Worker #include <armnnDeserializer/IDeserializer.hpp> 8*89c4ff92SAndroid Build Coastguard Worker 9*89c4ff92SAndroid Build Coastguard Worker #include <string> 10*89c4ff92SAndroid Build Coastguard Worker 11*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("Deserializer_Convolution2D") 12*89c4ff92SAndroid Build Coastguard Worker { 13*89c4ff92SAndroid Build Coastguard Worker struct Convolution2dFixture : public ParserFlatbuffersSerializeFixture 14*89c4ff92SAndroid Build Coastguard Worker { Convolution2dFixtureConvolution2dFixture15*89c4ff92SAndroid Build Coastguard Worker explicit Convolution2dFixture(const std::string & inputShape1, 16*89c4ff92SAndroid Build Coastguard Worker const std::string & outputShape, 17*89c4ff92SAndroid Build Coastguard Worker const std::string & weightsShape, 18*89c4ff92SAndroid Build Coastguard Worker const std::string & dataType) 19*89c4ff92SAndroid Build Coastguard Worker { 20*89c4ff92SAndroid Build Coastguard Worker m_JsonString = R"( 21*89c4ff92SAndroid Build Coastguard Worker { 22*89c4ff92SAndroid Build Coastguard Worker inputIds: [0], 23*89c4ff92SAndroid Build Coastguard Worker outputIds: [2], 24*89c4ff92SAndroid Build Coastguard Worker layers: [{ 25*89c4ff92SAndroid Build Coastguard Worker layer_type: "InputLayer", 26*89c4ff92SAndroid Build Coastguard Worker layer: { 27*89c4ff92SAndroid Build Coastguard Worker base: { 28*89c4ff92SAndroid Build Coastguard Worker layerBindingId: 0, 29*89c4ff92SAndroid Build Coastguard Worker base: { 30*89c4ff92SAndroid Build Coastguard Worker index: 0, 31*89c4ff92SAndroid Build Coastguard Worker layerName: "InputLayer", 32*89c4ff92SAndroid Build Coastguard Worker layerType: "Input", 33*89c4ff92SAndroid Build Coastguard Worker inputSlots: [{ 34*89c4ff92SAndroid Build Coastguard Worker index: 0, 35*89c4ff92SAndroid Build Coastguard Worker connection: {sourceLayerIndex:0, outputSlotIndex:0 }, 36*89c4ff92SAndroid Build Coastguard Worker }], 37*89c4ff92SAndroid Build Coastguard Worker outputSlots: [{ 38*89c4ff92SAndroid Build Coastguard Worker index: 0, 39*89c4ff92SAndroid Build Coastguard Worker tensorInfo: { 40*89c4ff92SAndroid Build Coastguard Worker dimensions: )" + inputShape1 + R"(, 41*89c4ff92SAndroid Build Coastguard Worker dataType: )" + dataType + R"(, 42*89c4ff92SAndroid Build Coastguard Worker quantizationScale: 0.5, 43*89c4ff92SAndroid Build Coastguard Worker quantizationOffset: 0 44*89c4ff92SAndroid Build Coastguard Worker }, 45*89c4ff92SAndroid Build Coastguard Worker }] 46*89c4ff92SAndroid Build Coastguard Worker }, 47*89c4ff92SAndroid Build Coastguard Worker } 48*89c4ff92SAndroid Build Coastguard Worker }, 49*89c4ff92SAndroid Build Coastguard Worker }, 50*89c4ff92SAndroid Build Coastguard Worker { 51*89c4ff92SAndroid Build Coastguard Worker layer_type: "Convolution2dLayer", 52*89c4ff92SAndroid Build Coastguard Worker layer : { 53*89c4ff92SAndroid Build Coastguard Worker base: { 54*89c4ff92SAndroid Build Coastguard Worker index:1, 55*89c4ff92SAndroid Build Coastguard Worker layerName: "Convolution2dLayer", 56*89c4ff92SAndroid Build Coastguard Worker layerType: "Convolution2d", 57*89c4ff92SAndroid Build Coastguard Worker inputSlots: [{ 58*89c4ff92SAndroid Build Coastguard Worker index: 0, 59*89c4ff92SAndroid Build Coastguard Worker connection: {sourceLayerIndex:0, outputSlotIndex:0 }, 60*89c4ff92SAndroid Build Coastguard Worker }], 61*89c4ff92SAndroid Build Coastguard Worker outputSlots: [{ 62*89c4ff92SAndroid Build Coastguard Worker index: 0, 63*89c4ff92SAndroid Build Coastguard Worker tensorInfo: { 64*89c4ff92SAndroid Build Coastguard Worker dimensions: )" + outputShape + R"(, 65*89c4ff92SAndroid Build Coastguard Worker dataType: )" + dataType + R"( 66*89c4ff92SAndroid Build Coastguard Worker }, 67*89c4ff92SAndroid Build Coastguard Worker }], 68*89c4ff92SAndroid Build Coastguard Worker }, 69*89c4ff92SAndroid Build Coastguard Worker descriptor: { 70*89c4ff92SAndroid Build Coastguard Worker padLeft: 1, 71*89c4ff92SAndroid Build Coastguard Worker padRight: 1, 72*89c4ff92SAndroid Build Coastguard Worker padTop: 1, 73*89c4ff92SAndroid Build Coastguard Worker padBottom: 1, 74*89c4ff92SAndroid Build Coastguard Worker strideX: 2, 75*89c4ff92SAndroid Build Coastguard Worker strideY: 2, 76*89c4ff92SAndroid Build Coastguard Worker biasEnabled: false, 77*89c4ff92SAndroid Build Coastguard Worker dataLayout: NHWC 78*89c4ff92SAndroid Build Coastguard Worker }, 79*89c4ff92SAndroid Build Coastguard Worker weights: { 80*89c4ff92SAndroid Build Coastguard Worker info: { 81*89c4ff92SAndroid Build Coastguard Worker dimensions: )" + weightsShape + R"(, 82*89c4ff92SAndroid Build Coastguard Worker dataType: )" + dataType + R"( 83*89c4ff92SAndroid Build Coastguard Worker }, 84*89c4ff92SAndroid Build Coastguard Worker data_type: IntData, 85*89c4ff92SAndroid Build Coastguard Worker data: { 86*89c4ff92SAndroid Build Coastguard Worker data: [ 87*89c4ff92SAndroid Build Coastguard Worker 1082130432, 1084227584, 1086324736, 88*89c4ff92SAndroid Build Coastguard Worker 0 ,0 ,0 , 89*89c4ff92SAndroid Build Coastguard Worker 1077936128, 1073741824, 1065353216 90*89c4ff92SAndroid Build Coastguard Worker ], 91*89c4ff92SAndroid Build Coastguard Worker } 92*89c4ff92SAndroid Build Coastguard Worker } 93*89c4ff92SAndroid Build Coastguard Worker }, 94*89c4ff92SAndroid Build Coastguard Worker }, 95*89c4ff92SAndroid Build Coastguard Worker { 96*89c4ff92SAndroid Build Coastguard Worker layer_type: "OutputLayer", 97*89c4ff92SAndroid Build Coastguard Worker layer: { 98*89c4ff92SAndroid Build Coastguard Worker base:{ 99*89c4ff92SAndroid Build Coastguard Worker layerBindingId: 0, 100*89c4ff92SAndroid Build Coastguard Worker base: { 101*89c4ff92SAndroid Build Coastguard Worker index: 2, 102*89c4ff92SAndroid Build Coastguard Worker layerName: "OutputLayer", 103*89c4ff92SAndroid Build Coastguard Worker layerType: "Output", 104*89c4ff92SAndroid Build Coastguard Worker inputSlots: [{ 105*89c4ff92SAndroid Build Coastguard Worker index: 0, 106*89c4ff92SAndroid Build Coastguard Worker connection: {sourceLayerIndex:1, outputSlotIndex:0 }, 107*89c4ff92SAndroid Build Coastguard Worker }], 108*89c4ff92SAndroid Build Coastguard Worker outputSlots: [ { 109*89c4ff92SAndroid Build Coastguard Worker index: 0, 110*89c4ff92SAndroid Build Coastguard Worker tensorInfo: { 111*89c4ff92SAndroid Build Coastguard Worker dimensions: )" + outputShape + R"(, 112*89c4ff92SAndroid Build Coastguard Worker dataType: )" + dataType + R"( 113*89c4ff92SAndroid Build Coastguard Worker }, 114*89c4ff92SAndroid Build Coastguard Worker }], 115*89c4ff92SAndroid Build Coastguard Worker } 116*89c4ff92SAndroid Build Coastguard Worker }}, 117*89c4ff92SAndroid Build Coastguard Worker }] 118*89c4ff92SAndroid Build Coastguard Worker } 119*89c4ff92SAndroid Build Coastguard Worker )"; 120*89c4ff92SAndroid Build Coastguard Worker Setup(); 121*89c4ff92SAndroid Build Coastguard Worker } 122*89c4ff92SAndroid Build Coastguard Worker }; 123*89c4ff92SAndroid Build Coastguard Worker 124*89c4ff92SAndroid Build Coastguard Worker struct Convolution2dFixtureConstantAsInput : public ParserFlatbuffersSerializeFixture 125*89c4ff92SAndroid Build Coastguard Worker { Convolution2dFixtureConstantAsInputConvolution2dFixtureConstantAsInput126*89c4ff92SAndroid Build Coastguard Worker explicit Convolution2dFixtureConstantAsInput(const std::string & inputShape1, 127*89c4ff92SAndroid Build Coastguard Worker const std::string & outputShape, 128*89c4ff92SAndroid Build Coastguard Worker const std::string & weightsShape, 129*89c4ff92SAndroid Build Coastguard Worker const std::string & dataType) 130*89c4ff92SAndroid Build Coastguard Worker { 131*89c4ff92SAndroid Build Coastguard Worker m_JsonString = R"( 132*89c4ff92SAndroid Build Coastguard Worker { 133*89c4ff92SAndroid Build Coastguard Worker inputIds: [0], 134*89c4ff92SAndroid Build Coastguard Worker outputIds: [3], 135*89c4ff92SAndroid Build Coastguard Worker layers: [{ 136*89c4ff92SAndroid Build Coastguard Worker layer_type: "InputLayer", 137*89c4ff92SAndroid Build Coastguard Worker layer: { 138*89c4ff92SAndroid Build Coastguard Worker base: { 139*89c4ff92SAndroid Build Coastguard Worker layerBindingId: 0, 140*89c4ff92SAndroid Build Coastguard Worker base: { 141*89c4ff92SAndroid Build Coastguard Worker index: 0, 142*89c4ff92SAndroid Build Coastguard Worker layerName: "InputLayer", 143*89c4ff92SAndroid Build Coastguard Worker layerType: "Input", 144*89c4ff92SAndroid Build Coastguard Worker inputSlots: [{ 145*89c4ff92SAndroid Build Coastguard Worker index: 0, 146*89c4ff92SAndroid Build Coastguard Worker connection: {sourceLayerIndex:0, outputSlotIndex:0 }, 147*89c4ff92SAndroid Build Coastguard Worker }], 148*89c4ff92SAndroid Build Coastguard Worker outputSlots: [{ 149*89c4ff92SAndroid Build Coastguard Worker index: 0, 150*89c4ff92SAndroid Build Coastguard Worker tensorInfo: { 151*89c4ff92SAndroid Build Coastguard Worker dimensions: )" + inputShape1 + R"(, 152*89c4ff92SAndroid Build Coastguard Worker dataType: )" + dataType + R"(, 153*89c4ff92SAndroid Build Coastguard Worker quantizationScale: 0.5, 154*89c4ff92SAndroid Build Coastguard Worker quantizationOffset: 0 155*89c4ff92SAndroid Build Coastguard Worker }, 156*89c4ff92SAndroid Build Coastguard Worker }] 157*89c4ff92SAndroid Build Coastguard Worker }, 158*89c4ff92SAndroid Build Coastguard Worker } 159*89c4ff92SAndroid Build Coastguard Worker }, 160*89c4ff92SAndroid Build Coastguard Worker }, 161*89c4ff92SAndroid Build Coastguard Worker { 162*89c4ff92SAndroid Build Coastguard Worker layer_type: "Convolution2dLayer", 163*89c4ff92SAndroid Build Coastguard Worker layer : { 164*89c4ff92SAndroid Build Coastguard Worker base: { 165*89c4ff92SAndroid Build Coastguard Worker index:1, 166*89c4ff92SAndroid Build Coastguard Worker layerName: "Convolution2dLayer", 167*89c4ff92SAndroid Build Coastguard Worker layerType: "Convolution2d", 168*89c4ff92SAndroid Build Coastguard Worker inputSlots: [ 169*89c4ff92SAndroid Build Coastguard Worker { 170*89c4ff92SAndroid Build Coastguard Worker index: 0, 171*89c4ff92SAndroid Build Coastguard Worker connection: {sourceLayerIndex:0, outputSlotIndex:0 }, 172*89c4ff92SAndroid Build Coastguard Worker }, 173*89c4ff92SAndroid Build Coastguard Worker { 174*89c4ff92SAndroid Build Coastguard Worker index: 1, 175*89c4ff92SAndroid Build Coastguard Worker connection: { 176*89c4ff92SAndroid Build Coastguard Worker sourceLayerIndex: 2, 177*89c4ff92SAndroid Build Coastguard Worker outputSlotIndex: 0 178*89c4ff92SAndroid Build Coastguard Worker } 179*89c4ff92SAndroid Build Coastguard Worker } 180*89c4ff92SAndroid Build Coastguard Worker ], 181*89c4ff92SAndroid Build Coastguard Worker outputSlots: [ 182*89c4ff92SAndroid Build Coastguard Worker { 183*89c4ff92SAndroid Build Coastguard Worker index: 0, 184*89c4ff92SAndroid Build Coastguard Worker tensorInfo: { 185*89c4ff92SAndroid Build Coastguard Worker dimensions: )" + outputShape + R"(, 186*89c4ff92SAndroid Build Coastguard Worker dataType: )" + dataType + R"( 187*89c4ff92SAndroid Build Coastguard Worker }, 188*89c4ff92SAndroid Build Coastguard Worker } 189*89c4ff92SAndroid Build Coastguard Worker ], 190*89c4ff92SAndroid Build Coastguard Worker }, 191*89c4ff92SAndroid Build Coastguard Worker descriptor: { 192*89c4ff92SAndroid Build Coastguard Worker padLeft: 1, 193*89c4ff92SAndroid Build Coastguard Worker padRight: 1, 194*89c4ff92SAndroid Build Coastguard Worker padTop: 1, 195*89c4ff92SAndroid Build Coastguard Worker padBottom: 1, 196*89c4ff92SAndroid Build Coastguard Worker strideX: 2, 197*89c4ff92SAndroid Build Coastguard Worker strideY: 2, 198*89c4ff92SAndroid Build Coastguard Worker biasEnabled: false, 199*89c4ff92SAndroid Build Coastguard Worker dataLayout: NHWC 200*89c4ff92SAndroid Build Coastguard Worker } 201*89c4ff92SAndroid Build Coastguard Worker } 202*89c4ff92SAndroid Build Coastguard Worker }, 203*89c4ff92SAndroid Build Coastguard Worker { 204*89c4ff92SAndroid Build Coastguard Worker layer_type: "ConstantLayer", 205*89c4ff92SAndroid Build Coastguard Worker layer: { 206*89c4ff92SAndroid Build Coastguard Worker base: { 207*89c4ff92SAndroid Build Coastguard Worker index: 2, 208*89c4ff92SAndroid Build Coastguard Worker layerName: "Weights", 209*89c4ff92SAndroid Build Coastguard Worker layerType: "Constant", 210*89c4ff92SAndroid Build Coastguard Worker inputSlots: [ 211*89c4ff92SAndroid Build Coastguard Worker 212*89c4ff92SAndroid Build Coastguard Worker ], 213*89c4ff92SAndroid Build Coastguard Worker outputSlots: [ 214*89c4ff92SAndroid Build Coastguard Worker { 215*89c4ff92SAndroid Build Coastguard Worker index: 0, 216*89c4ff92SAndroid Build Coastguard Worker tensorInfo: { 217*89c4ff92SAndroid Build Coastguard Worker dimensions: )" + weightsShape + R"(, 218*89c4ff92SAndroid Build Coastguard Worker dataType: )" + dataType + R"(, 219*89c4ff92SAndroid Build Coastguard Worker quantizationScale: 0.1, 220*89c4ff92SAndroid Build Coastguard Worker dimensionSpecificity: [ 221*89c4ff92SAndroid Build Coastguard Worker true, 222*89c4ff92SAndroid Build Coastguard Worker true, 223*89c4ff92SAndroid Build Coastguard Worker true, 224*89c4ff92SAndroid Build Coastguard Worker true 225*89c4ff92SAndroid Build Coastguard Worker ] 226*89c4ff92SAndroid Build Coastguard Worker } 227*89c4ff92SAndroid Build Coastguard Worker } 228*89c4ff92SAndroid Build Coastguard Worker ] 229*89c4ff92SAndroid Build Coastguard Worker }, 230*89c4ff92SAndroid Build Coastguard Worker input: { 231*89c4ff92SAndroid Build Coastguard Worker info: { 232*89c4ff92SAndroid Build Coastguard Worker dimensions: )" + weightsShape + R"(, 233*89c4ff92SAndroid Build Coastguard Worker dataType: )" + dataType + R"(, 234*89c4ff92SAndroid Build Coastguard Worker quantizationScale: 0.1, 235*89c4ff92SAndroid Build Coastguard Worker dimensionSpecificity: [ 236*89c4ff92SAndroid Build Coastguard Worker true, 237*89c4ff92SAndroid Build Coastguard Worker true, 238*89c4ff92SAndroid Build Coastguard Worker true, 239*89c4ff92SAndroid Build Coastguard Worker true 240*89c4ff92SAndroid Build Coastguard Worker ] 241*89c4ff92SAndroid Build Coastguard Worker }, 242*89c4ff92SAndroid Build Coastguard Worker data_type: "IntData", 243*89c4ff92SAndroid Build Coastguard Worker data: { 244*89c4ff92SAndroid Build Coastguard Worker data: [ 245*89c4ff92SAndroid Build Coastguard Worker 1082130432, 1084227584, 1086324736, 246*89c4ff92SAndroid Build Coastguard Worker 0 ,0 ,0 , 247*89c4ff92SAndroid Build Coastguard Worker 1077936128, 1073741824, 1065353216 248*89c4ff92SAndroid Build Coastguard Worker ] 249*89c4ff92SAndroid Build Coastguard Worker } 250*89c4ff92SAndroid Build Coastguard Worker } 251*89c4ff92SAndroid Build Coastguard Worker } 252*89c4ff92SAndroid Build Coastguard Worker }, 253*89c4ff92SAndroid Build Coastguard Worker { 254*89c4ff92SAndroid Build Coastguard Worker layer_type: "OutputLayer", 255*89c4ff92SAndroid Build Coastguard Worker layer: { 256*89c4ff92SAndroid Build Coastguard Worker base:{ 257*89c4ff92SAndroid Build Coastguard Worker layerBindingId: 0, 258*89c4ff92SAndroid Build Coastguard Worker base: { 259*89c4ff92SAndroid Build Coastguard Worker index: 3, 260*89c4ff92SAndroid Build Coastguard Worker layerName: "OutputLayer", 261*89c4ff92SAndroid Build Coastguard Worker layerType: "Output", 262*89c4ff92SAndroid Build Coastguard Worker inputSlots: [{ 263*89c4ff92SAndroid Build Coastguard Worker index: 0, 264*89c4ff92SAndroid Build Coastguard Worker "connection": { 265*89c4ff92SAndroid Build Coastguard Worker "sourceLayerIndex": 1, 266*89c4ff92SAndroid Build Coastguard Worker "outputSlotIndex": 0 267*89c4ff92SAndroid Build Coastguard Worker } 268*89c4ff92SAndroid Build Coastguard Worker }], 269*89c4ff92SAndroid Build Coastguard Worker outputSlots: [ { 270*89c4ff92SAndroid Build Coastguard Worker index: 0, 271*89c4ff92SAndroid Build Coastguard Worker tensorInfo: { 272*89c4ff92SAndroid Build Coastguard Worker dimensions: )" + outputShape + R"(, 273*89c4ff92SAndroid Build Coastguard Worker dataType: )" + dataType + R"( 274*89c4ff92SAndroid Build Coastguard Worker }, 275*89c4ff92SAndroid Build Coastguard Worker }], 276*89c4ff92SAndroid Build Coastguard Worker } 277*89c4ff92SAndroid Build Coastguard Worker }}, 278*89c4ff92SAndroid Build Coastguard Worker }], 279*89c4ff92SAndroid Build Coastguard Worker "featureVersions": { 280*89c4ff92SAndroid Build Coastguard Worker "constantTensorsAsInputs": 1, 281*89c4ff92SAndroid Build Coastguard Worker "weightsLayoutScheme": 1 282*89c4ff92SAndroid Build Coastguard Worker } 283*89c4ff92SAndroid Build Coastguard Worker } 284*89c4ff92SAndroid Build Coastguard Worker )"; 285*89c4ff92SAndroid Build Coastguard Worker Setup(); 286*89c4ff92SAndroid Build Coastguard Worker } 287*89c4ff92SAndroid Build Coastguard Worker }; 288*89c4ff92SAndroid Build Coastguard Worker 289*89c4ff92SAndroid Build Coastguard Worker struct SimpleConvolution2dFixture : Convolution2dFixture 290*89c4ff92SAndroid Build Coastguard Worker { SimpleConvolution2dFixtureSimpleConvolution2dFixture291*89c4ff92SAndroid Build Coastguard Worker SimpleConvolution2dFixture() : Convolution2dFixture("[ 1, 5, 5, 1 ]", 292*89c4ff92SAndroid Build Coastguard Worker "[ 1, 3, 3, 1 ]", 293*89c4ff92SAndroid Build Coastguard Worker "[ 1, 3, 3, 1 ]", 294*89c4ff92SAndroid Build Coastguard Worker "Float32") {} 295*89c4ff92SAndroid Build Coastguard Worker }; 296*89c4ff92SAndroid Build Coastguard Worker 297*89c4ff92SAndroid Build Coastguard Worker TEST_CASE_FIXTURE(SimpleConvolution2dFixture, "Convolution2dFloat32") 298*89c4ff92SAndroid Build Coastguard Worker { 299*89c4ff92SAndroid Build Coastguard Worker RunTest<4, armnn::DataType::Float32>( 300*89c4ff92SAndroid Build Coastguard Worker 0, 301*89c4ff92SAndroid Build Coastguard Worker {{"InputLayer", {1, 5, 2, 3, 5, 8, 7, 3, 6, 3, 3, 3, 9, 1, 9, 4, 1, 8, 1, 3, 6, 8, 1, 9, 2}}}, 302*89c4ff92SAndroid Build Coastguard Worker {{"OutputLayer", {23, 33, 24, 91, 99, 48, 26, 50, 19}}}); 303*89c4ff92SAndroid Build Coastguard Worker } 304*89c4ff92SAndroid Build Coastguard Worker 305*89c4ff92SAndroid Build Coastguard Worker 306*89c4ff92SAndroid Build Coastguard Worker struct SimpleConvolution2dFixtureConstantAsInput : Convolution2dFixtureConstantAsInput 307*89c4ff92SAndroid Build Coastguard Worker { SimpleConvolution2dFixtureConstantAsInputSimpleConvolution2dFixtureConstantAsInput308*89c4ff92SAndroid Build Coastguard Worker SimpleConvolution2dFixtureConstantAsInput() : Convolution2dFixtureConstantAsInput("[ 1, 5, 5, 1 ]", 309*89c4ff92SAndroid Build Coastguard Worker "[ 1, 3, 3, 1 ]", 310*89c4ff92SAndroid Build Coastguard Worker "[ 1, 3, 3, 1 ]", 311*89c4ff92SAndroid Build Coastguard Worker "Float32") {} 312*89c4ff92SAndroid Build Coastguard Worker }; 313*89c4ff92SAndroid Build Coastguard Worker 314*89c4ff92SAndroid Build Coastguard Worker TEST_CASE_FIXTURE(SimpleConvolution2dFixtureConstantAsInput, "Convolution2dFloat32ConstAsInput") 315*89c4ff92SAndroid Build Coastguard Worker { 316*89c4ff92SAndroid Build Coastguard Worker RunTest<4, armnn::DataType::Float32>( 317*89c4ff92SAndroid Build Coastguard Worker 0, 318*89c4ff92SAndroid Build Coastguard Worker {{"InputLayer", {1, 5, 2, 3, 5, 8, 7, 3, 6, 3, 3, 3, 9, 1, 9, 4, 1, 8, 1, 3, 6, 8, 1, 9, 2}}}, 319*89c4ff92SAndroid Build Coastguard Worker {{"OutputLayer", {23, 33, 24, 91, 99, 48, 26, 50, 19}}}); 320*89c4ff92SAndroid Build Coastguard Worker } 321*89c4ff92SAndroid Build Coastguard Worker 322*89c4ff92SAndroid Build Coastguard Worker } 323