instance_normalization.https.any.js (25309B)
1 // META: title=test WebNN API instanceNormalization operation 2 // META: global=window 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 // https://www.w3.org/TR/webnn/#api-mlgraphbuilder-instancenorm 12 // Normalize the input using Instance-Normalization. 13 // 14 // dictionary MLInstanceNormalizationOptions { 15 // MLOperand scale; 16 // MLOperand bias; 17 // double epsilon = 1e-5; 18 // MLInputOperandLayout layout = "nchw"; 19 // }; 20 // 21 // MLOperand instanceNormalization( 22 // MLOperand input, optional MLInstanceNormalizationOptions options = {}); 23 24 const instanceNormTests = [ 25 { 26 'name': 'instanceNormalization float32 4D tensor default options', 27 'graph': { 28 'inputs': { 29 'instanceNormInput': { 30 'data': [ 31 -97.949951171875, 29.44037628173828, -73.92131042480469, 32 -38.11185836791992, 41.33772659301758, -59.77853012084961, 33 -74.66901397705078, -68.16508483886719, 35.82481384277344, 34 -6.948329448699951, 54.42462158203125, 47.53074645996094, 35 66.93562316894531, 76.74034881591797, 5.6758809089660645, 36 25.68659210205078, 37.37651062011719, 56.252689361572266, 37 -16.574905395507812, 42.949893951416016, 73.8739242553711, 38 -99.00035095214844, -33.11322784423828, -17.380685806274414 39 ], 40 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float32'} 41 } 42 }, 43 'operators': [{ 44 'name': 'instanceNormalization', 45 'arguments': [{'input': 'instanceNormInput'}], 46 'outputs': 'instanceNormOutput' 47 }], 48 'expectedOutputs': { 49 'instanceNormOutput': { 50 'data': [ 51 -1.0995290279388428, 1.5525832176208496, -0.5992818474769592, 52 0.14622758328914642, 1.72129487991333, -0.41020718216896057, 53 -0.7240943908691406, -0.586993396282196, 0.13073226809501648, 54 -1.6633318662643433, 0.9108771681785583, 0.6217224597930908, 55 0.7947131395339966, 1.1309205293655396, -1.3059037923812866, 56 -0.6197298169136047, 0.2657700479030609, 0.9459608793258667, 57 -1.6783342361450195, 0.46660327911376953, 1.5037200450897217, 58 -1.2981476783752441, -0.2302791178226471, 0.024706769734621048 59 ], 60 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float32'} 61 } 62 } 63 } 64 }, 65 { 66 'name': 'instanceNormalization float32 4D tensor options.scale', 67 'graph': { 68 'inputs': { 69 'instanceNormInput': { 70 'data': [ 71 -97.949951171875, 29.44037628173828, -73.92131042480469, 72 -38.11185836791992, 41.33772659301758, -59.77853012084961, 73 -74.66901397705078, -68.16508483886719, 35.82481384277344, 74 -6.948329448699951, 54.42462158203125, 47.53074645996094, 75 66.93562316894531, 76.74034881591797, 5.6758809089660645, 76 25.68659210205078, 37.37651062011719, 56.252689361572266, 77 -16.574905395507812, 42.949893951416016, 73.8739242553711, 78 -99.00035095214844, -33.11322784423828, -17.380685806274414 79 ], 80 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float32'} 81 }, 82 'instanceNormScale': { 83 'data': [-94.42772674560547, 66.69620513916016, -98.56572723388672], 84 'descriptor': {shape: [3], dataType: 'float32'}, 85 'constant': true 86 } 87 }, 88 'operators': [{ 89 'name': 'instanceNormalization', 90 'arguments': [ 91 {'input': 'instanceNormInput'}, 92 {'options': {'scale': 'instanceNormScale'}} 93 ], 94 'outputs': 'instanceNormOutput' 95 }], 96 'expectedOutputs': { 97 'instanceNormOutput': { 98 'data': [ 99 103.8260269165039, -146.60690307617188, 56.58882141113281, 100 -13.807937622070312, 114.80384063720703, -27.359262466430664, 101 -48.29434585571289, -39.150230407714844, -12.885721206665039, 102 163.94752502441406, -89.78126525878906, -61.2805290222168, 103 -75.04296112060547, -106.79025268554688, 123.31352996826172, 104 58.51968002319336, 17.725852966308594, 63.09199905395508, 105 -111.93852233886719, 31.120668411254883, -148.2152557373047, 106 127.95286560058594, 22.697628021240234, -2.4352407455444336 107 ], 108 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float32'} 109 } 110 } 111 } 112 }, 113 { 114 'name': 'instanceNormalization float32 4D tensor options.bias', 115 'graph': { 116 'inputs': { 117 'instanceNormInput': { 118 'data': [ 119 -97.949951171875, 29.44037628173828, -73.92131042480469, 120 -38.11185836791992, 41.33772659301758, -59.77853012084961, 121 -74.66901397705078, -68.16508483886719, 35.82481384277344, 122 -6.948329448699951, 54.42462158203125, 47.53074645996094, 123 66.93562316894531, 76.74034881591797, 5.6758809089660645, 124 25.68659210205078, 37.37651062011719, 56.252689361572266, 125 -16.574905395507812, 42.949893951416016, 73.8739242553711, 126 -99.00035095214844, -33.11322784423828, -17.380685806274414 127 ], 128 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float32'} 129 }, 130 'instanceNormBias': { 131 'data': [-33.048641204833984, 4.511423587799072, -37.93617248535156], 132 'descriptor': {shape: [3], dataType: 'float32'}, 133 'constant': true 134 } 135 }, 136 'operators': [{ 137 'name': 'instanceNormalization', 138 'arguments': [ 139 {'input': 'instanceNormInput'}, 140 {'options': {'bias': 'instanceNormBias'}} 141 ], 142 'outputs': 'instanceNormOutput' 143 }], 144 'expectedOutputs': { 145 'instanceNormOutput': { 146 'data': [ 147 -34.148170471191406, -31.496057510375977, -33.64792251586914, 148 -32.90241241455078, 6.232718467712402, 4.1012163162231445, 149 3.7873291969299316, 3.9244301319122314, -37.80543899536133, 150 -39.59950256347656, -37.02529525756836, -37.314449310302734, 151 -32.253929138183594, -31.917720794677734, -34.35454559326172, 152 -33.66836929321289, 4.777193546295166, 5.4573845863342285, 153 2.8330893516540527, 4.978026866912842, -36.43245315551758, 154 -39.23432159423828, -38.16645050048828, -37.91146469116211 155 ], 156 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float32'} 157 } 158 } 159 } 160 }, 161 { 162 'name': 'instanceNormalization float32 4D tensor options.epsilon', 163 'graph': { 164 'inputs': { 165 'instanceNormInput': { 166 'data': [ 167 -97.949951171875, 29.44037628173828, -73.92131042480469, 168 -38.11185836791992, 41.33772659301758, -59.77853012084961, 169 -74.66901397705078, -68.16508483886719, 35.82481384277344, 170 -6.948329448699951, 54.42462158203125, 47.53074645996094, 171 66.93562316894531, 76.74034881591797, 5.6758809089660645, 172 25.68659210205078, 37.37651062011719, 56.252689361572266, 173 -16.574905395507812, 42.949893951416016, 73.8739242553711, 174 -99.00035095214844, -33.11322784423828, -17.380685806274414 175 ], 176 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float32'} 177 } 178 }, 179 'operators': [{ 180 'name': 'instanceNormalization', 181 'arguments': [ 182 {'input': 'instanceNormInput'}, {'options': {'epsilon': 0.000001}} 183 ], 184 'outputs': 'instanceNormOutput' 185 }], 186 'expectedOutputs': { 187 'instanceNormOutput': { 188 'data': [ 189 -1.0995290279388428, 1.5525832176208496, -0.5992818474769592, 190 0.14622758328914642, 1.72129487991333, -0.41020718216896057, 191 -0.7240943908691406, -0.586993396282196, 0.13073226809501648, 192 -1.6633318662643433, 0.9108771681785583, 0.6217224597930908, 193 0.7947131991386414, 1.1309205293655396, -1.3059037923812866, 194 -0.6197298765182495, 0.2657700479030609, 0.9459608793258667, 195 -1.6783342361450195, 0.46660327911376953, 1.5037200450897217, 196 -1.2981476783752441, -0.2302791178226471, 0.024706769734621048 197 ], 198 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float32'} 199 } 200 } 201 } 202 }, 203 { 204 'name': 205 'instanceNormalization float32 4D tensor explicit options.layout=\'nchw\'', 206 'graph': { 207 'inputs': { 208 'instanceNormInput': { 209 'data': [ 210 -97.949951171875, 29.44037628173828, -73.92131042480469, 211 -38.11185836791992, 41.33772659301758, -59.77853012084961, 212 -74.66901397705078, -68.16508483886719, 35.82481384277344, 213 -6.948329448699951, 54.42462158203125, 47.53074645996094, 214 66.93562316894531, 76.74034881591797, 5.6758809089660645, 215 25.68659210205078, 37.37651062011719, 56.252689361572266, 216 -16.574905395507812, 42.949893951416016, 73.8739242553711, 217 -99.00035095214844, -33.11322784423828, -17.380685806274414 218 ], 219 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float32'} 220 } 221 }, 222 'operators': [{ 223 'name': 'instanceNormalization', 224 'arguments': 225 [{'input': 'instanceNormInput'}, {'options': {'layout': 'nchw'}}], 226 'outputs': 'instanceNormOutput' 227 }], 228 'expectedOutputs': { 229 'instanceNormOutput': { 230 'data': [ 231 -1.0995290279388428, 1.5525832176208496, -0.5992818474769592, 232 0.14622758328914642, 1.72129487991333, -0.41020718216896057, 233 -0.7240943908691406, -0.586993396282196, 0.13073226809501648, 234 -1.6633318662643433, 0.9108771681785583, 0.6217224597930908, 235 0.7947131395339966, 1.1309205293655396, -1.3059037923812866, 236 -0.6197298169136047, 0.2657700479030609, 0.9459608793258667, 237 -1.6783342361450195, 0.46660327911376953, 1.5037200450897217, 238 -1.2981476783752441, -0.2302791178226471, 0.024706769734621048 239 ], 240 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float32'} 241 } 242 } 243 } 244 }, 245 { 246 'name': 'instanceNormalization float32 4D tensor options.layout=\'nhwc\'', 247 'graph': { 248 'inputs': { 249 'instanceNormInput': { 250 'data': [ 251 -97.949951171875, 41.33772659301758, 35.82481384277344, 252 29.44037628173828, -59.77853012084961, -6.948329448699951, 253 -73.92131042480469, -74.66901397705078, 54.42462158203125, 254 -38.11185836791992, -68.16508483886719, 47.53074645996094, 255 66.93562316894531, 37.37651062011719, 73.8739242553711, 256 76.74034881591797, 56.252689361572266, -99.00035095214844, 257 5.6758809089660645, -16.574905395507812, -33.11322784423828, 258 25.68659210205078, 42.949893951416016, -17.380685806274414 259 ], 260 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 261 } 262 }, 263 'operators': [{ 264 'name': 'instanceNormalization', 265 'arguments': 266 [{'input': 'instanceNormInput'}, {'options': {'layout': 'nhwc'}}], 267 'outputs': 'instanceNormOutput' 268 }], 269 'expectedOutputs': { 270 'instanceNormOutput': { 271 'data': [ 272 -1.0995290279388428, 1.72129487991333, 0.13073226809501648, 273 1.5525832176208496, -0.41020718216896057, -1.6633318662643433, 274 -0.5992818474769592, -0.7240943908691406, 0.9108771681785583, 275 0.14622758328914642, -0.586993396282196, 0.6217224597930908, 276 0.7947131395339966, 0.2657700479030609, 1.5037200450897217, 277 1.1309205293655396, 0.9459608793258667, -1.2981476783752441, 278 -1.3059037923812866, -1.6783342361450195, -0.2302791178226471, 279 -0.6197298169136047, 0.46660327911376953, 0.024706769734621048 280 ], 281 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 282 } 283 } 284 } 285 }, 286 { 287 'name': 'instanceNormalization float32 4D tensor all options', 288 'graph': { 289 'inputs': { 290 'instanceNormInput': { 291 'data': [ 292 -97.949951171875, 41.33772659301758, 35.82481384277344, 293 29.44037628173828, -59.77853012084961, -6.948329448699951, 294 -73.92131042480469, -74.66901397705078, 54.42462158203125, 295 -38.11185836791992, -68.16508483886719, 47.53074645996094, 296 66.93562316894531, 37.37651062011719, 73.8739242553711, 297 76.74034881591797, 56.252689361572266, -99.00035095214844, 298 5.6758809089660645, -16.574905395507812, -33.11322784423828, 299 25.68659210205078, 42.949893951416016, -17.380685806274414 300 ], 301 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 302 }, 303 'instanceNormScale': { 304 'data': [-94.42772674560547, 66.69620513916016, -98.56572723388672], 305 'descriptor': {shape: [3], dataType: 'float32'}, 306 'constant': true 307 }, 308 'instanceNormBias': { 309 'data': [-33.048641204833984, 4.511423587799072, -37.93617248535156], 310 'descriptor': {shape: [3], dataType: 'float32'}, 311 'constant': true 312 } 313 }, 314 'operators': [{ 315 'name': 'instanceNormalization', 316 'arguments': [ 317 {'input': 'instanceNormInput'}, { 318 'options': { 319 'scale': 'instanceNormScale', 320 'bias': 'instanceNormBias', 321 'epsilon': 0.000001, 322 'layout': 'nhwc' 323 } 324 } 325 ], 326 'outputs': 'instanceNormOutput' 327 }], 328 'expectedOutputs': { 329 'instanceNormOutput': { 330 'data': [ 331 70.77738189697266, 119.31526184082031, -50.821895599365234, 332 -179.65554809570312, -22.847837448120117, 126.01134490966797, 333 23.540178298950195, -43.782920837402344, -127.71744537353516, 334 -46.8565788269043, -34.6388053894043, -99.2166976928711, 335 -108.09159851074219, 22.237276077270508, -186.15142822265625, 336 -139.83889770507812, 67.60342407226562, 90.01669311523438, 337 90.26488494873047, -107.4271011352539, -15.238543510437012, 338 25.471038818359375, 35.6320915222168, -40.37141418457031 339 ], 340 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float32'} 341 } 342 } 343 } 344 }, 345 346 // float16 tests 347 { 348 'name': 'instanceNormalization float16 4D tensor default options', 349 'graph': { 350 'inputs': { 351 'instanceNormInput': { 352 'data': [ 353 -97.9375, 29.4375, -73.9375, -38.125, 41.34375, -59.78125, 354 -74.6875, -68.1875, 35.8125, -6.94921875, 54.4375, 47.53125, 355 66.9375, 76.75, 5.67578125, 25.6875, 37.375, 56.25, 356 -16.578125, 42.9375, 73.875, -99, -33.125, -17.375 357 ], 358 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float16'} 359 } 360 }, 361 'operators': [{ 362 'name': 'instanceNormalization', 363 'arguments': [{'input': 'instanceNormInput'}], 364 'outputs': 'instanceNormOutput' 365 }], 366 'expectedOutputs': { 367 'instanceNormOutput': { 368 'data': [ 369 -1.099609375, 1.552734375, -0.599609375, 370 0.1461181640625, 1.7216796875, -0.409912109375, 371 -0.72412109375, -0.5869140625, 0.1302490234375, 372 -1.6630859375, 0.9111328125, 0.62158203125, 373 0.79443359375, 1.130859375, -1.3056640625, 374 -0.61962890625, 0.265869140625, 0.9462890625, 375 -1.6787109375, 0.46630859375, 1.50390625, 376 -1.2978515625, -0.23046875, 0.024810791015625 377 ], 378 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float16'} 379 } 380 } 381 } 382 }, 383 { 384 'name': 'instanceNormalization float16 4D tensor options.scale', 385 'graph': { 386 'inputs': { 387 'instanceNormInput': { 388 'data': [ 389 -97.9375, 29.4375, -73.9375, -38.125, 41.34375, -59.78125, 390 -74.6875, -68.1875, 35.8125, -6.94921875, 54.4375, 47.53125, 391 66.9375, 76.75, 5.67578125, 25.6875, 37.375, 56.25, 392 -16.578125, 42.9375, 73.875, -99, -33.125, -17.375 393 ], 394 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float16'} 395 }, 396 'instanceNormScale': { 397 'data': [-94.4375, 66.6875, -98.5625], 398 'descriptor': {shape: [3], dataType: 'float16'}, 399 'constant': true 400 } 401 }, 402 'operators': [{ 403 'name': 'instanceNormalization', 404 'arguments': [ 405 {'input': 'instanceNormInput'}, 406 {'options': {'scale': 'instanceNormScale'}} 407 ], 408 'outputs': 'instanceNormOutput' 409 }], 410 'expectedOutputs': { 411 'instanceNormOutput': { 412 'data': [ 413 103.8125, -146.625, 56.625, -13.796875, 114.8125, 414 -27.34375, -48.28125, -39.15625, -12.8359375, 163.875, 415 -89.8125, -61.28125, -75.0625, -106.8125, 123.3125, 416 58.53125, 17.734375, 63.09375, -111.9375, 31.09375, 417 -148.25, 127.9375, 22.71875, -2.4453125 418 ], 419 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float16'} 420 } 421 } 422 } 423 }, 424 { 425 'name': 'instanceNormalization float16 4D tensor options.bias', 426 'graph': { 427 'inputs': { 428 'instanceNormInput': { 429 'data': [ 430 -97.9375, 29.4375, -73.9375, -38.125, 41.34375, -59.78125, 431 -74.6875, -68.1875, 35.8125, -6.94921875, 54.4375, 47.53125, 432 66.9375, 76.75, 5.67578125, 25.6875, 37.375, 56.25, 433 -16.578125, 42.9375, 73.875, -99, -33.125, -17.375 434 ], 435 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float16'} 436 }, 437 'instanceNormBias': { 438 'data': [-33.0625, 4.51171875, -37.9375], 439 'descriptor': {shape: [3], dataType: 'float16'}, 440 'constant': true 441 } 442 }, 443 'operators': [{ 444 'name': 'instanceNormalization', 445 'arguments': [ 446 {'input': 'instanceNormInput'}, 447 {'options': {'bias': 'instanceNormBias'}} 448 ], 449 'outputs': 'instanceNormOutput' 450 }], 451 'expectedOutputs': { 452 'instanceNormOutput': { 453 'data': [ 454 -34.15625, -31.515625, -33.65625, -32.90625, 6.234375, 455 4.1015625, 3.787109375, 3.923828125, -37.8125, -39.59375, 456 -37.03125, -37.3125, -32.28125, -31.9375, -34.375, 457 -33.6875, 4.77734375, 5.45703125, 2.833984375, 4.9765625, 458 -36.4375, -39.25, -38.15625, -37.90625 459 ], 460 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float16'} 461 } 462 } 463 } 464 }, 465 { 466 'name': 'instanceNormalization float16 4D tensor options.epsilon', 467 'graph': { 468 'inputs': { 469 'instanceNormInput': { 470 'data': [ 471 -97.9375, 29.4375, -73.9375, -38.125, 41.34375, -59.78125, 472 -74.6875, -68.1875, 35.8125, -6.94921875, 54.4375, 47.53125, 473 66.9375, 76.75, 5.67578125, 25.6875, 37.375, 56.25, 474 -16.578125, 42.9375, 73.875, -99, -33.125, -17.375 475 ], 476 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float16'} 477 } 478 }, 479 'operators': [{ 480 'name': 'instanceNormalization', 481 'arguments': [ 482 {'input': 'instanceNormInput'}, {'options': {'epsilon': 0.000001}} 483 ], 484 'outputs': 'instanceNormOutput' 485 }], 486 'expectedOutputs': { 487 'instanceNormOutput': { 488 'data': [ 489 -1.099609375, 1.552734375, -0.599609375, 490 0.1461181640625, 1.7216796875, -0.409912109375, 491 -0.72412109375, -0.5869140625, 0.1302490234375, 492 -1.6630859375, 0.9111328125, 0.62158203125, 493 0.79443359375, 1.130859375, -1.3056640625, 494 -0.61962890625, 0.265869140625, 0.9462890625, 495 -1.6787109375, 0.46630859375, 1.50390625, 496 -1.2978515625, -0.23046875, 0.024810791015625 497 ], 498 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float16'} 499 } 500 } 501 } 502 }, 503 { 504 'name': 505 'instanceNormalization float16 4D tensor explicit options.layout=\'nchw\'', 506 'graph': { 507 'inputs': { 508 'instanceNormInput': { 509 'data': [ 510 -97.9375, 29.4375, -73.9375, -38.125, 41.34375, -59.78125, 511 -74.6875, -68.1875, 35.8125, -6.94921875, 54.4375, 47.53125, 512 66.9375, 76.75, 5.67578125, 25.6875, 37.375, 56.25, 513 -16.578125, 42.9375, 73.875, -99, -33.125, -17.375 514 ], 515 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float16'} 516 } 517 }, 518 'operators': [{ 519 'name': 'instanceNormalization', 520 'arguments': 521 [{'input': 'instanceNormInput'}, {'options': {'layout': 'nchw'}}], 522 'outputs': 'instanceNormOutput' 523 }], 524 'expectedOutputs': { 525 'instanceNormOutput': { 526 'data': [ 527 -1.099609375, 1.552734375, -0.599609375, 528 0.1461181640625, 1.7216796875, -0.409912109375, 529 -0.72412109375, -0.5869140625, 0.1302490234375, 530 -1.6630859375, 0.9111328125, 0.62158203125, 531 0.79443359375, 1.130859375, -1.3056640625, 532 -0.61962890625, 0.265869140625, 0.9462890625, 533 -1.6787109375, 0.46630859375, 1.50390625, 534 -1.2978515625, -0.23046875, 0.024810791015625 535 ], 536 'descriptor': {shape: [2, 3, 2, 2], dataType: 'float16'} 537 } 538 } 539 } 540 }, 541 { 542 'name': 'instanceNormalization float16 4D tensor options.layout=\'nhwc\'', 543 'graph': { 544 'inputs': { 545 'instanceNormInput': { 546 'data': [ 547 -97.9375, 41.34375, 35.8125, 29.4375, -59.78125, -6.94921875, 548 -73.9375, -74.6875, 54.4375, -38.125, -68.1875, 47.53125, 549 66.9375, 37.375, 73.875, 76.75, 56.25, -99, 550 5.67578125, -16.578125, -33.125, 25.6875, 42.9375, -17.375 551 ], 552 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 553 } 554 }, 555 'operators': [{ 556 'name': 'instanceNormalization', 557 'arguments': 558 [{'input': 'instanceNormInput'}, {'options': {'layout': 'nhwc'}}], 559 'outputs': 'instanceNormOutput' 560 }], 561 'expectedOutputs': { 562 'instanceNormOutput': { 563 'data': [ 564 -1.099609375, 1.7216796875, 0.1302490234375, 565 1.552734375, -0.409912109375, -1.6630859375, 566 -0.599609375, -0.72412109375, 0.9111328125, 567 0.1461181640625, -0.5869140625, 0.62158203125, 568 0.79443359375, 0.265869140625, 1.50390625, 569 1.130859375, 0.9462890625, -1.2978515625, 570 -1.3056640625, -1.6787109375, -0.23046875, 571 -0.61962890625, 0.46630859375, 0.024810791015625 572 ], 573 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 574 } 575 } 576 } 577 }, 578 { 579 'name': 'instanceNormalization float16 4D tensor all options', 580 'graph': { 581 'inputs': { 582 'instanceNormInput': { 583 'data': [ 584 -97.9375, 41.34375, 35.8125, 29.4375, -59.78125, -6.94921875, 585 -73.9375, -74.6875, 54.4375, -38.125, -68.1875, 47.53125, 586 66.9375, 37.375, 73.875, 76.75, 56.25, -99, 587 5.67578125, -16.578125, -33.125, 25.6875, 42.9375, -17.375 588 ], 589 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 590 }, 591 'instanceNormScale': { 592 'data': [-94.4375, 66.6875, -98.5625], 593 'descriptor': {shape: [3], dataType: 'float16'}, 594 'constant': true 595 }, 596 'instanceNormBias': { 597 'data': [-33.0625, 4.51171875, -37.9375], 598 'descriptor': {shape: [3], dataType: 'float16'}, 599 'constant': true 600 } 601 }, 602 'operators': [{ 603 'name': 'instanceNormalization', 604 'arguments': [ 605 {'input': 'instanceNormInput'}, { 606 'options': { 607 'scale': 'instanceNormScale', 608 'bias': 'instanceNormBias', 609 'epsilon': 0.000001, 610 'layout': 'nhwc' 611 } 612 } 613 ], 614 'outputs': 'instanceNormOutput' 615 }], 616 'expectedOutputs': { 617 'instanceNormOutput': { 618 'data': [ 619 70.75, 119.3125, -50.78125, -179.75, -22.828125, 126, 620 23.5625, -43.78125, -127.75, -46.84375, -34.65625, -99.1875, 621 -108.125, 22.25, -186.125, -139.875, 67.625, 90, 622 90.25, -107.4375, -15.2265625, 25.46875, 35.625, -40.375 623 ], 624 'descriptor': {shape: [2, 2, 2, 3], dataType: 'float16'} 625 } 626 } 627 } 628 } 629 ]; 630 631 webnn_conformance_test( 632 instanceNormTests, buildAndExecuteGraph, getInstanceNormPrecisionTolerance);