1*89c4ff92SAndroid Build Coastguard Worker // 2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2021 Arm Ltd and Contributors. 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 "ParserFlatbuffersFixture.hpp" 7*89c4ff92SAndroid Build Coastguard Worker 8*89c4ff92SAndroid Build Coastguard Worker 9*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("TensorflowLiteParser_Reshape_Dynamic") 10*89c4ff92SAndroid Build Coastguard Worker { 11*89c4ff92SAndroid Build Coastguard Worker struct ReshapeDynamicFixture1 : public ParserFlatbuffersFixture 12*89c4ff92SAndroid Build Coastguard Worker { ReshapeDynamicFixture1ReshapeDynamicFixture113*89c4ff92SAndroid Build Coastguard Worker explicit ReshapeDynamicFixture1() 14*89c4ff92SAndroid Build Coastguard Worker { 15*89c4ff92SAndroid Build Coastguard Worker m_JsonString = R"( 16*89c4ff92SAndroid Build Coastguard Worker { 17*89c4ff92SAndroid Build Coastguard Worker "version": 3, 18*89c4ff92SAndroid Build Coastguard Worker "operator_codes": [ 19*89c4ff92SAndroid Build Coastguard Worker { 20*89c4ff92SAndroid Build Coastguard Worker "deprecated_builtin_code": 77, 21*89c4ff92SAndroid Build Coastguard Worker "version": 1, 22*89c4ff92SAndroid Build Coastguard Worker "builtin_code": "ADD" 23*89c4ff92SAndroid Build Coastguard Worker }, 24*89c4ff92SAndroid Build Coastguard Worker { 25*89c4ff92SAndroid Build Coastguard Worker "deprecated_builtin_code": 22, 26*89c4ff92SAndroid Build Coastguard Worker "version": 1, 27*89c4ff92SAndroid Build Coastguard Worker "builtin_code": "ADD" 28*89c4ff92SAndroid Build Coastguard Worker } 29*89c4ff92SAndroid Build Coastguard Worker ], 30*89c4ff92SAndroid Build Coastguard Worker "subgraphs": [ 31*89c4ff92SAndroid Build Coastguard Worker { 32*89c4ff92SAndroid Build Coastguard Worker "tensors": [ 33*89c4ff92SAndroid Build Coastguard Worker { 34*89c4ff92SAndroid Build Coastguard Worker "shape": [ 35*89c4ff92SAndroid Build Coastguard Worker 2, 36*89c4ff92SAndroid Build Coastguard Worker 5 37*89c4ff92SAndroid Build Coastguard Worker ], 38*89c4ff92SAndroid Build Coastguard Worker "type": "FLOAT32", 39*89c4ff92SAndroid Build Coastguard Worker "buffer": 1, 40*89c4ff92SAndroid Build Coastguard Worker "name": "input_33", 41*89c4ff92SAndroid Build Coastguard Worker "quantization": { 42*89c4ff92SAndroid Build Coastguard Worker "details_type": "NONE", 43*89c4ff92SAndroid Build Coastguard Worker "quantized_dimension": 0 44*89c4ff92SAndroid Build Coastguard Worker }, 45*89c4ff92SAndroid Build Coastguard Worker "is_variable": false, 46*89c4ff92SAndroid Build Coastguard Worker "shape_signature": [ 47*89c4ff92SAndroid Build Coastguard Worker -1, 48*89c4ff92SAndroid Build Coastguard Worker 10 49*89c4ff92SAndroid Build Coastguard Worker ] 50*89c4ff92SAndroid Build Coastguard Worker }, 51*89c4ff92SAndroid Build Coastguard Worker { 52*89c4ff92SAndroid Build Coastguard Worker "shape": [ 53*89c4ff92SAndroid Build Coastguard Worker 2 54*89c4ff92SAndroid Build Coastguard Worker ], 55*89c4ff92SAndroid Build Coastguard Worker "type": "INT32", 56*89c4ff92SAndroid Build Coastguard Worker "buffer": 2, 57*89c4ff92SAndroid Build Coastguard Worker "name": "functional_15/tf_op_layer_Shape_9/Shape_9", 58*89c4ff92SAndroid Build Coastguard Worker "quantization": { 59*89c4ff92SAndroid Build Coastguard Worker "details_type": "NONE", 60*89c4ff92SAndroid Build Coastguard Worker "quantized_dimension": 0 61*89c4ff92SAndroid Build Coastguard Worker }, 62*89c4ff92SAndroid Build Coastguard Worker "is_variable": false 63*89c4ff92SAndroid Build Coastguard Worker }, 64*89c4ff92SAndroid Build Coastguard Worker { 65*89c4ff92SAndroid Build Coastguard Worker "shape": [ 66*89c4ff92SAndroid Build Coastguard Worker 2, 67*89c4ff92SAndroid Build Coastguard Worker 5 68*89c4ff92SAndroid Build Coastguard Worker ], 69*89c4ff92SAndroid Build Coastguard Worker "type": "FLOAT32", 70*89c4ff92SAndroid Build Coastguard Worker "buffer": 3, 71*89c4ff92SAndroid Build Coastguard Worker "name": "Identity", 72*89c4ff92SAndroid Build Coastguard Worker "quantization": { 73*89c4ff92SAndroid Build Coastguard Worker "details_type": "NONE", 74*89c4ff92SAndroid Build Coastguard Worker "quantized_dimension": 0 75*89c4ff92SAndroid Build Coastguard Worker }, 76*89c4ff92SAndroid Build Coastguard Worker "is_variable": false, 77*89c4ff92SAndroid Build Coastguard Worker "shape_signature": [ 78*89c4ff92SAndroid Build Coastguard Worker -1, 79*89c4ff92SAndroid Build Coastguard Worker 5 80*89c4ff92SAndroid Build Coastguard Worker ] 81*89c4ff92SAndroid Build Coastguard Worker } 82*89c4ff92SAndroid Build Coastguard Worker ], 83*89c4ff92SAndroid Build Coastguard Worker "inputs": [ 84*89c4ff92SAndroid Build Coastguard Worker 0 85*89c4ff92SAndroid Build Coastguard Worker ], 86*89c4ff92SAndroid Build Coastguard Worker "outputs": [ 87*89c4ff92SAndroid Build Coastguard Worker 2 88*89c4ff92SAndroid Build Coastguard Worker ], 89*89c4ff92SAndroid Build Coastguard Worker "operators": [ 90*89c4ff92SAndroid Build Coastguard Worker { 91*89c4ff92SAndroid Build Coastguard Worker "opcode_index": 0, 92*89c4ff92SAndroid Build Coastguard Worker "inputs": [ 93*89c4ff92SAndroid Build Coastguard Worker 0 94*89c4ff92SAndroid Build Coastguard Worker ], 95*89c4ff92SAndroid Build Coastguard Worker "outputs": [ 96*89c4ff92SAndroid Build Coastguard Worker 1 97*89c4ff92SAndroid Build Coastguard Worker ], 98*89c4ff92SAndroid Build Coastguard Worker "builtin_options_type": "ShapeOptions", 99*89c4ff92SAndroid Build Coastguard Worker "builtin_options": { 100*89c4ff92SAndroid Build Coastguard Worker "out_type": "INT32" 101*89c4ff92SAndroid Build Coastguard Worker }, 102*89c4ff92SAndroid Build Coastguard Worker "custom_options_format": "FLEXBUFFERS" 103*89c4ff92SAndroid Build Coastguard Worker }, 104*89c4ff92SAndroid Build Coastguard Worker { 105*89c4ff92SAndroid Build Coastguard Worker "opcode_index": 1, 106*89c4ff92SAndroid Build Coastguard Worker "inputs": [ 107*89c4ff92SAndroid Build Coastguard Worker 0, 108*89c4ff92SAndroid Build Coastguard Worker 1 109*89c4ff92SAndroid Build Coastguard Worker ], 110*89c4ff92SAndroid Build Coastguard Worker "outputs": [ 111*89c4ff92SAndroid Build Coastguard Worker 2 112*89c4ff92SAndroid Build Coastguard Worker ], 113*89c4ff92SAndroid Build Coastguard Worker "builtin_options_type": "NONE", 114*89c4ff92SAndroid Build Coastguard Worker "custom_options_format": "FLEXBUFFERS" 115*89c4ff92SAndroid Build Coastguard Worker } 116*89c4ff92SAndroid Build Coastguard Worker ], 117*89c4ff92SAndroid Build Coastguard Worker "name": "main" 118*89c4ff92SAndroid Build Coastguard Worker } 119*89c4ff92SAndroid Build Coastguard Worker ], 120*89c4ff92SAndroid Build Coastguard Worker "description": "MLIR Converted.", 121*89c4ff92SAndroid Build Coastguard Worker "buffers": [ 122*89c4ff92SAndroid Build Coastguard Worker { 123*89c4ff92SAndroid Build Coastguard Worker }, 124*89c4ff92SAndroid Build Coastguard Worker { 125*89c4ff92SAndroid Build Coastguard Worker }, 126*89c4ff92SAndroid Build Coastguard Worker { 127*89c4ff92SAndroid Build Coastguard Worker }, 128*89c4ff92SAndroid Build Coastguard Worker { 129*89c4ff92SAndroid Build Coastguard Worker }, 130*89c4ff92SAndroid Build Coastguard Worker { 131*89c4ff92SAndroid Build Coastguard Worker "data": [ 132*89c4ff92SAndroid Build Coastguard Worker 49, 133*89c4ff92SAndroid Build Coastguard Worker 46, 134*89c4ff92SAndroid Build Coastguard Worker 49, 135*89c4ff92SAndroid Build Coastguard Worker 48, 136*89c4ff92SAndroid Build Coastguard Worker 46, 137*89c4ff92SAndroid Build Coastguard Worker 48, 138*89c4ff92SAndroid Build Coastguard Worker 0, 139*89c4ff92SAndroid Build Coastguard Worker 0, 140*89c4ff92SAndroid Build Coastguard Worker 0, 141*89c4ff92SAndroid Build Coastguard Worker 0, 142*89c4ff92SAndroid Build Coastguard Worker 0, 143*89c4ff92SAndroid Build Coastguard Worker 0, 144*89c4ff92SAndroid Build Coastguard Worker 0, 145*89c4ff92SAndroid Build Coastguard Worker 0, 146*89c4ff92SAndroid Build Coastguard Worker 0, 147*89c4ff92SAndroid Build Coastguard Worker 0 148*89c4ff92SAndroid Build Coastguard Worker ] 149*89c4ff92SAndroid Build Coastguard Worker } 150*89c4ff92SAndroid Build Coastguard Worker ], 151*89c4ff92SAndroid Build Coastguard Worker "metadata": [ 152*89c4ff92SAndroid Build Coastguard Worker { 153*89c4ff92SAndroid Build Coastguard Worker "name": "min_runtime_version", 154*89c4ff92SAndroid Build Coastguard Worker "buffer": 4 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 163*89c4ff92SAndroid Build Coastguard Worker // ParseReshape test case: reshapeShapes[0] == 2 164*89c4ff92SAndroid Build Coastguard Worker TEST_CASE_FIXTURE(ReshapeDynamicFixture1, "ParseReshapeDynamic1") 165*89c4ff92SAndroid Build Coastguard Worker { 166*89c4ff92SAndroid Build Coastguard Worker SetupSingleInputSingleOutput("input_33", "Identity"); 167*89c4ff92SAndroid Build Coastguard Worker RunTest<2, armnn::DataType::Float32>(0, 168*89c4ff92SAndroid Build Coastguard Worker { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, 169*89c4ff92SAndroid Build Coastguard Worker { 1, 2, 3, 4, 5, 170*89c4ff92SAndroid Build Coastguard Worker 6, 7, 8, 9, 10 }); 171*89c4ff92SAndroid Build Coastguard Worker 172*89c4ff92SAndroid Build Coastguard Worker CHECK((m_Parser->GetNetworkOutputBindingInfo(0, "Identity").second.GetShape() 173*89c4ff92SAndroid Build Coastguard Worker == armnn::TensorShape({2,5}))); 174*89c4ff92SAndroid Build Coastguard Worker } 175*89c4ff92SAndroid Build Coastguard Worker 176*89c4ff92SAndroid Build Coastguard Worker struct ReshapeDynamicFixture2 : public ParserFlatbuffersFixture 177*89c4ff92SAndroid Build Coastguard Worker { ReshapeDynamicFixture2ReshapeDynamicFixture2178*89c4ff92SAndroid Build Coastguard Worker explicit ReshapeDynamicFixture2() 179*89c4ff92SAndroid Build Coastguard Worker { 180*89c4ff92SAndroid Build Coastguard Worker m_JsonString = R"( 181*89c4ff92SAndroid Build Coastguard Worker { 182*89c4ff92SAndroid Build Coastguard Worker "version": 3, 183*89c4ff92SAndroid Build Coastguard Worker "operator_codes": [ 184*89c4ff92SAndroid Build Coastguard Worker { 185*89c4ff92SAndroid Build Coastguard Worker "deprecated_builtin_code": 77, 186*89c4ff92SAndroid Build Coastguard Worker "version": 1, 187*89c4ff92SAndroid Build Coastguard Worker "builtin_code": "ADD" 188*89c4ff92SAndroid Build Coastguard Worker }, 189*89c4ff92SAndroid Build Coastguard Worker { 190*89c4ff92SAndroid Build Coastguard Worker "deprecated_builtin_code": 22, 191*89c4ff92SAndroid Build Coastguard Worker "version": 1, 192*89c4ff92SAndroid Build Coastguard Worker "builtin_code": "ADD" 193*89c4ff92SAndroid Build Coastguard Worker } 194*89c4ff92SAndroid Build Coastguard Worker ], 195*89c4ff92SAndroid Build Coastguard Worker "subgraphs": [ 196*89c4ff92SAndroid Build Coastguard Worker { 197*89c4ff92SAndroid Build Coastguard Worker "tensors": [ 198*89c4ff92SAndroid Build Coastguard Worker { 199*89c4ff92SAndroid Build Coastguard Worker "shape": [ 200*89c4ff92SAndroid Build Coastguard Worker -1, 201*89c4ff92SAndroid Build Coastguard Worker 10 202*89c4ff92SAndroid Build Coastguard Worker ], 203*89c4ff92SAndroid Build Coastguard Worker "type": "FLOAT32", 204*89c4ff92SAndroid Build Coastguard Worker "buffer": 1, 205*89c4ff92SAndroid Build Coastguard Worker "name": "input_33", 206*89c4ff92SAndroid Build Coastguard Worker "quantization": { 207*89c4ff92SAndroid Build Coastguard Worker "details_type": "NONE", 208*89c4ff92SAndroid Build Coastguard Worker "quantized_dimension": 0 209*89c4ff92SAndroid Build Coastguard Worker }, 210*89c4ff92SAndroid Build Coastguard Worker "is_variable": false, 211*89c4ff92SAndroid Build Coastguard Worker "shape_signature": [ 212*89c4ff92SAndroid Build Coastguard Worker 2, 213*89c4ff92SAndroid Build Coastguard Worker 5 214*89c4ff92SAndroid Build Coastguard Worker ] 215*89c4ff92SAndroid Build Coastguard Worker }, 216*89c4ff92SAndroid Build Coastguard Worker { 217*89c4ff92SAndroid Build Coastguard Worker "shape": [ 218*89c4ff92SAndroid Build Coastguard Worker 1 219*89c4ff92SAndroid Build Coastguard Worker ], 220*89c4ff92SAndroid Build Coastguard Worker "type": "INT32", 221*89c4ff92SAndroid Build Coastguard Worker "buffer": 2, 222*89c4ff92SAndroid Build Coastguard Worker "name": "functional_15/tf_op_layer_Shape_9/Shape_9", 223*89c4ff92SAndroid Build Coastguard Worker "quantization": { 224*89c4ff92SAndroid Build Coastguard Worker "details_type": "NONE", 225*89c4ff92SAndroid Build Coastguard Worker "quantized_dimension": 0 226*89c4ff92SAndroid Build Coastguard Worker }, 227*89c4ff92SAndroid Build Coastguard Worker "is_variable": false 228*89c4ff92SAndroid Build Coastguard Worker }, 229*89c4ff92SAndroid Build Coastguard Worker { 230*89c4ff92SAndroid Build Coastguard Worker "shape": [ 231*89c4ff92SAndroid Build Coastguard Worker 10 232*89c4ff92SAndroid Build Coastguard Worker ], 233*89c4ff92SAndroid Build Coastguard Worker "type": "FLOAT32", 234*89c4ff92SAndroid Build Coastguard Worker "buffer": 3, 235*89c4ff92SAndroid Build Coastguard Worker "name": "Identity", 236*89c4ff92SAndroid Build Coastguard Worker "quantization": { 237*89c4ff92SAndroid Build Coastguard Worker "details_type": "NONE", 238*89c4ff92SAndroid Build Coastguard Worker "quantized_dimension": 0 239*89c4ff92SAndroid Build Coastguard Worker }, 240*89c4ff92SAndroid Build Coastguard Worker "is_variable": false, 241*89c4ff92SAndroid Build Coastguard Worker "shape_signature": [ 242*89c4ff92SAndroid Build Coastguard Worker -1, 243*89c4ff92SAndroid Build Coastguard Worker 10 244*89c4ff92SAndroid Build Coastguard Worker ] 245*89c4ff92SAndroid Build Coastguard Worker } 246*89c4ff92SAndroid Build Coastguard Worker ], 247*89c4ff92SAndroid Build Coastguard Worker "inputs": [ 248*89c4ff92SAndroid Build Coastguard Worker 0 249*89c4ff92SAndroid Build Coastguard Worker ], 250*89c4ff92SAndroid Build Coastguard Worker "outputs": [ 251*89c4ff92SAndroid Build Coastguard Worker 2 252*89c4ff92SAndroid Build Coastguard Worker ], 253*89c4ff92SAndroid Build Coastguard Worker "operators": [ 254*89c4ff92SAndroid Build Coastguard Worker { 255*89c4ff92SAndroid Build Coastguard Worker "opcode_index": 0, 256*89c4ff92SAndroid Build Coastguard Worker "inputs": [ 257*89c4ff92SAndroid Build Coastguard Worker 0 258*89c4ff92SAndroid Build Coastguard Worker ], 259*89c4ff92SAndroid Build Coastguard Worker "outputs": [ 260*89c4ff92SAndroid Build Coastguard Worker 1 261*89c4ff92SAndroid Build Coastguard Worker ], 262*89c4ff92SAndroid Build Coastguard Worker "builtin_options_type": "ShapeOptions", 263*89c4ff92SAndroid Build Coastguard Worker "builtin_options": { 264*89c4ff92SAndroid Build Coastguard Worker "out_type": "INT32" 265*89c4ff92SAndroid Build Coastguard Worker }, 266*89c4ff92SAndroid Build Coastguard Worker "custom_options_format": "FLEXBUFFERS" 267*89c4ff92SAndroid Build Coastguard Worker }, 268*89c4ff92SAndroid Build Coastguard Worker { 269*89c4ff92SAndroid Build Coastguard Worker "opcode_index": 1, 270*89c4ff92SAndroid Build Coastguard Worker "inputs": [ 271*89c4ff92SAndroid Build Coastguard Worker 0, 272*89c4ff92SAndroid Build Coastguard Worker 1 273*89c4ff92SAndroid Build Coastguard Worker ], 274*89c4ff92SAndroid Build Coastguard Worker "outputs": [ 275*89c4ff92SAndroid Build Coastguard Worker 2 276*89c4ff92SAndroid Build Coastguard Worker ], 277*89c4ff92SAndroid Build Coastguard Worker "builtin_options_type": "NONE", 278*89c4ff92SAndroid Build Coastguard Worker "custom_options_format": "FLEXBUFFERS" 279*89c4ff92SAndroid Build Coastguard Worker } 280*89c4ff92SAndroid Build Coastguard Worker ], 281*89c4ff92SAndroid Build Coastguard Worker "name": "main" 282*89c4ff92SAndroid Build Coastguard Worker } 283*89c4ff92SAndroid Build Coastguard Worker ], 284*89c4ff92SAndroid Build Coastguard Worker "description": "MLIR Converted.", 285*89c4ff92SAndroid Build Coastguard Worker "buffers": [ 286*89c4ff92SAndroid Build Coastguard Worker { 287*89c4ff92SAndroid Build Coastguard Worker }, 288*89c4ff92SAndroid Build Coastguard Worker { 289*89c4ff92SAndroid Build Coastguard Worker }, 290*89c4ff92SAndroid Build Coastguard Worker { 291*89c4ff92SAndroid Build Coastguard Worker }, 292*89c4ff92SAndroid Build Coastguard Worker { 293*89c4ff92SAndroid Build Coastguard Worker }, 294*89c4ff92SAndroid Build Coastguard Worker { 295*89c4ff92SAndroid Build Coastguard Worker "data": [ 296*89c4ff92SAndroid Build Coastguard Worker 49, 297*89c4ff92SAndroid Build Coastguard Worker 46, 298*89c4ff92SAndroid Build Coastguard Worker 49, 299*89c4ff92SAndroid Build Coastguard Worker 48, 300*89c4ff92SAndroid Build Coastguard Worker 46, 301*89c4ff92SAndroid Build Coastguard Worker 48, 302*89c4ff92SAndroid Build Coastguard Worker 0, 303*89c4ff92SAndroid Build Coastguard Worker 0, 304*89c4ff92SAndroid Build Coastguard Worker 0, 305*89c4ff92SAndroid Build Coastguard Worker 0, 306*89c4ff92SAndroid Build Coastguard Worker 0, 307*89c4ff92SAndroid Build Coastguard Worker 0, 308*89c4ff92SAndroid Build Coastguard Worker 0, 309*89c4ff92SAndroid Build Coastguard Worker 0, 310*89c4ff92SAndroid Build Coastguard Worker 0, 311*89c4ff92SAndroid Build Coastguard Worker 0 312*89c4ff92SAndroid Build Coastguard Worker ] 313*89c4ff92SAndroid Build Coastguard Worker } 314*89c4ff92SAndroid Build Coastguard Worker ], 315*89c4ff92SAndroid Build Coastguard Worker "metadata": [ 316*89c4ff92SAndroid Build Coastguard Worker { 317*89c4ff92SAndroid Build Coastguard Worker "name": "min_runtime_version", 318*89c4ff92SAndroid Build Coastguard Worker "buffer": 4 319*89c4ff92SAndroid Build Coastguard Worker } 320*89c4ff92SAndroid Build Coastguard Worker ] 321*89c4ff92SAndroid Build Coastguard Worker } 322*89c4ff92SAndroid Build Coastguard Worker )"; 323*89c4ff92SAndroid Build Coastguard Worker 324*89c4ff92SAndroid Build Coastguard Worker } 325*89c4ff92SAndroid Build Coastguard Worker }; 326*89c4ff92SAndroid Build Coastguard Worker 327*89c4ff92SAndroid Build Coastguard Worker // ParseReshape test case: reshapeShapes[0] == 1 328*89c4ff92SAndroid Build Coastguard Worker TEST_CASE_FIXTURE(ReshapeDynamicFixture2, "ParseReshapeDynamic2") 329*89c4ff92SAndroid Build Coastguard Worker { 330*89c4ff92SAndroid Build Coastguard Worker SetupSingleInputSingleOutput("input_33", "Identity"); 331*89c4ff92SAndroid Build Coastguard Worker RunTest<1, armnn::DataType::Float32>(0, 332*89c4ff92SAndroid Build Coastguard Worker { 1, 2, 3, 4, 5, 333*89c4ff92SAndroid Build Coastguard Worker 6, 7, 8, 9, 10 }, 334*89c4ff92SAndroid Build Coastguard Worker { 1, 2, 3, 4, 5, 6, 7, 8 ,9, 10 }); 335*89c4ff92SAndroid Build Coastguard Worker CHECK((m_Parser->GetNetworkOutputBindingInfo(0, "Identity").second.GetShape() 336*89c4ff92SAndroid Build Coastguard Worker == armnn::TensorShape({10}))); 337*89c4ff92SAndroid Build Coastguard Worker } 338*89c4ff92SAndroid Build Coastguard Worker 339*89c4ff92SAndroid Build Coastguard Worker struct ReshapeDynamicFixture3 : public ParserFlatbuffersFixture 340*89c4ff92SAndroid Build Coastguard Worker { ReshapeDynamicFixture3ReshapeDynamicFixture3341*89c4ff92SAndroid Build Coastguard Worker explicit ReshapeDynamicFixture3() 342*89c4ff92SAndroid Build Coastguard Worker { 343*89c4ff92SAndroid Build Coastguard Worker m_JsonString = R"( 344*89c4ff92SAndroid Build Coastguard Worker { 345*89c4ff92SAndroid Build Coastguard Worker "version": 3, 346*89c4ff92SAndroid Build Coastguard Worker "operator_codes": [ 347*89c4ff92SAndroid Build Coastguard Worker { 348*89c4ff92SAndroid Build Coastguard Worker "deprecated_builtin_code": 77, 349*89c4ff92SAndroid Build Coastguard Worker "version": 1, 350*89c4ff92SAndroid Build Coastguard Worker "builtin_code": "ADD" 351*89c4ff92SAndroid Build Coastguard Worker }, 352*89c4ff92SAndroid Build Coastguard Worker { 353*89c4ff92SAndroid Build Coastguard Worker "deprecated_builtin_code": 22, 354*89c4ff92SAndroid Build Coastguard Worker "version": 1, 355*89c4ff92SAndroid Build Coastguard Worker "builtin_code": "ADD" 356*89c4ff92SAndroid Build Coastguard Worker } 357*89c4ff92SAndroid Build Coastguard Worker ], 358*89c4ff92SAndroid Build Coastguard Worker "subgraphs": [ 359*89c4ff92SAndroid Build Coastguard Worker { 360*89c4ff92SAndroid Build Coastguard Worker "tensors": [ 361*89c4ff92SAndroid Build Coastguard Worker { 362*89c4ff92SAndroid Build Coastguard Worker "shape": [ 363*89c4ff92SAndroid Build Coastguard Worker 1, 364*89c4ff92SAndroid Build Coastguard Worker 9 365*89c4ff92SAndroid Build Coastguard Worker ], 366*89c4ff92SAndroid Build Coastguard Worker "type": "FLOAT32", 367*89c4ff92SAndroid Build Coastguard Worker "buffer": 1, 368*89c4ff92SAndroid Build Coastguard Worker "name": "input_33", 369*89c4ff92SAndroid Build Coastguard Worker "quantization": { 370*89c4ff92SAndroid Build Coastguard Worker "details_type": "NONE", 371*89c4ff92SAndroid Build Coastguard Worker "quantized_dimension": 0 372*89c4ff92SAndroid Build Coastguard Worker }, 373*89c4ff92SAndroid Build Coastguard Worker "is_variable": false, 374*89c4ff92SAndroid Build Coastguard Worker "shape_signature": [ 375*89c4ff92SAndroid Build Coastguard Worker -1, 376*89c4ff92SAndroid Build Coastguard Worker 9 377*89c4ff92SAndroid Build Coastguard Worker ] 378*89c4ff92SAndroid Build Coastguard Worker }, 379*89c4ff92SAndroid Build Coastguard Worker { 380*89c4ff92SAndroid Build Coastguard Worker "shape": [ 381*89c4ff92SAndroid Build Coastguard Worker 3 382*89c4ff92SAndroid Build Coastguard Worker ], 383*89c4ff92SAndroid Build Coastguard Worker "type": "INT32", 384*89c4ff92SAndroid Build Coastguard Worker "buffer": 2, 385*89c4ff92SAndroid Build Coastguard Worker "name": "functional_15/tf_op_layer_Shape_9/Shape_9", 386*89c4ff92SAndroid Build Coastguard Worker "quantization": { 387*89c4ff92SAndroid Build Coastguard Worker "details_type": "NONE", 388*89c4ff92SAndroid Build Coastguard Worker "quantized_dimension": 0 389*89c4ff92SAndroid Build Coastguard Worker }, 390*89c4ff92SAndroid Build Coastguard Worker "is_variable": false 391*89c4ff92SAndroid Build Coastguard Worker }, 392*89c4ff92SAndroid Build Coastguard Worker { 393*89c4ff92SAndroid Build Coastguard Worker "shape": [ 394*89c4ff92SAndroid Build Coastguard Worker 1, 395*89c4ff92SAndroid Build Coastguard Worker 9 396*89c4ff92SAndroid Build Coastguard Worker ], 397*89c4ff92SAndroid Build Coastguard Worker "type": "FLOAT32", 398*89c4ff92SAndroid Build Coastguard Worker "buffer": 3, 399*89c4ff92SAndroid Build Coastguard Worker "name": "Identity", 400*89c4ff92SAndroid Build Coastguard Worker "quantization": { 401*89c4ff92SAndroid Build Coastguard Worker "details_type": "NONE", 402*89c4ff92SAndroid Build Coastguard Worker "quantized_dimension": 0 403*89c4ff92SAndroid Build Coastguard Worker }, 404*89c4ff92SAndroid Build Coastguard Worker "is_variable": false, 405*89c4ff92SAndroid Build Coastguard Worker "shape_signature": [ 406*89c4ff92SAndroid Build Coastguard Worker -1, 407*89c4ff92SAndroid Build Coastguard Worker 9 408*89c4ff92SAndroid Build Coastguard Worker ] 409*89c4ff92SAndroid Build Coastguard Worker } 410*89c4ff92SAndroid Build Coastguard Worker ], 411*89c4ff92SAndroid Build Coastguard Worker "inputs": [ 412*89c4ff92SAndroid Build Coastguard Worker 0 413*89c4ff92SAndroid Build Coastguard Worker ], 414*89c4ff92SAndroid Build Coastguard Worker "outputs": [ 415*89c4ff92SAndroid Build Coastguard Worker 2 416*89c4ff92SAndroid Build Coastguard Worker ], 417*89c4ff92SAndroid Build Coastguard Worker "operators": [ 418*89c4ff92SAndroid Build Coastguard Worker { 419*89c4ff92SAndroid Build Coastguard Worker "opcode_index": 0, 420*89c4ff92SAndroid Build Coastguard Worker "inputs": [ 421*89c4ff92SAndroid Build Coastguard Worker 0 422*89c4ff92SAndroid Build Coastguard Worker ], 423*89c4ff92SAndroid Build Coastguard Worker "outputs": [ 424*89c4ff92SAndroid Build Coastguard Worker 1 425*89c4ff92SAndroid Build Coastguard Worker ], 426*89c4ff92SAndroid Build Coastguard Worker "builtin_options_type": "ShapeOptions", 427*89c4ff92SAndroid Build Coastguard Worker "builtin_options": { 428*89c4ff92SAndroid Build Coastguard Worker "out_type": "INT32" 429*89c4ff92SAndroid Build Coastguard Worker }, 430*89c4ff92SAndroid Build Coastguard Worker "custom_options_format": "FLEXBUFFERS" 431*89c4ff92SAndroid Build Coastguard Worker }, 432*89c4ff92SAndroid Build Coastguard Worker { 433*89c4ff92SAndroid Build Coastguard Worker "opcode_index": 1, 434*89c4ff92SAndroid Build Coastguard Worker "inputs": [ 435*89c4ff92SAndroid Build Coastguard Worker 0, 436*89c4ff92SAndroid Build Coastguard Worker 1 437*89c4ff92SAndroid Build Coastguard Worker ], 438*89c4ff92SAndroid Build Coastguard Worker "outputs": [ 439*89c4ff92SAndroid Build Coastguard Worker 2 440*89c4ff92SAndroid Build Coastguard Worker ], 441*89c4ff92SAndroid Build Coastguard Worker "builtin_options_type": "NONE", 442*89c4ff92SAndroid Build Coastguard Worker "custom_options_format": "FLEXBUFFERS" 443*89c4ff92SAndroid Build Coastguard Worker } 444*89c4ff92SAndroid Build Coastguard Worker ], 445*89c4ff92SAndroid Build Coastguard Worker "name": "main" 446*89c4ff92SAndroid Build Coastguard Worker } 447*89c4ff92SAndroid Build Coastguard Worker ], 448*89c4ff92SAndroid Build Coastguard Worker "description": "MLIR Converted.", 449*89c4ff92SAndroid Build Coastguard Worker "buffers": [ 450*89c4ff92SAndroid Build Coastguard Worker { 451*89c4ff92SAndroid Build Coastguard Worker }, 452*89c4ff92SAndroid Build Coastguard Worker { 453*89c4ff92SAndroid Build Coastguard Worker }, 454*89c4ff92SAndroid Build Coastguard Worker { 455*89c4ff92SAndroid Build Coastguard Worker }, 456*89c4ff92SAndroid Build Coastguard Worker { 457*89c4ff92SAndroid Build Coastguard Worker }, 458*89c4ff92SAndroid Build Coastguard Worker { 459*89c4ff92SAndroid Build Coastguard Worker "data": [ 460*89c4ff92SAndroid Build Coastguard Worker 49, 461*89c4ff92SAndroid Build Coastguard Worker 46, 462*89c4ff92SAndroid Build Coastguard Worker 49, 463*89c4ff92SAndroid Build Coastguard Worker 48, 464*89c4ff92SAndroid Build Coastguard Worker 46, 465*89c4ff92SAndroid Build Coastguard Worker 48, 466*89c4ff92SAndroid Build Coastguard Worker 0, 467*89c4ff92SAndroid Build Coastguard Worker 0, 468*89c4ff92SAndroid Build Coastguard Worker 0, 469*89c4ff92SAndroid Build Coastguard Worker 0, 470*89c4ff92SAndroid Build Coastguard Worker 0, 471*89c4ff92SAndroid Build Coastguard Worker 0, 472*89c4ff92SAndroid Build Coastguard Worker 0, 473*89c4ff92SAndroid Build Coastguard Worker 0, 474*89c4ff92SAndroid Build Coastguard Worker 0, 475*89c4ff92SAndroid Build Coastguard Worker 0 476*89c4ff92SAndroid Build Coastguard Worker ] 477*89c4ff92SAndroid Build Coastguard Worker } 478*89c4ff92SAndroid Build Coastguard Worker ], 479*89c4ff92SAndroid Build Coastguard Worker "metadata": [ 480*89c4ff92SAndroid Build Coastguard Worker { 481*89c4ff92SAndroid Build Coastguard Worker "name": "min_runtime_version", 482*89c4ff92SAndroid Build Coastguard Worker "buffer": 4 483*89c4ff92SAndroid Build Coastguard Worker } 484*89c4ff92SAndroid Build Coastguard Worker ] 485*89c4ff92SAndroid Build Coastguard Worker } 486*89c4ff92SAndroid Build Coastguard Worker )"; 487*89c4ff92SAndroid Build Coastguard Worker 488*89c4ff92SAndroid Build Coastguard Worker } 489*89c4ff92SAndroid Build Coastguard Worker }; 490*89c4ff92SAndroid Build Coastguard Worker 491*89c4ff92SAndroid Build Coastguard Worker // ParseReshape test case: reshapeShapes[0] > 2 492*89c4ff92SAndroid Build Coastguard Worker TEST_CASE_FIXTURE(ReshapeDynamicFixture3, "ParseReshapeDynamic3") 493*89c4ff92SAndroid Build Coastguard Worker { 494*89c4ff92SAndroid Build Coastguard Worker CHECK_THROWS_AS(SetupSingleInputSingleOutput("input_33", "Identity"), armnn::ParseException); 495*89c4ff92SAndroid Build Coastguard Worker } 496*89c4ff92SAndroid Build Coastguard Worker 497*89c4ff92SAndroid Build Coastguard Worker } 498