tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

subgraph.https.any.js (88679B)


      1 // META: title=test WebNN API subgraph with multiple operations
      2 // META: global=window,worker
      3 // META: variant=?cpu
      4 // META: variant=?gpu
      5 // META: variant=?npu
      6 // META: script=../resources/utils.js
      7 // META: timeout=long
      8 
      9 'use strict';
     10 
     11 const subgraphTests = [
     12  {
     13    'name': 'conv2d default + relu',
     14    'graph': {
     15      'inputs': {
     16        'conv2dInput': {
     17          'data': [
     18            0.6124474406242371,  0.8857858777046204,  0.13667134940624237,
     19            0.5645291209220886,  0.8965172171592712,  0.36792829632759094,
     20            0.6811466217041016,  0.0479511022567749,  0.33355462551116943,
     21            0.19882695376873016, 0.41167140007019043, 0.07934240251779556,
     22            0.4272463321685791,  0.535800576210022,   0.5910806059837341,
     23            0.28415432572364807, 0.4147258698940277,  0.026906268671154976,
     24            0.3621256649494171,  0.9945681691169739,  0.07184549421072006,
     25            0.12204372137784958, 0.8422137498855591,  0.4537501037120819,
     26            0.21529443562030792
     27          ],
     28          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'}
     29        },
     30        'conv2dFilter': {
     31          'data': [
     32            0.3804761469364166, 0.5280312299728394, 0.21947036683559418,
     33            0.36689770221710205, 0.33974137902259827, 0.4200059771537781,
     34            0.3805030882358551, 0.19443586468696594, 0.5686976909637451
     35          ],
     36          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
     37        }
     38      },
     39      'operators': [
     40        {
     41          'name': 'conv2d',
     42          'arguments': [{'input': 'conv2dInput'}, {'filter': 'conv2dFilter'}],
     43          'outputs': 'conv2dOutput'
     44        },
     45        {
     46          'name': 'relu',
     47          'arguments': [{'input': 'conv2dOutput'}],
     48          'outputs': 'output'
     49        },
     50      ],
     51      'expectedOutputs': {
     52        'output': {
     53          'data': [
     54            1.5323282480239868, 1.3573521375656128, 1.3641656637191772,
     55            1.071682333946228, 1.1259644031524658, 1.4713115692138672,
     56            1.078782320022583, 1.155018925666809, 1.656954288482666
     57          ],
     58          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
     59        }
     60      }
     61    }
     62  },
     63  {
     64    'name': 'conv2d default + relu / float16',
     65    'graph': {
     66      'inputs': {
     67        'conv2dInput': {
     68          'data': [
     69            0.6123046875,    0.8857421875,      0.13671875,
     70            0.564453125,     0.896484375,       0.367919921875,
     71            0.68115234375,   0.047943115234375, 0.33349609375,
     72            0.1988525390625, 0.41162109375,     0.079345703125,
     73            0.42724609375,   0.53564453125,     0.59130859375,
     74            0.2841796875,    0.414794921875,    0.0269012451171875,
     75            0.362060546875,  0.99462890625,     0.07183837890625,
     76            0.1220703125,    0.84228515625,     0.453857421875,
     77            0.21533203125
     78          ],
     79          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float16'}
     80        },
     81        'conv2dFilter': {
     82          'data': [
     83            0.38037109375, 0.52783203125, 0.219482421875, 0.366943359375,
     84            0.33984375, 0.419921875, 0.380615234375, 0.1944580078125,
     85            0.56884765625
     86          ],
     87          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'},
     88        }
     89      },
     90      'operators': [
     91        {
     92          'name': 'conv2d',
     93          'arguments': [{'input': 'conv2dInput'}, {'filter': 'conv2dFilter'}],
     94          'outputs': 'conv2dOutput'
     95        },
     96        {
     97          'name': 'relu',
     98          'arguments': [{'input': 'conv2dOutput'}],
     99          'outputs': 'output'
    100        },
    101      ],
    102      'expectedOutputs': {
    103        'output': {
    104          'data': [
    105            1.5322265625, 1.357421875, 1.3642578125, 1.0712890625, 1.1259765625,
    106            1.4716796875, 1.0791015625, 1.1552734375, 1.6572265625
    107          ],
    108          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'}
    109        }
    110      }
    111    }
    112  },
    113  {
    114    'name': 'conv2d default + reshape / float16',
    115    'graph': {
    116      'inputs': {
    117        'conv2dInput': {
    118          'data': [
    119            0.6123046875,    0.8857421875,      0.13671875,
    120            0.564453125,     0.896484375,       0.367919921875,
    121            0.68115234375,   0.047943115234375, 0.33349609375,
    122            0.1988525390625, 0.41162109375,     0.079345703125,
    123            0.42724609375,   0.53564453125,     0.59130859375,
    124            0.2841796875,    0.414794921875,    0.0269012451171875,
    125            0.362060546875,  0.99462890625,     0.07183837890625,
    126            0.1220703125,    0.84228515625,     0.453857421875,
    127            0.21533203125
    128          ],
    129          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float16'}
    130        },
    131        'conv2dFilter': {
    132          'data': [
    133            0.38037109375, 0.52783203125, 0.219482421875, 0.366943359375,
    134            0.33984375, 0.419921875, 0.380615234375, 0.1944580078125,
    135            0.56884765625
    136          ],
    137          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'},
    138        }
    139      },
    140      'operators': [
    141        {
    142          'name': 'conv2d',
    143          'arguments': [{'input': 'conv2dInput'}, {'filter': 'conv2dFilter'}],
    144          'outputs': 'conv2dOutput'
    145        },
    146        {
    147          'name': 'reshape',
    148          'arguments': [{'input': 'conv2dOutput'}, {'newShape': [9]}],
    149          'outputs': 'output'
    150        },
    151      ],
    152      'expectedOutputs': {
    153        'output': {
    154          'data': [
    155            1.5322265625, 1.357421875, 1.3642578125, 1.0712890625, 1.1259765625,
    156            1.4716796875, 1.0791015625, 1.1552734375, 1.6572265625
    157          ],
    158          'descriptor': {shape: [9], dataType: 'float16'}
    159        }
    160      }
    161    }
    162  },
    163  {
    164    'name': 'reshape + conv2d default/ float16',
    165    'graph': {
    166      'inputs': {
    167        'reshapeInput': {
    168          'data': [
    169            0.38037109375, 0.52783203125, 0.219482421875, 0.366943359375,
    170            0.33984375, 0.419921875, 0.380615234375, 0.1944580078125,
    171            0.56884765625
    172          ],
    173          'descriptor': {shape: [9], dataType: 'float16'},
    174        },
    175        'conv2dInput': {
    176          'data': [
    177            0.6123046875,    0.8857421875,      0.13671875,
    178            0.564453125,     0.896484375,       0.367919921875,
    179            0.68115234375,   0.047943115234375, 0.33349609375,
    180            0.1988525390625, 0.41162109375,     0.079345703125,
    181            0.42724609375,   0.53564453125,     0.59130859375,
    182            0.2841796875,    0.414794921875,    0.0269012451171875,
    183            0.362060546875,  0.99462890625,     0.07183837890625,
    184            0.1220703125,    0.84228515625,     0.453857421875,
    185            0.21533203125
    186          ],
    187          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float16'}
    188        },
    189      },
    190      'operators': [
    191        {
    192          'name': 'reshape',
    193          'arguments': [{'input': 'reshapeInput'}, {'newShape': [1, 1, 3, 3]}],
    194          'outputs': 'reshapeOutput'
    195        },
    196        {
    197          'name': 'conv2d',
    198          'arguments': [{'input': 'conv2dInput'}, {'filter': 'reshapeOutput'}],
    199          'outputs': 'output'
    200        },
    201      ],
    202      'expectedOutputs': {
    203        'output': {
    204          'data': [
    205            1.5322265625, 1.357421875, 1.3642578125, 1.0712890625, 1.1259765625,
    206            1.4716796875, 1.0791015625, 1.1552734375, 1.6572265625
    207          ],
    208          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'}
    209        }
    210      }
    211    }
    212  },
    213  {
    214    'name': 'conv2d default + sigmoid',
    215    'graph': {
    216      'inputs': {
    217        'conv2dInput': {
    218          'data': [
    219            0.6124474406242371,  0.8857858777046204,  0.13667134940624237,
    220            0.5645291209220886,  0.8965172171592712,  0.36792829632759094,
    221            0.6811466217041016,  0.0479511022567749,  0.33355462551116943,
    222            0.19882695376873016, 0.41167140007019043, 0.07934240251779556,
    223            0.4272463321685791,  0.535800576210022,   0.5910806059837341,
    224            0.28415432572364807, 0.4147258698940277,  0.026906268671154976,
    225            0.3621256649494171,  0.9945681691169739,  0.07184549421072006,
    226            0.12204372137784958, 0.8422137498855591,  0.4537501037120819,
    227            0.21529443562030792
    228          ],
    229          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'}
    230        },
    231        'conv2dFilter': {
    232          'data': [
    233            0.3804761469364166, 0.5280312299728394, 0.21947036683559418,
    234            0.36689770221710205, 0.33974137902259827, 0.4200059771537781,
    235            0.3805030882358551, 0.19443586468696594, 0.5686976909637451
    236          ],
    237          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
    238        }
    239      },
    240      'operators': [
    241        {
    242          'name': 'conv2d',
    243          'arguments': [{'input': 'conv2dInput'}, {'filter': 'conv2dFilter'}],
    244          'outputs': 'conv2dOutput'
    245        },
    246        {
    247          'name': 'sigmoid',
    248          'arguments': [{'input': 'conv2dOutput'}],
    249          'outputs': 'output'
    250        },
    251      ],
    252      'expectedOutputs': {
    253        'output': {
    254          'data': [
    255            0.8223466873168945, 0.7953290343284607, 0.7964358925819397,
    256            0.7449167370796204, 0.7550933957099915, 0.8132566809654236,
    257            0.7462635040283203, 0.7604264616966248, 0.83982872962951666
    258          ],
    259          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
    260        }
    261      }
    262    }
    263  },
    264  {
    265    'name': 'conv2d default + clamp',
    266    'graph': {
    267      'inputs': {
    268        'conv2dInput': {
    269          'data': [
    270            0.6124474406242371,  0.8857858777046204,  0.13667134940624237,
    271            0.5645291209220886,  0.8965172171592712,  0.36792829632759094,
    272            0.6811466217041016,  0.0479511022567749,  0.33355462551116943,
    273            0.19882695376873016, 0.41167140007019043, 0.07934240251779556,
    274            0.4272463321685791,  0.535800576210022,   0.5910806059837341,
    275            0.28415432572364807, 0.4147258698940277,  0.026906268671154976,
    276            0.3621256649494171,  0.9945681691169739,  0.07184549421072006,
    277            0.12204372137784958, 0.8422137498855591,  0.4537501037120819,
    278            0.21529443562030792
    279          ],
    280          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'}
    281        },
    282        'conv2dFilter': {
    283          'data': [
    284            0.3804761469364166, 0.5280312299728394, 0.21947036683559418,
    285            0.36689770221710205, 0.33974137902259827, 0.4200059771537781,
    286            0.3805030882358551, 0.19443586468696594, 0.5686976909637451
    287          ],
    288          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
    289        }
    290      },
    291      'operators': [
    292        {
    293          'name': 'conv2d',
    294          'arguments': [{'input': 'conv2dInput'}, {'filter': 'conv2dFilter'}],
    295          'outputs': 'conv2dOutput'
    296        },
    297        {
    298          'name': 'clamp',
    299          'arguments': [
    300            {'input': 'conv2dOutput'},
    301            {'options': {'minValue': 0, 'maxValue': 6}}
    302          ],
    303          'outputs': 'output'
    304        },
    305      ],
    306      'expectedOutputs': {
    307        'output': {
    308          'data': [
    309            1.5323282480239868, 1.3573521375656128, 1.3641656637191772,
    310            1.071682333946228, 1.1259644031524658, 1.4713115692138672,
    311            1.078782320022583, 1.155018925666809, 1.656954288482666
    312          ],
    313          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
    314        }
    315      }
    316    }
    317  },
    318  {
    319    'name': 'conv2d default + leakyRelu',
    320    'graph': {
    321      'inputs': {
    322        'conv2dInput': {
    323          'data': [
    324            0.6124474406242371,  0.8857858777046204,  0.13667134940624237,
    325            0.5645291209220886,  0.8965172171592712,  0.36792829632759094,
    326            0.6811466217041016,  0.0479511022567749,  0.33355462551116943,
    327            0.19882695376873016, 0.41167140007019043, 0.07934240251779556,
    328            0.4272463321685791,  0.535800576210022,   0.5910806059837341,
    329            0.28415432572364807, 0.4147258698940277,  0.026906268671154976,
    330            0.3621256649494171,  0.9945681691169739,  0.07184549421072006,
    331            0.12204372137784958, 0.8422137498855591,  0.4537501037120819,
    332            0.21529443562030792
    333          ],
    334          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'}
    335        },
    336        'conv2dFilter': {
    337          'data': [
    338            0.3804761469364166, 0.5280312299728394, 0.21947036683559418,
    339            0.36689770221710205, 0.33974137902259827, 0.4200059771537781,
    340            0.3805030882358551, 0.19443586468696594, 0.5686976909637451
    341          ],
    342          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
    343        }
    344      },
    345      'operators': [
    346        {
    347          'name': 'conv2d',
    348          'arguments': [{'input': 'conv2dInput'}, {'filter': 'conv2dFilter'}],
    349          'outputs': 'conv2dOutput'
    350        },
    351        {
    352          'name': 'leakyRelu',
    353          'arguments': [{'input': 'conv2dOutput'}],
    354          'outputs': 'output'
    355        },
    356      ],
    357      'expectedOutputs': {
    358        'output': {
    359          'data': [
    360            1.5323282480239868, 1.3573521375656128, 1.3641656637191772,
    361            1.071682333946228, 1.1259644031524658, 1.4713115692138672,
    362            1.078782320022583, 1.155018925666809, 1.656954288482666
    363          ],
    364          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
    365        }
    366      }
    367    }
    368  },
    369  {
    370    'name': 'conv2d default + elu',
    371    'graph': {
    372      'inputs': {
    373        'conv2dInput': {
    374          'data': [
    375            0.6124474406242371,  0.8857858777046204,  0.13667134940624237,
    376            0.5645291209220886,  0.8965172171592712,  0.36792829632759094,
    377            0.6811466217041016,  0.0479511022567749,  0.33355462551116943,
    378            0.19882695376873016, 0.41167140007019043, 0.07934240251779556,
    379            0.4272463321685791,  0.535800576210022,   0.5910806059837341,
    380            0.28415432572364807, 0.4147258698940277,  0.026906268671154976,
    381            0.3621256649494171,  0.9945681691169739,  0.07184549421072006,
    382            0.12204372137784958, 0.8422137498855591,  0.4537501037120819,
    383            0.21529443562030792
    384          ],
    385          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'}
    386        },
    387        'conv2dFilter': {
    388          'data': [
    389            0.3804761469364166, 0.5280312299728394, 0.21947036683559418,
    390            0.36689770221710205, 0.33974137902259827, 0.4200059771537781,
    391            0.3805030882358551, 0.19443586468696594, 0.5686976909637451
    392          ],
    393          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
    394        }
    395      },
    396      'operators': [
    397        {
    398          'name': 'conv2d',
    399          'arguments': [{'input': 'conv2dInput'}, {'filter': 'conv2dFilter'}],
    400          'outputs': 'conv2dOutput'
    401        },
    402        {
    403          'name': 'elu',
    404          'arguments': [{'input': 'conv2dOutput'}],
    405          'outputs': 'output'
    406        },
    407      ],
    408      'expectedOutputs': {
    409        'output': {
    410          'data': [
    411            1.5323282480239868, 1.3573521375656128, 1.3641656637191772,
    412            1.071682333946228, 1.1259644031524658, 1.4713115692138672,
    413            1.078782320022583, 1.155018925666809, 1.656954288482666
    414          ],
    415          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
    416        }
    417      }
    418    }
    419  },
    420  {
    421    'name': 'conv2d default + prelu',
    422    'graph': {
    423      'inputs': {
    424        'conv2dInput': {
    425          'data': [
    426            -0.8073334693908691, -0.8839999437332153,  -0.7700487375259399,
    427            -0.5646049380302429, -0.39717939496040344, -0.10841356962919235,
    428            -0.5519214868545532, -0.3954172134399414,  -0.057589758187532425,
    429            -0.5144240856170654, -0.21321901679039001, -0.950609028339386,
    430            -0.8043696880340576, -0.8646378517150879,  -0.9607220888137817,
    431            -0.3264438509941101, -0.06884296983480453, -0.3203399181365967,
    432            -0.2692728042602539, -0.3430887758731842,  -0.8989502191543579,
    433            -0.9038569331169128, -0.6369403004646301,  -0.20070797204971313,
    434            -0.7870702147483826,
    435          ],
    436          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'}
    437        },
    438        'conv2dFilter': {
    439          'data': [
    440            0.3804761469364166, 0.5280312299728394, 0.21947036683559418,
    441            0.36689770221710205, 0.33974137902259827, 0.4200059771537781,
    442            0.3805030882358551, 0.19443586468696594, 0.5686976909637451
    443          ],
    444          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
    445        },
    446        'preluSlope': {
    447          'data': [
    448            2,
    449            3,
    450            4,
    451            -2,
    452            -4,
    453            -5,
    454            8,
    455            9,
    456            1,
    457          ],
    458          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
    459        },
    460      },
    461      'operators': [
    462        {
    463          'name': 'conv2d',
    464          'arguments': [{'input': 'conv2dInput'}, {'filter': 'conv2dFilter'}],
    465          'outputs': 'conv2dOutput'
    466        },
    467        {
    468          'name': 'prelu',
    469          'arguments': [{'input': 'conv2dOutput'}, {'slope': 'preluSlope'}],
    470          'outputs': 'output'
    471        },
    472      ],
    473      'expectedOutputs': {
    474        'output': {
    475          'data': [
    476            -4.119449138641357, -6.7131500244140625, -8.318120002746582,
    477            2.9565374851226807, 6.632988929748535, 8.277504920959473,
    478            -15.338706970214844, -16.247453689575195, -2.055551290512085
    479          ],
    480          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
    481        }
    482      }
    483    }
    484  },
    485  {
    486    'name': 'conv2d default + hardSwish',
    487    'graph': {
    488      'inputs': {
    489        'conv2dInput': {
    490          'data': [
    491            0.6124474406242371,  0.8857858777046204,  0.13667134940624237,
    492            0.5645291209220886,  0.8965172171592712,  0.36792829632759094,
    493            0.6811466217041016,  0.0479511022567749,  0.33355462551116943,
    494            0.19882695376873016, 0.41167140007019043, 0.07934240251779556,
    495            0.4272463321685791,  0.535800576210022,   0.5910806059837341,
    496            0.28415432572364807, 0.4147258698940277,  0.026906268671154976,
    497            0.3621256649494171,  0.9945681691169739,  0.07184549421072006,
    498            0.12204372137784958, 0.8422137498855591,  0.4537501037120819,
    499            0.21529443562030792
    500          ],
    501          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'}
    502        },
    503        'conv2dFilter': {
    504          'data': [
    505            0.3804761469364166, 0.5280312299728394, 0.21947036683559418,
    506            0.36689770221710205, 0.33974137902259827, 0.4200059771537781,
    507            0.3805030882358551, 0.19443586468696594, 0.5686976909637451
    508          ],
    509          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
    510        }
    511      },
    512      'operators': [
    513        {
    514          'name': 'conv2d',
    515          'arguments': [{'input': 'conv2dInput'}, {'filter': 'conv2dFilter'}],
    516          'outputs': 'conv2dOutput'
    517        },
    518        {
    519          'name': 'hardSwish',
    520          'arguments': [{'input': 'conv2dOutput'}],
    521          'outputs': 'output'
    522        },
    523      ],
    524      'expectedOutputs': {
    525        'output': {
    526          'data': [
    527            1.157502485501543, 0.9857435818773853, 0.9922408563279537,
    528            0.7272583864195519, 0.7742814812380979, 1.0964487730571852,
    529            0.7333530675289874, 0.7998542619888367, 1.2860601012485775
    530          ],
    531          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
    532        }
    533      }
    534    }
    535  },
    536  {
    537    'name': 'conv2d default + gelu',
    538    'graph': {
    539      'inputs': {
    540        'conv2dInput': {
    541          'data': [
    542            0.6124474406242371,  0.8857858777046204,  0.13667134940624237,
    543            0.5645291209220886,  0.8965172171592712,  0.36792829632759094,
    544            0.6811466217041016,  0.0479511022567749,  0.33355462551116943,
    545            0.19882695376873016, 0.41167140007019043, 0.07934240251779556,
    546            0.4272463321685791,  0.535800576210022,   0.5910806059837341,
    547            0.28415432572364807, 0.4147258698940277,  0.026906268671154976,
    548            0.3621256649494171,  0.9945681691169739,  0.07184549421072006,
    549            0.12204372137784958, 0.8422137498855591,  0.4537501037120819,
    550            0.21529443562030792
    551          ],
    552          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'}
    553        },
    554        'conv2dFilter': {
    555          'data': [
    556            0.3804761469364166, 0.5280312299728394, 0.21947036683559418,
    557            0.36689770221710205, 0.33974137902259827, 0.4200059771537781,
    558            0.3805030882358551, 0.19443586468696594, 0.5686976909637451
    559          ],
    560          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
    561        }
    562      },
    563      'operators': [
    564        {
    565          'name': 'conv2d',
    566          'arguments': [{'input': 'conv2dInput'}, {'filter': 'conv2dFilter'}],
    567          'outputs': 'conv2dOutput'
    568        },
    569        {
    570          'name': 'gelu',
    571          'arguments': [{'input': 'conv2dOutput'}],
    572          'outputs': 'output'
    573        },
    574      ],
    575      'expectedOutputs': {
    576        'output': {
    577          'data': [
    578            1.436219573020935, 1.2388081550598145, 1.2464958429336548,
    579            0.9195770025253296, 0.9794872999191284, 1.367431879043579,
    580            0.9273834228515625, 1.0117487907409668, 1.5761539936065674
    581          ],
    582          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
    583        }
    584      }
    585    }
    586  },
    587  {
    588    'name': 'conv2d default + hardSigmoid',
    589    'graph': {
    590      'inputs': {
    591        'conv2dInput': {
    592          'data': [
    593            0.6124474406242371,  0.8857858777046204,  0.13667134940624237,
    594            0.5645291209220886,  0.8965172171592712,  0.36792829632759094,
    595            0.6811466217041016,  0.0479511022567749,  0.33355462551116943,
    596            0.19882695376873016, 0.41167140007019043, 0.07934240251779556,
    597            0.4272463321685791,  0.535800576210022,   0.5910806059837341,
    598            0.28415432572364807, 0.4147258698940277,  0.026906268671154976,
    599            0.3621256649494171,  0.9945681691169739,  0.07184549421072006,
    600            0.12204372137784958, 0.8422137498855591,  0.4537501037120819,
    601            0.21529443562030792
    602          ],
    603          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'}
    604        },
    605        'conv2dFilter': {
    606          'data': [
    607            0.3804761469364166, 0.5280312299728394, 0.21947036683559418,
    608            0.36689770221710205, 0.33974137902259827, 0.4200059771537781,
    609            0.3805030882358551, 0.19443586468696594, 0.5686976909637451
    610          ],
    611          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
    612        }
    613      },
    614      'operators': [
    615        {
    616          'name': 'conv2d',
    617          'arguments': [{'input': 'conv2dInput'}, {'filter': 'conv2dFilter'}],
    618          'outputs': 'conv2dOutput'
    619        },
    620        {
    621          'name': 'hardSigmoid',
    622          'arguments': [{'input': 'conv2dOutput'}],
    623          'outputs': 'output'
    624        },
    625      ],
    626      'expectedOutputs': {
    627        'output': {
    628          'data': [
    629            0.8064656598030677, 0.7714704363749472, 0.7728331393335313,
    630            0.7143364781353666, 0.7251928745681375, 0.7942623204728064,
    631            0.7157564698643701, 0.7310037880065647, 0.8313908649162249
    632          ],
    633          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
    634        }
    635      }
    636    }
    637  },
    638  {
    639    'name': 'conv2d default + linear',
    640    'graph': {
    641      'inputs': {
    642        'conv2dInput': {
    643          'data': [
    644            0.6124474406242371,  0.8857858777046204,  0.13667134940624237,
    645            0.5645291209220886,  0.8965172171592712,  0.36792829632759094,
    646            0.6811466217041016,  0.0479511022567749,  0.33355462551116943,
    647            0.19882695376873016, 0.41167140007019043, 0.07934240251779556,
    648            0.4272463321685791,  0.535800576210022,   0.5910806059837341,
    649            0.28415432572364807, 0.4147258698940277,  0.026906268671154976,
    650            0.3621256649494171,  0.9945681691169739,  0.07184549421072006,
    651            0.12204372137784958, 0.8422137498855591,  0.4537501037120819,
    652            0.21529443562030792
    653          ],
    654          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'}
    655        },
    656        'conv2dFilter': {
    657          'data': [
    658            0.3804761469364166, 0.5280312299728394, 0.21947036683559418,
    659            0.36689770221710205, 0.33974137902259827, 0.4200059771537781,
    660            0.3805030882358551, 0.19443586468696594, 0.5686976909637451
    661          ],
    662          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
    663        }
    664      },
    665      'operators': [
    666        {
    667          'name': 'conv2d',
    668          'arguments': [{'input': 'conv2dInput'}, {'filter': 'conv2dFilter'}],
    669          'outputs': 'conv2dOutput'
    670        },
    671        {
    672          'name': 'linear',
    673          'arguments': [{'input': 'conv2dOutput'}],
    674          'outputs': 'output'
    675        },
    676      ],
    677      'expectedOutputs': {
    678        'output': {
    679          'data': [
    680            1.5323282480239868, 1.3573522567749023, 1.3641656637191772,
    681            1.0716824531555176, 1.1259644031524658, 1.4713115692138672,
    682            1.078782320022583, 1.155018925666809, 1.656954288482666
    683          ],
    684          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
    685        }
    686      }
    687    }
    688  },
    689  {
    690    'name': 'conv2d default + softplus',
    691    'graph': {
    692      'inputs': {
    693        'conv2dInput': {
    694          'data': [
    695            0.6124474406242371,  0.8857858777046204,  0.13667134940624237,
    696            0.5645291209220886,  0.8965172171592712,  0.36792829632759094,
    697            0.6811466217041016,  0.0479511022567749,  0.33355462551116943,
    698            0.19882695376873016, 0.41167140007019043, 0.07934240251779556,
    699            0.4272463321685791,  0.535800576210022,   0.5910806059837341,
    700            0.28415432572364807, 0.4147258698940277,  0.026906268671154976,
    701            0.3621256649494171,  0.9945681691169739,  0.07184549421072006,
    702            0.12204372137784958, 0.8422137498855591,  0.4537501037120819,
    703            0.21529443562030792
    704          ],
    705          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'}
    706        },
    707        'conv2dFilter': {
    708          'data': [
    709            0.3804761469364166, 0.5280312299728394, 0.21947036683559418,
    710            0.36689770221710205, 0.33974137902259827, 0.4200059771537781,
    711            0.3805030882358551, 0.19443586468696594, 0.5686976909637451
    712          ],
    713          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
    714        }
    715      },
    716      'operators': [
    717        {
    718          'name': 'conv2d',
    719          'arguments': [{'input': 'conv2dInput'}, {'filter': 'conv2dFilter'}],
    720          'outputs': 'conv2dOutput'
    721        },
    722        {
    723          'name': 'softplus',
    724          'arguments': [{'input': 'conv2dOutput'}],
    725          'outputs': 'output'
    726        },
    727      ],
    728      'expectedOutputs': {
    729        'output': {
    730          'data': [
    731            1.727921485900879, 1.5863515138626099, 1.591774344444275,
    732            1.366165280342102, 1.4068782329559326, 1.6780201196670532,
    733            1.371458888053894, 1.4288948774337769, 1.8315116167068481
    734          ],
    735          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
    736        }
    737      }
    738    }
    739  },
    740  {
    741    'name': 'conv2d default + softsign',
    742    'graph': {
    743      'inputs': {
    744        'conv2dInput': {
    745          'data': [
    746            0.6124474406242371,  0.8857858777046204,  0.13667134940624237,
    747            0.5645291209220886,  0.8965172171592712,  0.36792829632759094,
    748            0.6811466217041016,  0.0479511022567749,  0.33355462551116943,
    749            0.19882695376873016, 0.41167140007019043, 0.07934240251779556,
    750            0.4272463321685791,  0.535800576210022,   0.5910806059837341,
    751            0.28415432572364807, 0.4147258698940277,  0.026906268671154976,
    752            0.3621256649494171,  0.9945681691169739,  0.07184549421072006,
    753            0.12204372137784958, 0.8422137498855591,  0.4537501037120819,
    754            0.21529443562030792
    755          ],
    756          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'}
    757        },
    758        'conv2dFilter': {
    759          'data': [
    760            0.3804761469364166, 0.5280312299728394, 0.21947036683559418,
    761            0.36689770221710205, 0.33974137902259827, 0.4200059771537781,
    762            0.3805030882358551, 0.19443586468696594, 0.5686976909637451
    763          ],
    764          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
    765        }
    766      },
    767      'operators': [
    768        {
    769          'name': 'conv2d',
    770          'arguments': [{'input': 'conv2dInput'}, {'filter': 'conv2dFilter'}],
    771          'outputs': 'conv2dOutput'
    772        },
    773        {
    774          'name': 'softsign',
    775          'arguments': [{'input': 'conv2dOutput'}],
    776          'outputs': 'output'
    777        },
    778      ],
    779      'expectedOutputs': {
    780        'output': {
    781          'data': [
    782            0.6051064941347312, 0.5757952470195913, 0.5770178031897163,
    783            0.5173005261326311, 0.5296252313655604, 0.5953565713674431,
    784            0.5189491577479364, 0.5359669553601377, 0.6236292092986385
    785          ],
    786          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
    787        }
    788      }
    789    }
    790  },
    791  {
    792    'name': 'convTranspose2d default + relu',
    793    'graph': {
    794      'inputs': {
    795        'convTranspose2dInput': {
    796          'data': [
    797            0.5872158408164978, 0.6077792048454285, 0.017289165407419205,
    798            0.2614607512950897
    799          ],
    800          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
    801        },
    802        'convTranspose2dFilter': {
    803          'data': [
    804            0.3292713165283203, 0.5866857171058655, 0.29701370000839233,
    805            0.0033378428779542446
    806          ],
    807          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
    808        }
    809      },
    810      'operators': [
    811        {
    812          'name': 'convTranspose2d',
    813          'arguments': [
    814            {'input': 'convTranspose2dInput'},
    815            {'filter': 'convTranspose2dFilter'}
    816          ],
    817          'outputs': 'convTranspose2dOutput'
    818        },
    819        {
    820          'name': 'relu',
    821          'arguments': [{'input': 'convTranspose2dOutput'}],
    822          'outputs': 'output'
    823        },
    824      ],
    825      'expectedOutputs': {
    826        'output': {
    827          'data': [
    828            0.1933533400297165, 0.5446354150772095, 0.3565753698348999,
    829            0.18010397255420685, 0.2787136137485504, 0.15542395412921906,
    830            0.0051351189613342285, 0.07771513611078262, 0.0008727149106562138
    831          ],
    832          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
    833        }
    834      }
    835    }
    836  },
    837  {
    838    'name': 'convTranspose2d default + leakyRelu',
    839    'graph': {
    840      'inputs': {
    841        'convTranspose2dInput': {
    842          'data': [
    843            0.5872158408164978, 0.6077792048454285, 0.017289165407419205,
    844            0.2614607512950897
    845          ],
    846          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
    847        },
    848        'convTranspose2dFilter': {
    849          'data': [
    850            0.3292713165283203, 0.5866857171058655, 0.29701370000839233,
    851            0.0033378428779542446
    852          ],
    853          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
    854        }
    855      },
    856      'operators': [
    857        {
    858          'name': 'convTranspose2d',
    859          'arguments': [
    860            {'input': 'convTranspose2dInput'},
    861            {'filter': 'convTranspose2dFilter'}
    862          ],
    863          'outputs': 'convTranspose2dOutput'
    864        },
    865        {
    866          'name': 'leakyRelu',
    867          'arguments': [{'input': 'convTranspose2dOutput'}],
    868          'outputs': 'output'
    869        },
    870      ],
    871      'expectedOutputs': {
    872        'output': {
    873          'data': [
    874            0.1933533400297165, 0.5446354150772095, 0.3565753698348999,
    875            0.18010397255420685, 0.2787136137485504, 0.15542395412921906,
    876            0.0051351189613342285, 0.07771513611078262, 0.0008727149106562138
    877          ],
    878          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
    879        }
    880      }
    881    }
    882  },
    883  {
    884    'name': 'convTranspose2d default + sigmoid',
    885    'graph': {
    886      'inputs': {
    887        'convTranspose2dInput': {
    888          'data': [
    889            0.5872158408164978, 0.6077792048454285, 0.017289165407419205,
    890            0.2614607512950897
    891          ],
    892          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
    893        },
    894        'convTranspose2dFilter': {
    895          'data': [
    896            0.3292713165283203, 0.5866857171058655, 0.29701370000839233,
    897            0.0033378428779542446
    898          ],
    899          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
    900        }
    901      },
    902      'operators': [
    903        {
    904          'name': 'convTranspose2d',
    905          'arguments': [
    906            {'input': 'convTranspose2dInput'},
    907            {'filter': 'convTranspose2dFilter'}
    908          ],
    909          'outputs': 'convTranspose2dOutput'
    910        },
    911        {
    912          'name': 'sigmoid',
    913          'arguments': [{'input': 'convTranspose2dOutput'}],
    914          'outputs': 'output'
    915        },
    916      ],
    917      'expectedOutputs': {
    918        'output': {
    919          'data': [
    920            0.5481882691383362, 0.6328900456428528, 0.588211178779602,
    921            0.5449046492576599, 0.5692307949066162, 0.5387779474258423,
    922            0.5012837648391724, 0.5194190144538879, 0.5002181529998779
    923          ],
    924          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
    925        }
    926      }
    927    }
    928  },
    929  {
    930    'name': 'convTranspose2d default + softplus',
    931    'graph': {
    932      'inputs': {
    933        'convTranspose2dInput': {
    934          'data': [
    935            0.5872158408164978, 0.6077792048454285, 0.017289165407419205,
    936            0.2614607512950897
    937          ],
    938          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
    939        },
    940        'convTranspose2dFilter': {
    941          'data': [
    942            0.3292713165283203, 0.5866857171058655, 0.29701370000839233,
    943            0.0033378428779542446
    944          ],
    945          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
    946        }
    947      },
    948      'operators': [
    949        {
    950          'name': 'convTranspose2d',
    951          'arguments': [
    952            {'input': 'convTranspose2dInput'},
    953            {'filter': 'convTranspose2dFilter'}
    954          ],
    955          'outputs': 'convTranspose2dOutput'
    956        },
    957        {
    958          'name': 'softplus',
    959          'arguments': [{'input': 'convTranspose2dOutput'}],
    960          'outputs': 'output'
    961        },
    962      ],
    963      'expectedOutputs': {
    964        'output': {
    965          'data': [
    966            0.7944898009300232, 1.0020939111709595, 0.8872446417808533,
    967            0.7872483730316162, 0.8421828746795654, 0.7738757133483887,
    968            0.6957180500030518, 0.7327595353126526, 0.693583607673645
    969          ],
    970          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
    971        }
    972      }
    973    }
    974  },
    975  {
    976    'name': 'convTranspose2d default + clamp',
    977    'graph': {
    978      'inputs': {
    979        'convTranspose2dInput': {
    980          'data': [
    981            0.5872158408164978, 0.6077792048454285, 0.017289165407419205,
    982            0.2614607512950897
    983          ],
    984          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
    985        },
    986        'convTranspose2dFilter': {
    987          'data': [
    988            0.3292713165283203, 0.5866857171058655, 0.29701370000839233,
    989            0.0033378428779542446
    990          ],
    991          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
    992        }
    993      },
    994      'operators': [
    995        {
    996          'name': 'convTranspose2d',
    997          'arguments': [
    998            {'input': 'convTranspose2dInput'},
    999            {'filter': 'convTranspose2dFilter'}
   1000          ],
   1001          'outputs': 'convTranspose2dOutput'
   1002        },
   1003        {
   1004          'name': 'clamp',
   1005          'arguments': [
   1006            {'input': 'convTranspose2dOutput'},
   1007            {'options': {'minValue': 0, 'maxValue': 6}}
   1008          ],
   1009          'outputs': 'output'
   1010        },
   1011      ],
   1012      'expectedOutputs': {
   1013        'output': {
   1014          'data': [
   1015            0.1933533329919328, 0.5446354056033407, 0.3565753786367729,
   1016            0.18010397583982396, 0.27871361683602214, 0.15542395985886007,
   1017            0.005135118987714682, 0.07771513366674958, 0.0008727149065748813
   1018          ],
   1019          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
   1020        }
   1021      }
   1022    }
   1023  },
   1024  {
   1025    'name': 'convTranspose2d default + elu',
   1026    'graph': {
   1027      'inputs': {
   1028        'convTranspose2dInput': {
   1029          'data': [
   1030            0.5872158408164978, 0.6077792048454285, 0.017289165407419205,
   1031            0.2614607512950897
   1032          ],
   1033          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   1034        },
   1035        'convTranspose2dFilter': {
   1036          'data': [
   1037            0.3292713165283203, 0.5866857171058655, 0.29701370000839233,
   1038            0.0033378428779542446
   1039          ],
   1040          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   1041        }
   1042      },
   1043      'operators': [
   1044        {
   1045          'name': 'convTranspose2d',
   1046          'arguments': [
   1047            {'input': 'convTranspose2dInput'},
   1048            {'filter': 'convTranspose2dFilter'}
   1049          ],
   1050          'outputs': 'convTranspose2dOutput'
   1051        },
   1052        {
   1053          'name': 'elu',
   1054          'arguments': [{'input': 'convTranspose2dOutput'}],
   1055          'outputs': 'output'
   1056        },
   1057      ],
   1058      'expectedOutputs': {
   1059        'output': {
   1060          'data': [
   1061            0.1933533400297165, 0.5446354150772095, 0.3565753698348999,
   1062            0.18010397255420685, 0.2787136137485504, 0.15542395412921906,
   1063            0.0051351189613342285, 0.07771513611078262, 0.0008727149106562138
   1064          ],
   1065          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
   1066        }
   1067      }
   1068    }
   1069  },
   1070  {
   1071    'name': 'convTranspose2d default + gelu',
   1072    'graph': {
   1073      'inputs': {
   1074        'convTranspose2dInput': {
   1075          'data': [
   1076            0.5872158408164978, 0.6077792048454285, 0.017289165407419205,
   1077            0.2614607512950897
   1078          ],
   1079          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   1080        },
   1081        'convTranspose2dFilter': {
   1082          'data': [
   1083            0.3292713165283203, 0.5866857171058655, 0.29701370000839233,
   1084            0.0033378428779542446
   1085          ],
   1086          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   1087        }
   1088      },
   1089      'operators': [
   1090        {
   1091          'name': 'convTranspose2d',
   1092          'arguments': [
   1093            {'input': 'convTranspose2dInput'},
   1094            {'filter': 'convTranspose2dFilter'}
   1095          ],
   1096          'outputs': 'convTranspose2dOutput'
   1097        },
   1098        {
   1099          'name': 'gelu',
   1100          'arguments': [{'input': 'convTranspose2dOutput'}],
   1101          'outputs': 'output'
   1102        },
   1103      ],
   1104      'expectedOutputs': {
   1105        'output': {
   1106          'data': [
   1107            0.11149890720844269, 0.3850560784339905, 0.2279568910598755,
   1108            0.10292303562164307, 0.16995054483413696, 0.08731041103601456,
   1109            0.002578079467639327, 0.0412646159529686, 0.0004366612993180752
   1110          ],
   1111          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
   1112        }
   1113      }
   1114    }
   1115  },
   1116  {
   1117    'name': 'convTranspose2d default + hardSigmoid',
   1118    'graph': {
   1119      'inputs': {
   1120        'convTranspose2dInput': {
   1121          'data': [
   1122            0.5872158408164978, 0.6077792048454285, 0.017289165407419205,
   1123            0.2614607512950897
   1124          ],
   1125          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   1126        },
   1127        'convTranspose2dFilter': {
   1128          'data': [
   1129            0.3292713165283203, 0.5866857171058655, 0.29701370000839233,
   1130            0.0033378428779542446
   1131          ],
   1132          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   1133        }
   1134      },
   1135      'operators': [
   1136        {
   1137          'name': 'convTranspose2d',
   1138          'arguments': [
   1139            {'input': 'convTranspose2dInput'},
   1140            {'filter': 'convTranspose2dFilter'}
   1141          ],
   1142          'outputs': 'convTranspose2dOutput'
   1143        },
   1144        {
   1145          'name': 'hardSigmoid',
   1146          'arguments': [{'input': 'convTranspose2dOutput'}],
   1147          'outputs': 'output'
   1148        },
   1149      ],
   1150      'expectedOutputs': {
   1151        'output': {
   1152          'data': [
   1153            0.5386706590652466, 0.6089270710945129, 0.5713150501251221,
   1154            0.536020815372467, 0.5557427406311035, 0.5310847759246826,
   1155            0.5010270476341248, 0.5155430436134338, 0.5001745223999023
   1156          ],
   1157          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
   1158        }
   1159      }
   1160    }
   1161  },
   1162  {
   1163    'name': 'convTranspose2d default + hardSwish',
   1164    'graph': {
   1165      'inputs': {
   1166        'convTranspose2dInput': {
   1167          'data': [
   1168            0.5872158408164978, 0.6077792048454285, 0.017289165407419205,
   1169            0.2614607512950897
   1170          ],
   1171          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   1172        },
   1173        'convTranspose2dFilter': {
   1174          'data': [
   1175            0.3292713165283203, 0.5866857171058655, 0.29701370000839233,
   1176            0.0033378428779542446
   1177          ],
   1178          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   1179        }
   1180      },
   1181      'operators': [
   1182        {
   1183          'name': 'convTranspose2d',
   1184          'arguments': [
   1185            {'input': 'convTranspose2dInput'},
   1186            {'filter': 'convTranspose2dFilter'}
   1187          ],
   1188          'outputs': 'convTranspose2dOutput'
   1189        },
   1190        {
   1191          'name': 'hardSwish',
   1192          'arguments': [{'input': 'convTranspose2dOutput'}],
   1193          'outputs': 'output'
   1194        },
   1195      ],
   1196      'expectedOutputs': {
   1197        'output': {
   1198          'data': [
   1199            0.10290758311748505, 0.32175564765930176, 0.19947868585586548,
   1200            0.09545823186635971, 0.15230369567871094, 0.08173808455467224,
   1201            0.0025719543918967247, 0.03986417502164841, 0.00043648440623655915
   1202          ],
   1203          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
   1204        }
   1205      }
   1206    }
   1207  },
   1208  {
   1209    'name': 'convTranspose2d default + linear',
   1210    'graph': {
   1211      'inputs': {
   1212        'convTranspose2dInput': {
   1213          'data': [
   1214            0.5872158408164978, 0.6077792048454285, 0.017289165407419205,
   1215            0.2614607512950897
   1216          ],
   1217          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   1218        },
   1219        'convTranspose2dFilter': {
   1220          'data': [
   1221            0.3292713165283203, 0.5866857171058655, 0.29701370000839233,
   1222            0.0033378428779542446
   1223          ],
   1224          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   1225        }
   1226      },
   1227      'operators': [
   1228        {
   1229          'name': 'convTranspose2d',
   1230          'arguments': [
   1231            {'input': 'convTranspose2dInput'},
   1232            {'filter': 'convTranspose2dFilter'}
   1233          ],
   1234          'outputs': 'convTranspose2dOutput'
   1235        },
   1236        {
   1237          'name': 'linear',
   1238          'arguments': [{'input': 'convTranspose2dOutput'}],
   1239          'outputs': 'output'
   1240        },
   1241      ],
   1242      'expectedOutputs': {
   1243        'output': {
   1244          'data': [
   1245            0.1933533329919328, 0.5446354056033407, 0.3565753786367729,
   1246            0.18010397583982396, 0.27871361683602214, 0.15542395985886007,
   1247            0.005135118987714682, 0.07771513366674958, 0.0008727149065748813
   1248          ],
   1249          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
   1250        }
   1251      }
   1252    }
   1253  },
   1254  {
   1255    'name': 'convTranspose2d default + prelu',
   1256    'graph': {
   1257      'inputs': {
   1258        'convTranspose2dInput': {
   1259          'data': [
   1260            0.5872158408164978, 0.6077792048454285, 0.017289165407419205,
   1261            0.2614607512950897
   1262          ],
   1263          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   1264        },
   1265        'convTranspose2dFilter': {
   1266          'data': [
   1267            0.3292713165283203, 0.5866857171058655, 0.29701370000839233,
   1268            0.0033378428779542446
   1269          ],
   1270          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   1271        },
   1272        'preluSlope': {
   1273          'data': [
   1274            2,
   1275            3,
   1276            4,
   1277            -2,
   1278            -4,
   1279            -5,
   1280            8,
   1281            9,
   1282            1,
   1283          ],
   1284          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
   1285        },
   1286      },
   1287      'operators': [
   1288        {
   1289          'name': 'convTranspose2d',
   1290          'arguments': [
   1291            {'input': 'convTranspose2dInput'},
   1292            {'filter': 'convTranspose2dFilter'}
   1293          ],
   1294          'outputs': 'convTranspose2dOutput'
   1295        },
   1296        {
   1297          'name': 'prelu',
   1298          'arguments':
   1299              [{'input': 'convTranspose2dOutput'}, {'slope': 'preluSlope'}],
   1300          'outputs': 'output'
   1301        },
   1302      ],
   1303      'expectedOutputs': {
   1304        'output': {
   1305          'data': [
   1306            0.1933533329919328, 0.5446354056033407, 0.3565753786367729,
   1307            0.18010397583982396, 0.27871361683602214, 0.15542395985886007,
   1308            0.005135118987714682, 0.07771513366674958, 0.0008727149065748813
   1309          ],
   1310          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
   1311        }
   1312      }
   1313    }
   1314  },
   1315  {
   1316    'name': 'convTranspose2d default + softsign',
   1317    'graph': {
   1318      'inputs': {
   1319        'convTranspose2dInput': {
   1320          'data': [
   1321            0.5872158408164978, 0.6077792048454285, 0.017289165407419205,
   1322            0.2614607512950897
   1323          ],
   1324          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   1325        },
   1326        'convTranspose2dFilter': {
   1327          'data': [
   1328            0.3292713165283203, 0.5866857171058655, 0.29701370000839233,
   1329            0.0033378428779542446
   1330          ],
   1331          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   1332        }
   1333      },
   1334      'operators': [
   1335        {
   1336          'name': 'convTranspose2d',
   1337          'arguments': [
   1338            {'input': 'convTranspose2dInput'},
   1339            {'filter': 'convTranspose2dFilter'}
   1340          ],
   1341          'outputs': 'convTranspose2dOutput'
   1342        },
   1343        {
   1344          'name': 'softsign',
   1345          'arguments': [{'input': 'convTranspose2dOutput'}],
   1346          'outputs': 'output'
   1347        },
   1348      ],
   1349      'expectedOutputs': {
   1350        'output': {
   1351          'data': [
   1352            0.16202521324157715, 0.35259804129600525, 0.2628496587276459,
   1353            0.15261703729629517, 0.2179640680551529, 0.13451682031154633,
   1354            0.005108884070068598, 0.07211101800203323, 0.000871953961905092
   1355          ],
   1356          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
   1357        }
   1358      }
   1359    }
   1360  },
   1361  {
   1362    'name': 'batchNormalization default + relu',
   1363    'graph': {
   1364      'inputs': {
   1365        'bnInput': {
   1366          'data': [
   1367            -41.30733108520508,  64.08863830566406,    -63.376670837402344,
   1368            -46.790367126464844, 83.02227020263672,    -80.08049011230469,
   1369            -62.144378662109375, -0.10012771934270859, -40.90216064453125,
   1370            56.96306228637695,   37.37249755859375,    57.046478271484375,
   1371            82.05680084228516,   -86.1164321899414,    76.8831787109375,
   1372            97.03362274169922,   -21.35103988647461,   -96.93824005126953,
   1373            -9.359310150146484,  80.20824432373047,    -85.36802673339844,
   1374            62.35185241699219,   -68.4724349975586,    -12.10716724395752
   1375          ],
   1376          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1377        },
   1378        'bnMean': {
   1379          'data': [
   1380            -7.814267635345459, -95.64129638671875, 38.15440368652344,
   1381            -55.95203399658203, -87.86500549316406, -41.63645553588867
   1382          ],
   1383          'descriptor': {shape: [6], dataType: 'float32'}
   1384        },
   1385        'bnVariance': {
   1386          'data': [
   1387            60.31186294555664, 26.43260383605957, 53.275634765625,
   1388            40.146121978759766, 59.41098403930664, 35.99981689453125
   1389          ],
   1390          'descriptor': {shape: [6], dataType: 'float32'}
   1391        }
   1392      },
   1393      'operators': [
   1394        {
   1395          'name': 'batchNormalization',
   1396          'arguments': [
   1397            {'input': 'bnInput'}, {'mean': 'bnMean'}, {'variance': 'bnVariance'}
   1398          ],
   1399          'outputs': 'bnOutput'
   1400        },
   1401        {
   1402          'name': 'relu',
   1403          'arguments': [{'input': 'bnOutput'}],
   1404          'outputs': 'output'
   1405        }
   1406      ],
   1407      'expectedOutputs': {
   1408        'output': {
   1409          'data': [
   1410            0,
   1411            31.068212509155273,
   1412            0,
   1413            1.4459478855133057,
   1414            22.170541763305664,
   1415            0,
   1416            0,
   1417            18.583200454711914,
   1418            0,
   1419            17.820920944213867,
   1420            16.2480411529541,
   1421            16.447195053100586,
   1422            11.57226848602295,
   1423            1.8526301383972168,
   1424            5.306026458740234,
   1425            24.145092010498047,
   1426            8.629376411437988,
   1427            0,
   1428            0,
   1429            34.203548431396484,
   1430            0,
   1431            18.671411514282227,
   1432            2.5159497261047363,
   1433            4.921559810638428
   1434          ],
   1435          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1436        }
   1437      }
   1438    }
   1439  },
   1440  {
   1441    'name': 'batchNormalization default + leakyRelu',
   1442    'graph': {
   1443      'inputs': {
   1444        'bnInput': {
   1445          'data': [
   1446            -41.30733108520508,  64.08863830566406,    -63.376670837402344,
   1447            -46.790367126464844, 83.02227020263672,    -80.08049011230469,
   1448            -62.144378662109375, -0.10012771934270859, -40.90216064453125,
   1449            56.96306228637695,   37.37249755859375,    57.046478271484375,
   1450            82.05680084228516,   -86.1164321899414,    76.8831787109375,
   1451            97.03362274169922,   -21.35103988647461,   -96.93824005126953,
   1452            -9.359310150146484,  80.20824432373047,    -85.36802673339844,
   1453            62.35185241699219,   -68.4724349975586,    -12.10716724395752
   1454          ],
   1455          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1456        },
   1457        'bnMean': {
   1458          'data': [
   1459            -7.814267635345459, -95.64129638671875, 38.15440368652344,
   1460            -55.95203399658203, -87.86500549316406, -41.63645553588867
   1461          ],
   1462          'descriptor': {shape: [6], dataType: 'float32'}
   1463        },
   1464        'bnVariance': {
   1465          'data': [
   1466            60.31186294555664, 26.43260383605957, 53.275634765625,
   1467            40.146121978759766, 59.41098403930664, 35.99981689453125
   1468          ],
   1469          'descriptor': {shape: [6], dataType: 'float32'}
   1470        }
   1471      },
   1472      'operators': [
   1473        {
   1474          'name': 'batchNormalization',
   1475          'arguments': [
   1476            {'input': 'bnInput'}, {'mean': 'bnMean'}, {'variance': 'bnVariance'}
   1477          ],
   1478          'outputs': 'bnOutput'
   1479        },
   1480        {
   1481          'name': 'leakyRelu',
   1482          'arguments': [{'input': 'bnOutput'}],
   1483          'outputs': 'output'
   1484        }
   1485      ],
   1486      'expectedOutputs': {
   1487        'output': {
   1488          'data': [
   1489            -0.04312741756439209,   31.068212509155273, -0.13910239934921265,
   1490            1.4459478855133057,     22.170541763305664, -0.06407354772090912,
   1491            -0.06995829194784164,   18.583200454711914, -0.1083112508058548,
   1492            17.820920944213867,     16.2480411529541,   16.447195053100586,
   1493            11.57226848602295,      1.8526301383972168, 5.306026458740234,
   1494            24.145092010498047,     8.629376411437988,  -0.0921698659658432,
   1495            -0.0019894775468856096, 34.203548431396484, -0.1692316085100174,
   1496            18.671411514282227,     2.5159497261047363, 4.921559810638428
   1497          ],
   1498          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1499        }
   1500      }
   1501    }
   1502  },
   1503  {
   1504    'name': 'batchNormalization default + sigmoid',
   1505    'graph': {
   1506      'inputs': {
   1507        'bnInput': {
   1508          'data': [
   1509            -41.30733108520508,  64.08863830566406,    -63.376670837402344,
   1510            -46.790367126464844, 83.02227020263672,    -80.08049011230469,
   1511            -62.144378662109375, -0.10012771934270859, -40.90216064453125,
   1512            56.96306228637695,   37.37249755859375,    57.046478271484375,
   1513            82.05680084228516,   -86.1164321899414,    76.8831787109375,
   1514            97.03362274169922,   -21.35103988647461,   -96.93824005126953,
   1515            -9.359310150146484,  80.20824432373047,    -85.36802673339844,
   1516            62.35185241699219,   -68.4724349975586,    -12.10716724395752
   1517          ],
   1518          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1519        },
   1520        'bnMean': {
   1521          'data': [
   1522            -7.814267635345459, -95.64129638671875, 38.15440368652344,
   1523            -55.95203399658203, -87.86500549316406, -41.63645553588867
   1524          ],
   1525          'descriptor': {shape: [6], dataType: 'float32'}
   1526        },
   1527        'bnVariance': {
   1528          'data': [
   1529            60.31186294555664, 26.43260383605957, 53.275634765625,
   1530            40.146121978759766, 59.41098403930664, 35.99981689453125
   1531          ],
   1532          'descriptor': {shape: [6], dataType: 'float32'}
   1533        }
   1534      },
   1535      'operators': [
   1536        {
   1537          'name': 'batchNormalization',
   1538          'arguments': [
   1539            {'input': 'bnInput'}, {'mean': 'bnMean'}, {'variance': 'bnVariance'}
   1540          ],
   1541          'outputs': 'bnOutput'
   1542        },
   1543        {
   1544          'name': 'sigmoid',
   1545          'arguments': [{'input': 'bnOutput'}],
   1546          'outputs': 'output'
   1547        }
   1548      ],
   1549      'expectedOutputs': {
   1550        'output': {
   1551          'data': [
   1552            0.013219666667282581,
   1553            1,
   1554            9.09618108835275e-7,
   1555            0.8093740344047546,
   1556            1,
   1557            0.0016466662054881454,
   1558            0.0009148556273430586,
   1559            1,
   1560            0.000019773951862589456,
   1561            1,
   1562            0.9999999403953552,
   1563            0.9999999403953552,
   1564            0.9999905824661255,
   1565            0.864435613155365,
   1566            0.9950628876686096,
   1567            1,
   1568            0.9998212456703186,
   1569            0.00009932774992194027,
   1570            0.45042645931243896,
   1571            1,
   1572            4.4705895874130874e-8,
   1573            1,
   1574            0.9252524375915527,
   1575            0.992764949798584
   1576          ],
   1577          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1578        }
   1579      }
   1580    }
   1581  },
   1582  {
   1583    'name': 'batchNormalization default + clamp',
   1584    'graph': {
   1585      'inputs': {
   1586        'bnInput': {
   1587          'data': [
   1588            -41.30733108520508,  64.08863830566406,    -63.376670837402344,
   1589            -46.790367126464844, 83.02227020263672,    -80.08049011230469,
   1590            -62.144378662109375, -0.10012771934270859, -40.90216064453125,
   1591            56.96306228637695,   37.37249755859375,    57.046478271484375,
   1592            82.05680084228516,   -86.1164321899414,    76.8831787109375,
   1593            97.03362274169922,   -21.35103988647461,   -96.93824005126953,
   1594            -9.359310150146484,  80.20824432373047,    -85.36802673339844,
   1595            62.35185241699219,   -68.4724349975586,    -12.10716724395752
   1596          ],
   1597          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1598        },
   1599        'bnMean': {
   1600          'data': [
   1601            -7.814267635345459, -95.64129638671875, 38.15440368652344,
   1602            -55.95203399658203, -87.86500549316406, -41.63645553588867
   1603          ],
   1604          'descriptor': {shape: [6], dataType: 'float32'}
   1605        },
   1606        'bnVariance': {
   1607          'data': [
   1608            60.31186294555664, 26.43260383605957, 53.275634765625,
   1609            40.146121978759766, 59.41098403930664, 35.99981689453125
   1610          ],
   1611          'descriptor': {shape: [6], dataType: 'float32'}
   1612        }
   1613      },
   1614      'operators': [
   1615        {
   1616          'name': 'batchNormalization',
   1617          'arguments': [
   1618            {'input': 'bnInput'}, {'mean': 'bnMean'}, {'variance': 'bnVariance'}
   1619          ],
   1620          'outputs': 'bnOutput'
   1621        },
   1622        {
   1623          'name': 'clamp',
   1624          'arguments': [
   1625            {'input': 'bnOutput'}, {'options': {'minValue': 0, 'maxValue': 6}}
   1626          ],
   1627          'outputs': 'output'
   1628        }
   1629      ],
   1630      'expectedOutputs': {
   1631        'output': {
   1632          'data': [
   1633            0,
   1634            6,
   1635            0,
   1636            1.4459478855133057,
   1637            6,
   1638            0,
   1639            0,
   1640            6,
   1641            0,
   1642            6,
   1643            6,
   1644            6,
   1645            6,
   1646            1.8526301383972168,
   1647            5.306026458740234,
   1648            6,
   1649            6,
   1650            0,
   1651            0,
   1652            6,
   1653            0,
   1654            6,
   1655            2.5159497261047363,
   1656            4.921559810638428
   1657          ],
   1658          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1659        }
   1660      }
   1661    }
   1662  },
   1663  {
   1664    'name': 'batchNormalization default + prelu',
   1665    'graph': {
   1666      'inputs': {
   1667        'bnInput': {
   1668          'data': [
   1669            -41.30733108520508,  64.08863830566406,    -63.376670837402344,
   1670            -46.790367126464844, 83.02227020263672,    -80.08049011230469,
   1671            -62.144378662109375, -0.10012771934270859, -40.90216064453125,
   1672            56.96306228637695,   37.37249755859375,    57.046478271484375,
   1673            82.05680084228516,   -86.1164321899414,    76.8831787109375,
   1674            97.03362274169922,   -21.35103988647461,   -96.93824005126953,
   1675            -9.359310150146484,  80.20824432373047,    -85.36802673339844,
   1676            62.35185241699219,   -68.4724349975586,    -12.10716724395752
   1677          ],
   1678          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1679        },
   1680        'bnMean': {
   1681          'data': [
   1682            -7.814267635345459, -95.64129638671875, 38.15440368652344,
   1683            -55.95203399658203, -87.86500549316406, -41.63645553588867
   1684          ],
   1685          'descriptor': {shape: [6], dataType: 'float32'}
   1686        },
   1687        'bnVariance': {
   1688          'data': [
   1689            60.31186294555664, 26.43260383605957, 53.275634765625,
   1690            40.146121978759766, 59.41098403930664, 35.99981689453125
   1691          ],
   1692          'descriptor': {shape: [6], dataType: 'float32'}
   1693        },
   1694        'preluSlope': {
   1695          'data': [
   1696            2, 3, 4, -2, -4, -5, 2, 3, 4, -2, -4, -5,
   1697            2, 3, 4, -2, -4, -5, 2, 3, 4, -2, -4, -5,
   1698 
   1699          ],
   1700          'descriptor': {shape: [4, 6], dataType: 'float32'},
   1701        },
   1702      },
   1703      'operators': [
   1704        {
   1705          'name': 'batchNormalization',
   1706          'arguments': [
   1707            {'input': 'bnInput'}, {'mean': 'bnMean'}, {'variance': 'bnVariance'}
   1708          ],
   1709          'outputs': 'bnOutput'
   1710        },
   1711        {
   1712          'name': 'prelu',
   1713          'arguments': [{'input': 'bnOutput'}, {'slope': 'preluSlope'}],
   1714          'outputs': 'output'
   1715        }
   1716      ],
   1717      'expectedOutputs': {
   1718        'output': {
   1719          'data': [
   1720            -8.625483512878418,  31.068212509155273, -55.640960693359375,
   1721            1.4459478855133057,  22.170541763305664, 32.036773681640625,
   1722            -13.991658210754395, 18.583200454711914, -43.324501037597656,
   1723            17.820920944213867,  16.2480411529541,   16.447195053100586,
   1724            11.57226848602295,   1.8526301383972168, 5.306026458740234,
   1725            24.145092010498047,  8.629376411437988,  46.084930419921875,
   1726            -0.397895485162735,  34.203548431396484, -67.69264221191406,
   1727            18.671411514282227,  2.5159497261047363, 4.921559810638428
   1728          ],
   1729          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1730        }
   1731      }
   1732    }
   1733  },
   1734  {
   1735    'name': 'batchNormalization default + elu',
   1736    'graph': {
   1737      'inputs': {
   1738        'bnInput': {
   1739          'data': [
   1740            -41.30733108520508,  64.08863830566406,    -63.376670837402344,
   1741            -46.790367126464844, 83.02227020263672,    -80.08049011230469,
   1742            -62.144378662109375, -0.10012771934270859, -40.90216064453125,
   1743            56.96306228637695,   37.37249755859375,    57.046478271484375,
   1744            82.05680084228516,   -86.1164321899414,    76.8831787109375,
   1745            97.03362274169922,   -21.35103988647461,   -96.93824005126953,
   1746            -9.359310150146484,  80.20824432373047,    -85.36802673339844,
   1747            62.35185241699219,   -68.4724349975586,    -12.10716724395752
   1748          ],
   1749          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1750        },
   1751        'bnMean': {
   1752          'data': [
   1753            -7.814267635345459, -95.64129638671875, 38.15440368652344,
   1754            -55.95203399658203, -87.86500549316406, -41.63645553588867
   1755          ],
   1756          'descriptor': {shape: [6], dataType: 'float32'}
   1757        },
   1758        'bnVariance': {
   1759          'data': [
   1760            60.31186294555664, 26.43260383605957, 53.275634765625,
   1761            40.146121978759766, 59.41098403930664, 35.99981689453125
   1762          ],
   1763          'descriptor': {shape: [6], dataType: 'float32'}
   1764        }
   1765      },
   1766      'operators': [
   1767        {
   1768          'name': 'batchNormalization',
   1769          'arguments': [
   1770            {'input': 'bnInput'}, {'mean': 'bnMean'}, {'variance': 'bnVariance'}
   1771          ],
   1772          'outputs': 'bnOutput'
   1773        },
   1774        {
   1775          'name': 'elu',
   1776          'arguments': [{'input': 'bnOutput'}],
   1777          'outputs': 'output'
   1778        }
   1779      ],
   1780      'expectedOutputs': {
   1781        'output': {
   1782          'data': [
   1783            -0.9866032600402832,  31.068212509155273, -0.9999991059303284,
   1784            1.4459478855133057,   22.170541763305664, -0.9983506202697754,
   1785            -0.9990842938423157,  18.583200454711914, -0.9999802112579346,
   1786            17.820920944213867,   16.2480411529541,   16.447195053100586,
   1787            11.57226848602295,    1.8526301383972168, 5.306026458740234,
   1788            24.145092010498047,   8.629376411437988,  -0.9999006390571594,
   1789            -0.18040728569030762, 34.203548431396484, -0.9999999403953552,
   1790            18.671411514282227,   2.5159497261047363, 4.921559810638428
   1791          ],
   1792          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1793        }
   1794      }
   1795    }
   1796  },
   1797  {
   1798    'name': 'batchNormalization options.axis=0 + gelu',
   1799    'graph': {
   1800      'inputs': {
   1801        'bnInput': {
   1802          'data': [-1, 0, 1, 2, 3, 4],
   1803          'descriptor': {shape: [3, 1, 2], dataType: 'float32'}
   1804        },
   1805        'bnMean': {
   1806          'data': [0, 3, 6],
   1807          'descriptor': {shape: [3], dataType: 'float32'}
   1808        },
   1809        'bnVariance': {
   1810          'data': [1.0, 1.5, 2.0],
   1811          'descriptor': {shape: [3], dataType: 'float32'}
   1812        }
   1813      },
   1814      'operators': [
   1815        {
   1816          'name': 'batchNormalization',
   1817          'arguments': [
   1818            {'input': 'bnInput'}, {'mean': 'bnMean'},
   1819            {'variance': 'bnVariance'}, {'options': {'axis': 0}}
   1820          ],
   1821          'outputs': 'bnOutput'
   1822        },
   1823        {
   1824          'name': 'gelu',
   1825          'arguments': [{'input': 'bnOutput'}],
   1826          'outputs': 'output'
   1827        }
   1828      ],
   1829      'expectedOutputs': {
   1830        'output': {
   1831          'data': [
   1832            -0.15865567326545715, 0, -0.08366739749908447, -0.16910307109355927,
   1833            -0.03595117852091789, -0.1112278625369072
   1834          ],
   1835          'descriptor': {shape: [3, 1, 2], dataType: 'float32'}
   1836        }
   1837      }
   1838    }
   1839  },
   1840  {
   1841    'name': 'batchNormalization default + hardSigmoid',
   1842    'graph': {
   1843      'inputs': {
   1844        'bnInput': {
   1845          'data': [
   1846            -41.30733108520508,  64.08863830566406,    -63.376670837402344,
   1847            -46.790367126464844, 83.02227020263672,    -80.08049011230469,
   1848            -62.144378662109375, -0.10012771934270859, -40.90216064453125,
   1849            56.96306228637695,   37.37249755859375,    57.046478271484375,
   1850            82.05680084228516,   -86.1164321899414,    76.8831787109375,
   1851            97.03362274169922,   -21.35103988647461,   -96.93824005126953,
   1852            -9.359310150146484,  80.20824432373047,    -85.36802673339844,
   1853            62.35185241699219,   -68.4724349975586,    -12.10716724395752
   1854          ],
   1855          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1856        },
   1857        'bnMean': {
   1858          'data': [
   1859            -7.814267635345459, -95.64129638671875, 38.15440368652344,
   1860            -55.95203399658203, -87.86500549316406, -41.63645553588867
   1861          ],
   1862          'descriptor': {shape: [6], dataType: 'float32'}
   1863        },
   1864        'bnVariance': {
   1865          'data': [
   1866            60.31186294555664, 26.43260383605957, 53.275634765625,
   1867            40.146121978759766, 59.41098403930664, 35.99981689453125
   1868          ],
   1869          'descriptor': {shape: [6], dataType: 'float32'}
   1870        }
   1871      },
   1872      'operators': [
   1873        {
   1874          'name': 'batchNormalization',
   1875          'arguments': [
   1876            {'input': 'bnInput'}, {'mean': 'bnMean'}, {'variance': 'bnVariance'}
   1877          ],
   1878          'outputs': 'bnOutput'
   1879        },
   1880        {
   1881          'name': 'hardSigmoid',
   1882          'arguments': [{'input': 'bnOutput'}],
   1883          'outputs': 'output'
   1884        }
   1885      ],
   1886      'expectedOutputs': {
   1887        'output': {
   1888          'data': [
   1889            0,
   1890            1,
   1891            0,
   1892            0.7891895771026611,
   1893            1,
   1894            0,
   1895            0,
   1896            1,
   1897            0,
   1898            1,
   1899            1,
   1900            1,
   1901            1,
   1902            0.8705260157585144,
   1903            1,
   1904            1,
   1905            1,
   1906            0,
   1907            0.4602104425430298,
   1908            1,
   1909            0,
   1910            1,
   1911            1,
   1912            1
   1913          ],
   1914          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1915        }
   1916      }
   1917    }
   1918  },
   1919  {
   1920    'name': 'batchNormalization default + hardSwish',
   1921    'graph': {
   1922      'inputs': {
   1923        'bnInput': {
   1924          'data': [
   1925            -41.30733108520508,  64.08863830566406,    -63.376670837402344,
   1926            -46.790367126464844, 83.02227020263672,    -80.08049011230469,
   1927            -62.144378662109375, -0.10012771934270859, -40.90216064453125,
   1928            56.96306228637695,   37.37249755859375,    57.046478271484375,
   1929            82.05680084228516,   -86.1164321899414,    76.8831787109375,
   1930            97.03362274169922,   -21.35103988647461,   -96.93824005126953,
   1931            -9.359310150146484,  80.20824432373047,    -85.36802673339844,
   1932            62.35185241699219,   -68.4724349975586,    -12.10716724395752
   1933          ],
   1934          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1935        },
   1936        'bnMean': {
   1937          'data': [
   1938            -7.814267635345459, -95.64129638671875, 38.15440368652344,
   1939            -55.95203399658203, -87.86500549316406, -41.63645553588867
   1940          ],
   1941          'descriptor': {shape: [6], dataType: 'float32'}
   1942        },
   1943        'bnVariance': {
   1944          'data': [
   1945            60.31186294555664, 26.43260383605957, 53.275634765625,
   1946            40.146121978759766, 59.41098403930664, 35.99981689453125
   1947          ],
   1948          'descriptor': {shape: [6], dataType: 'float32'}
   1949        }
   1950      },
   1951      'operators': [
   1952        {
   1953          'name': 'batchNormalization',
   1954          'arguments': [
   1955            {'input': 'bnInput'}, {'mean': 'bnMean'}, {'variance': 'bnVariance'}
   1956          ],
   1957          'outputs': 'bnOutput'
   1958        },
   1959        {
   1960          'name': 'hardSwish',
   1961          'arguments': [{'input': 'bnOutput'}],
   1962          'outputs': 'output'
   1963        }
   1964      ],
   1965      'expectedOutputs': {
   1966        'output': {
   1967          'data': [
   1968            -0,
   1969            31.068212509155273,
   1970            -0,
   1971            1.0714348554611206,
   1972            22.170541763305664,
   1973            -0,
   1974            -0,
   1975            18.583200454711914,
   1976            -0,
   1977            17.820920944213867,
   1978            16.2480411529541,
   1979            16.447195053100586,
   1980            11.57226848602295,
   1981            1.4983549118041992,
   1982            5.306026458740234,
   1983            24.145092010498047,
   1984            8.629376411437988,
   1985            -0,
   1986            -0.09287717193365097,
   1987            34.203548431396484,
   1988            -0,
   1989            18.671411514282227,
   1990            2.3129754066467285,
   1991            4.921559810638428
   1992          ],
   1993          'descriptor': {shape: [4, 6], dataType: 'float32'}
   1994        }
   1995      }
   1996    }
   1997  },
   1998  {
   1999    'name': 'batchNormalization default + linear',
   2000    'graph': {
   2001      'inputs': {
   2002        'bnInput': {
   2003          'data': [
   2004            -41.30733108520508,  64.08863830566406,    -63.376670837402344,
   2005            -46.790367126464844, 83.02227020263672,    -80.08049011230469,
   2006            -62.144378662109375, -0.10012771934270859, -40.90216064453125,
   2007            56.96306228637695,   37.37249755859375,    57.046478271484375,
   2008            82.05680084228516,   -86.1164321899414,    76.8831787109375,
   2009            97.03362274169922,   -21.35103988647461,   -96.93824005126953,
   2010            -9.359310150146484,  80.20824432373047,    -85.36802673339844,
   2011            62.35185241699219,   -68.4724349975586,    -12.10716724395752
   2012          ],
   2013          'descriptor': {shape: [4, 6], dataType: 'float32'}
   2014        },
   2015        'bnMean': {
   2016          'data': [
   2017            -7.814267635345459, -95.64129638671875, 38.15440368652344,
   2018            -55.95203399658203, -87.86500549316406, -41.63645553588867
   2019          ],
   2020          'descriptor': {shape: [6], dataType: 'float32'}
   2021        },
   2022        'bnVariance': {
   2023          'data': [
   2024            60.31186294555664, 26.43260383605957, 53.275634765625,
   2025            40.146121978759766, 59.41098403930664, 35.99981689453125
   2026          ],
   2027          'descriptor': {shape: [6], dataType: 'float32'}
   2028        }
   2029      },
   2030      'operators': [
   2031        {
   2032          'name': 'batchNormalization',
   2033          'arguments': [
   2034            {'input': 'bnInput'}, {'mean': 'bnMean'}, {'variance': 'bnVariance'}
   2035          ],
   2036          'outputs': 'bnOutput'
   2037        },
   2038        {
   2039          'name': 'linear',
   2040          'arguments': [{'input': 'bnOutput'}],
   2041          'outputs': 'output'
   2042        }
   2043      ],
   2044      'expectedOutputs': {
   2045        'output': {
   2046          'data': [
   2047            -4.312741756439209,  31.068212509155273, -13.910240173339844,
   2048            1.4459478855133057,  22.170541763305664, -6.407354354858398,
   2049            -6.995829105377197,  18.583200454711914, -10.831125259399414,
   2050            17.820920944213867,  16.2480411529541,   16.447195053100586,
   2051            11.57226848602295,   1.8526301383972168, 5.306026458740234,
   2052            24.145092010498047,  8.629376411437988,  -9.216986656188965,
   2053            -0.1989477425813675, 34.203548431396484, -16.923160552978516,
   2054            18.671411514282227,  2.5159497261047363, 4.921559810638428
   2055          ],
   2056          'descriptor': {shape: [4, 6], dataType: 'float32'}
   2057        }
   2058      }
   2059    }
   2060  },
   2061  {
   2062    'name': 'batchNormalization options.axis=0 + softplus',
   2063    'graph': {
   2064      'inputs': {
   2065        'bnInput': {
   2066          'data': [-1, 0, 1, 2, 3, 4],
   2067          'descriptor': {shape: [3, 1, 2], dataType: 'float32'}
   2068        },
   2069        'bnMean': {
   2070          'data': [0, 3, 6],
   2071          'descriptor': {shape: [3], dataType: 'float32'}
   2072        },
   2073        'bnVariance': {
   2074          'data': [1.0, 1.5, 2.0],
   2075          'descriptor': {shape: [3], dataType: 'float32'}
   2076        }
   2077      },
   2078      'operators': [
   2079        {
   2080          'name': 'batchNormalization',
   2081          'arguments': [
   2082            {'input': 'bnInput'}, {'mean': 'bnMean'},
   2083            {'variance': 'bnVariance'}, {'options': {'axis': 0}}
   2084          ],
   2085          'outputs': 'bnOutput'
   2086        },
   2087        {
   2088          'name': 'softplus',
   2089          'arguments': [{'input': 'bnOutput'}],
   2090          'outputs': 'output'
   2091        }
   2092      ],
   2093      'expectedOutputs': {
   2094        'output': {
   2095          'data': [
   2096            0.31326302886009216, 0.6931471824645996, 0.17843490839004517,
   2097            0.3660161793231964, 0.11321607977151871, 0.21762241423130035
   2098          ],
   2099          'descriptor': {shape: [3, 1, 2], dataType: 'float32'}
   2100        }
   2101      }
   2102    }
   2103  },
   2104  {
   2105    'name': 'batchNormalization default + softsign',
   2106    'graph': {
   2107      'inputs': {
   2108        'bnInput': {
   2109          'data': [
   2110            -41.30733108520508,  64.08863830566406,    -63.376670837402344,
   2111            -46.790367126464844, 83.02227020263672,    -80.08049011230469,
   2112            -62.144378662109375, -0.10012771934270859, -40.90216064453125,
   2113            56.96306228637695,   37.37249755859375,    57.046478271484375,
   2114            82.05680084228516,   -86.1164321899414,    76.8831787109375,
   2115            97.03362274169922,   -21.35103988647461,   -96.93824005126953,
   2116            -9.359310150146484,  80.20824432373047,    -85.36802673339844,
   2117            62.35185241699219,   -68.4724349975586,    -12.10716724395752
   2118          ],
   2119          'descriptor': {shape: [4, 6], dataType: 'float32'}
   2120        },
   2121        'bnMean': {
   2122          'data': [
   2123            -7.814267635345459, -95.64129638671875, 38.15440368652344,
   2124            -55.95203399658203, -87.86500549316406, -41.63645553588867
   2125          ],
   2126          'descriptor': {shape: [6], dataType: 'float32'}
   2127        },
   2128        'bnVariance': {
   2129          'data': [
   2130            60.31186294555664, 26.43260383605957, 53.275634765625,
   2131            40.146121978759766, 59.41098403930664, 35.99981689453125
   2132          ],
   2133          'descriptor': {shape: [6], dataType: 'float32'}
   2134        }
   2135      },
   2136      'operators': [
   2137        {
   2138          'name': 'batchNormalization',
   2139          'arguments': [
   2140            {'input': 'bnInput'}, {'mean': 'bnMean'}, {'variance': 'bnVariance'}
   2141          ],
   2142          'outputs': 'bnOutput'
   2143        },
   2144        {
   2145          'name': 'softsign',
   2146          'arguments': [{'input': 'bnOutput'}],
   2147          'outputs': 'output'
   2148        }
   2149      ],
   2150      'expectedOutputs': {
   2151        'output': {
   2152          'data': [
   2153            -0.8117733001708984,  0.9688164591789246, -0.9329320192337036,
   2154            0.5911605358123779,   0.956841766834259,  -0.8649990558624268,
   2155            -0.8749347925186157,  0.9489358067512512, -0.9154771566390991,
   2156            0.9468676447868347,   0.9420223832130432, 0.9426842331886292,
   2157            0.9204598665237427,   0.6494463086128235, 0.8414215445518494,
   2158            0.960230827331543,    0.8961511254310608, -0.9021238088607788,
   2159            -0.16593527793884277, 0.9715937972068787, -0.9442062973976135,
   2160            0.9491648077964783,   0.7155818343162537, 0.8311256170272827
   2161          ],
   2162          'descriptor': {shape: [4, 6], dataType: 'float32'}
   2163        }
   2164      }
   2165    }
   2166  },
   2167  {
   2168    'name': 'conv2d default + softmax',
   2169    'graph': {
   2170      'inputs': {
   2171        'conv2dInput': {
   2172          'data': [
   2173            0.6124474406242371,  0.8857858777046204,  0.13667134940624237,
   2174            0.5645291209220886,  0.8965172171592712,  0.36792829632759094,
   2175            0.6811466217041016,  0.0479511022567749,  0.33355462551116943,
   2176            0.19882695376873016, 0.41167140007019043, 0.07934240251779556,
   2177            0.4272463321685791,  0.535800576210022,   0.5910806059837341,
   2178            0.28415432572364807, 0.4147258698940277,  0.026906268671154976,
   2179            0.3621256649494171,  0.9945681691169739,  0.07184549421072006,
   2180            0.12204372137784958, 0.8422137498855591,  0.4537501037120819,
   2181            0.21529443562030792
   2182          ],
   2183          'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'}
   2184        },
   2185        'conv2dFilter': {
   2186          'data': [
   2187            0.3804761469364166, 0.5280312299728394, 0.21947036683559418,
   2188            0.36689770221710205, 0.33974137902259827, 0.4200059771537781,
   2189            0.3805030882358551, 0.19443586468696594, 0.5686976909637451
   2190          ],
   2191          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'},
   2192        }
   2193      },
   2194      'operators': [
   2195        {
   2196          'name': 'conv2d',
   2197          'arguments': [{'input': 'conv2dInput'}, {'filter': 'conv2dFilter'}],
   2198          'outputs': 'conv2dOutput'
   2199        },
   2200        {
   2201          'name': 'softmax',
   2202          'arguments': [{'input': 'conv2dOutput'}, {'axis': 1}],
   2203          'outputs': 'output'
   2204        },
   2205      ],
   2206      'expectedOutputs': {
   2207        'output': {
   2208          'data': [1, 1, 1, 1, 1, 1, 1, 1, 1],
   2209          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
   2210        }
   2211      }
   2212    }
   2213  },
   2214  {
   2215    'name': 'conv2d with options.inputLayout=\'nchw\' + softmax',
   2216    'graph': {
   2217      'inputs': {
   2218        'conv2dInput': {
   2219          'data': [
   2220            0.7529087066650391, 0.7520291805267334, 0.5949527621269226,
   2221            0.2163185328245163, 0.07589349150657654, 0.151067852973938,
   2222            0.1212485060095787, 0.5364335179328918, 0.5937089920043945,
   2223            0.991003155708313, 0.3630942404270172, 0.9289674162864685,
   2224            0.22727376222610474, 0.5414124131202698, 0.08445341885089874,
   2225            0.6765284538269043, 0.6193256378173828, 0.3929215967655182
   2226          ],
   2227          'descriptor': {shape: [2, 1, 3, 3], dataType: 'float32'}
   2228        },
   2229        'conv2dFilter': {
   2230          'data': [
   2231            0.14543837308883667, 0.9671129584312439, 0.10836050659418106,
   2232            0.3202308118343353, 0.6952692270278931, 0.5070913434028625,
   2233            0.08139707148075104, 0.5303338766098022, 0.3072136342525482,
   2234            0.43241235613822937, 0.9849002361297607, 0.4281076192855835
   2235          ],
   2236          'descriptor': {shape: [3, 1, 2, 2], dataType: 'float32'},
   2237          'constant': true
   2238        }
   2239      },
   2240      'operators': [
   2241        {
   2242          'name': 'conv2d',
   2243          'arguments': [
   2244            {'input': 'conv2dInput'}, {'filter': 'conv2dFilter'},
   2245            {'options': {'inputLayout': 'nchw'}}
   2246          ],
   2247          'outputs': 'conv2dOutput'
   2248        },
   2249        {
   2250          'name': 'softmax',
   2251          'arguments': [{'input': 'conv2dOutput'}, {'axis': 1}],
   2252          'outputs': 'output'
   2253        },
   2254      ],
   2255      'expectedOutputs': {
   2256        'output': {
   2257          'data': [
   2258            0.3331032991409302,  0.324962317943573,   0.29539743065834045,
   2259            0.2717963457107544,  0.3601743280887604,  0.38498347997665405,
   2260            0.3584483861923218,  0.2951734662055969,  0.30672240257263184,
   2261            0.29005417227745056, 0.34615418314933777, 0.4330301880836487,
   2262            0.2580137252807617,  0.35141614079475403, 0.2865088880062103,
   2263            0.2349148392677307,  0.4192594587802887,  0.2807352542877197,
   2264            0.2830294668674469,  0.3250284790992737,  0.3227268159389496,
   2265            0.36784860491752625, 0.4304616451263428,  0.4400566816329956
   2266          ],
   2267          'descriptor': {shape: [2, 3, 2, 2], dataType: 'float32'}
   2268        }
   2269      }
   2270    }
   2271  },
   2272  {
   2273    'name': 'gemm default + softmax',
   2274    'graph': {
   2275      'inputs': {
   2276        'inputA': {
   2277          'data': [
   2278            82.98884582519531, 90.51641082763672, 59.638519287109375,
   2279            36.271873474121094, 18.9648494720459, 43.89479446411133,
   2280            98.89488220214844, 91.46013641357422, 50.51683807373047,
   2281            40.45679473876953, 50.76741409301758, 9.336554527282715
   2282          ],
   2283          'descriptor': {shape: [3, 4], dataType: 'float32'}
   2284        },
   2285        'inputB': {
   2286          'data': [
   2287            25.14739227294922,  66.6923828125,     63.29909896850586,
   2288            10.629964828491211, 61.32737731933594, 0.0037256532814353704,
   2289            16.4991455078125,   3.036668062210083, 93.14022064208984,
   2290            70.08265686035156,  75.74880981445312, 96.60688018798828,
   2291            99.10041809082031,  23.2437744140625,  86.11856842041016,
   2292            42.90679168701172,  34.08055114746094, 87.37654876708984,
   2293            92.34209442138672,  60.32209014892578
   2294          ],
   2295          'descriptor': {shape: [4, 5], dataType: 'float32'}
   2296        }
   2297      },
   2298      'operators': [
   2299        {
   2300          'name': 'gemm',
   2301          'arguments': [{'a': 'inputA'}, {'b': 'inputB'}],
   2302          'outputs': 'gemmOutput'
   2303        },
   2304        {
   2305          'name': 'softmax',
   2306          'arguments': [{'input': 'gemmOutput'}, {'axis': 1}],
   2307          'outputs': 'output'
   2308        },
   2309      ],
   2310      'expectedOutputs': {
   2311        'output': {
   2312          'data': [0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1],
   2313          'descriptor': {shape: [3, 5], dataType: 'float32'}
   2314        }
   2315      }
   2316    }
   2317  },
   2318  {
   2319    'name': 'convTranspose2d default + softmax',
   2320    'graph': {
   2321      'inputs': {
   2322        'convTranspose2dInput': {
   2323          'data': [
   2324            0.5872158408164978, 0.6077792048454285, 0.017289165407419205,
   2325            0.2614607512950897
   2326          ],
   2327          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   2328        },
   2329        'convTranspose2dFilter': {
   2330          'data': [
   2331            0.3292713165283203, 0.5866857171058655, 0.29701370000839233,
   2332            0.0033378428779542446
   2333          ],
   2334          'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}
   2335        }
   2336      },
   2337      'operators': [
   2338        {
   2339          'name': 'convTranspose2d',
   2340          'arguments': [
   2341            {'input': 'convTranspose2dInput'},
   2342            {'filter': 'convTranspose2dFilter'}
   2343          ],
   2344          'outputs': 'convTranspose2dOutput'
   2345        },
   2346        {
   2347          'name': 'softmax',
   2348          'arguments': [{'input': 'convTranspose2dOutput'}, {'axis': 1}],
   2349          'outputs': 'output'
   2350        },
   2351      ],
   2352      'expectedOutputs': {
   2353        'output': {
   2354          'data': [1, 1, 1, 1, 1, 1, 1, 1, 1],
   2355          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
   2356        }
   2357      }
   2358    }
   2359  },
   2360  {
   2361    'name': 'convTranspose2d with options.inputLayout=nchw + softmax',
   2362    'graph': {
   2363      'inputs': {
   2364        'convTranspose2dInput': {
   2365          'data': [
   2366            0.05605664849281311, 0.7114229798316956, 0.6529743671417236,
   2367            0.38622909784317017, 0.3870837390422821, 0.9461629390716553,
   2368            0.09573192149400711, 0.9234652519226074, 0.636277973651886
   2369          ],
   2370          'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}
   2371        },
   2372        'convTranspose2dFilter': {
   2373          'data': [
   2374            0.8614422678947449, 0.6267672777175903, 0.6366490125656128,
   2375            0.8382642269134521, 0.11884837597608566, 0.9921330213546753,
   2376            0.3285411298274994, 0.8742373585700989, 0.7205492258071899,
   2377            0.9801966547966003, 0.06169835478067398, 0.3220160901546478,
   2378            0.7498031854629517, 0.3930714726448059, 0.13811933994293213,
   2379            0.28385090827941895, 0.4235861301422119, 0.1448512077331543
   2380          ],
   2381          'descriptor': {shape: [1, 2, 3, 3], dataType: 'float32'},
   2382          'constant': true
   2383        }
   2384      },
   2385      'operators': [
   2386        {
   2387          'name': 'convTranspose2d',
   2388          'arguments': [
   2389            {'input': 'convTranspose2dInput'},
   2390            {'filter': 'convTranspose2dFilter'},
   2391            {'options': {'inputLayout': 'nchw'}}
   2392          ],
   2393          'outputs': 'convTranspose2dOutput'
   2394        },
   2395        {
   2396          'name': 'softmax',
   2397          'arguments': [{'input': 'convTranspose2dOutput'}, {'axis': 1}],
   2398          'outputs': 'output'
   2399        },
   2400      ],
   2401      'expectedOutputs': {
   2402        'output': {
   2403          'data': [
   2404            0.49833576343872565, 0.4868008917870872,  0.5846997575195981,
   2405            0.6440102325142313,  0.551181906978995,   0.4897745354808822,
   2406            0.5547395504993903,  0.5345537346530161,  0.7474278654695712,
   2407            0.7016867653522572,  0.5063253693672739,  0.48246072443639854,
   2408            0.7623912436471291,  0.8061268489635616,  0.7996560653284985,
   2409            0.506431947475152,   0.5613868238161465,  0.5802700289121353,
   2410            0.7796113177719141,  0.7480226893035377,  0.5010695683288174,
   2411            0.521090376342132,   0.6223909030394784,  0.6938916162243012,
   2412            0.5905655851990261,  0.5016642365612743,  0.5131991082129128,
   2413            0.4153002424804018,  0.35598976748576877, 0.44881809302100495,
   2414            0.5102254645191179,  0.4452604495006097,  0.4654462653469838,
   2415            0.2525721345304288,  0.29831323464774284, 0.4936746306327262,
   2416            0.5175392755636015,  0.237608756352871,   0.19387315103643848,
   2417            0.20034393467150155, 0.493568052524848,   0.43861317618385354,
   2418            0.4197299710878647,  0.22038868222808597, 0.2519773106964624,
   2419            0.4989304316711825,  0.4789096236578681,  0.37760909696052153,
   2420            0.30610838377569893, 0.409434414800974
   2421          ],
   2422          'descriptor': {shape: [1, 2, 5, 5], dataType: 'float32'}
   2423        }
   2424      }
   2425    }
   2426  },
   2427  {
   2428    'name': 'batchNormalization options.axis=0  + softmax',
   2429    'graph': {
   2430      'inputs': {
   2431        'bnInput': {
   2432          'data': [-1, 0, 1, 2, 3, 4],
   2433          'descriptor': {shape: [3, 1, 2], dataType: 'float32'}
   2434        },
   2435        'bnMean': {
   2436          'data': [0, 3, 6],
   2437          'descriptor': {shape: [3], dataType: 'float32'}
   2438        },
   2439        'bnVariance': {
   2440          'data': [1.0, 1.5, 2.0],
   2441          'descriptor': {shape: [3], dataType: 'float32'}
   2442        }
   2443      },
   2444      'operators': [
   2445        {
   2446          'name': 'batchNormalization',
   2447          'arguments': [
   2448            {'input': 'bnInput'}, {'mean': 'bnMean'},
   2449            {'variance': 'bnVariance'}, {'options': {'axis': 0}}
   2450          ],
   2451          'outputs': 'bnOutput'
   2452        },
   2453        {
   2454          'name': 'softmax',
   2455          'arguments': [{'input': 'bnOutput'}, {'axis': 1}],
   2456          'outputs': 'output'
   2457        }
   2458      ],
   2459      'expectedOutputs': {
   2460        'output': {
   2461          'data': [1, 1, 1, 1, 1, 1],
   2462          'descriptor': {shape: [3, 1, 2], dataType: 'float32'}
   2463        }
   2464      }
   2465    }
   2466  },
   2467  {
   2468    'name': 'add + sub + mul + gather default',
   2469    'graph': {
   2470      'inputs': {
   2471        'addA': {
   2472          'data': [10],
   2473          'descriptor': {shape: [], dataType: 'int32'},
   2474          'constant': true
   2475        },
   2476        'addB': {
   2477          'data': [20],
   2478          'descriptor': {shape: [], dataType: 'int32'},
   2479          'constant': true
   2480        },
   2481        'subB': {
   2482          'data': [40],
   2483          'descriptor': {shape: [], dataType: 'int32'},
   2484        },
   2485        'divA': {
   2486          'data': [-20],
   2487          'descriptor': {shape: [], dataType: 'int32'},
   2488          'constant': true
   2489        },
   2490        'gatherInput': {
   2491          'data': [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2],
   2492          'descriptor': {shape: [3, 4], dataType: 'float32'},
   2493          'constant': true
   2494        },
   2495      },
   2496      'operators': [
   2497        {
   2498          'name': 'add',
   2499          'arguments': [{'a': 'addA'}, {'b': 'addB'}],
   2500          'outputs': 'addOutput'
   2501        },
   2502        {
   2503          'name': 'sub',
   2504          'arguments': [{'a': 'addOutput'}, {'b': 'subB'}],
   2505          'outputs': 'subOutput'
   2506        },
   2507        {
   2508          'name': 'div',
   2509          'arguments': [{'a': 'divA'}, {'b': 'subOutput'}],
   2510          'outputs': 'divOutput'
   2511        },
   2512        {
   2513          'name': 'gather',
   2514          'arguments': [{'input': 'gatherInput'}, {'indices': 'divOutput'}],
   2515          'outputs': 'output'
   2516        },
   2517      ],
   2518      'expectedOutputs': {
   2519        'output': {
   2520          'data': [0.9, 1.0, 1.1, 1.2],
   2521          'descriptor': {shape: [4], dataType: 'float32'}
   2522        }
   2523      }
   2524    }
   2525  },
   2526  {
   2527    'name': 'gatherElements + matmul',
   2528    'graph': {
   2529      'inputs': {
   2530        'gatherElementsInput': {
   2531          'data': [
   2532            -66.05901336669922, -68.9197006225586, -77.02045440673828,
   2533            -26.158037185668945, 89.0337142944336, -45.89653396606445,
   2534            43.84803771972656, 48.81806945800781, 51.79948425292969
   2535          ],
   2536          'descriptor': {shape: [3, 3], dataType: 'float32'}
   2537        },
   2538        'gatherElementsIndices': {
   2539          'data': [1, 0, 2, 2, 1, 0],
   2540          'descriptor': {shape: [2, 3], dataType: 'int32'},
   2541          'constant': true
   2542        },
   2543        'matmulB': {
   2544          'data': [
   2545            56.46701431274414,  99.86045837402344,  71.054931640625,
   2546            32.454383850097656, 17.310747146606445, 2.586275100708008,
   2547          ],
   2548          'descriptor': {shape: [3, 2], dataType: 'float32'}
   2549        },
   2550      },
   2551      'operators': [
   2552        {
   2553          'name': 'gatherElements',
   2554          'arguments': [
   2555            {'input': 'gatherElementsInput'}, {'indices': 'gatherElementsIndices'}
   2556          ],
   2557          'outputs': 'gatherElementsOutput'
   2558        },
   2559        {
   2560          'name': 'matmul',
   2561          'arguments': [
   2562            {'a': 'gatherElementsOutput'}, {'b': 'matmulB'}
   2563          ],
   2564          'outputs': 'matmulOutput'
   2565        }
   2566      ],
   2567      'expectedOutputs': {
   2568        'matmulOutput': {
   2569          'data': [
   2570            -5477.462890625, -4714.93212890625,
   2571            7468.97021484375, 7069.02294921875
   2572          ],
   2573          'descriptor': {shape: [2, 2], dataType: 'float32'}
   2574        }
   2575      }
   2576    }
   2577  },
   2578  {
   2579    'name': 'float16 graph with float32 input and output',
   2580    'graph': {
   2581      'inputs': {
   2582        'input': {
   2583          'data': [1, 2, 3, 4],
   2584          'descriptor': {shape: [4], dataType: 'float32'}
   2585        },
   2586        'weight': {
   2587          'data': [2],
   2588          'descriptor': {shape: [], dataType: 'float16'},
   2589          'constant': true
   2590        }
   2591      },
   2592      'operators': [
   2593        {
   2594          'name': 'cast',
   2595          'arguments': [{'input': 'input'}, {'type': 'float16'}],
   2596          'outputs': 'castOutput',
   2597        },
   2598        {
   2599          'name': 'add',
   2600          'arguments': [{'a': 'castOutput'}, {'b': 'weight'}],
   2601          'outputs': 'addOutput'
   2602        },
   2603        {
   2604          'name': 'cast',
   2605          'arguments': [{'input': 'addOutput'}, {'type': 'float32'}],
   2606          'outputs': 'output'
   2607        },
   2608      ],
   2609      'expectedOutputs': {
   2610        'output': {
   2611          'data': [3, 4, 5, 6],
   2612          'descriptor': {shape: [4], dataType: 'float32'}
   2613        }
   2614      }
   2615    }
   2616  },
   2617 ];
   2618 
   2619 webnn_conformance_test(
   2620    subgraphTests, buildAndExecuteGraph, getPrecisionTolerance);