conv_transpose2d.https.any.js (110673B)
1 // META: title=test WebNN API convTranspose2d 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-convtranspose2d 12 // Compute a 2-D transposed convolution given 4-D input and filter tensors. 13 // 14 // enum MLConvTranspose2dFilterOperandLayout { 15 // "iohw", 16 // "hwoi", 17 // "ohwi" 18 // }; 19 // 20 // dictionary MLConvTranspose2dOptions { 21 // sequence<[EnforceRange] unsigned long> padding; 22 // sequence<[EnforceRange] unsigned long> strides; 23 // sequence<[EnforceRange] unsigned long> dilations; 24 // sequence<[EnforceRange] unsigned long> outputPadding; 25 // sequence<[EnforceRange] unsigned long> outputSizes; 26 // [EnforceRange] unsigned long groups = 1; 27 // MLInputOperandLayout inputLayout = "nchw"; 28 // MLConvTranspose2dFilterOperandLayout filterLayout = "iohw"; 29 // MLOperand bias; 30 // }; 31 // 32 // MLOperand convTranspose2d( 33 // MLOperand input, MLOperand filter, 34 // optional MLConvTranspose2dOptions options = {}); 35 36 37 const convTranspose2dTests = [ 38 { 39 'name': 40 'convTranspose2d float32 4D both input and filter non-constant tensors default options', 41 'graph': { 42 'inputs': { 43 'convTranspose2dInput': { 44 'data': [ 45 0.5872158408164978, 0.6077792048454285, 0.017289165407419205, 46 0.2614607512950897 47 ], 48 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'} 49 }, 50 'convTranspose2dFilter': { 51 'data': [ 52 0.3292713165283203, 0.5866857171058655, 0.29701370000839233, 53 0.0033378428779542446 54 ], 55 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'} 56 } 57 }, 58 'operators': [{ 59 'name': 'convTranspose2d', 60 'arguments': [ 61 {'input': 'convTranspose2dInput'}, {'filter': 'convTranspose2dFilter'} 62 ], 63 'outputs': 'convTranspose2dOutput' 64 }], 65 'expectedOutputs': { 66 'convTranspose2dOutput': { 67 'data': [ 68 0.1933533400297165, 0.5446354150772095, 0.3565753698348999, 69 0.18010397255420685, 0.2787136137485504, 0.15542395412921906, 70 0.0051351189613342285, 0.07771513611078262, 0.0008727149106562138 71 ], 72 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'} 73 } 74 } 75 } 76 }, 77 { 78 'name': 79 'convTranspose2d float32 4D both input and filter constant tensors default options', 80 'graph': { 81 'inputs': { 82 'convTranspose2dInput': { 83 'data': [ 84 0.5872158408164978, 0.6077792048454285, 0.017289165407419205, 85 0.2614607512950897 86 ], 87 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}, 88 'constant': true 89 }, 90 'convTranspose2dFilter': { 91 'data': [ 92 0.3292713165283203, 0.5866857171058655, 0.29701370000839233, 93 0.0033378428779542446 94 ], 95 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}, 96 'constant': true 97 } 98 }, 99 'operators': [{ 100 'name': 'convTranspose2d', 101 'arguments': [ 102 {'input': 'convTranspose2dInput'}, {'filter': 'convTranspose2dFilter'} 103 ], 104 'outputs': 'convTranspose2dOutput' 105 }], 106 'expectedOutputs': { 107 'convTranspose2dOutput': { 108 'data': [ 109 0.1933533400297165, 0.5446354150772095, 0.3565753698348999, 110 0.18010397255420685, 0.2787136137485504, 0.15542395412921906, 111 0.0051351189613342285, 0.07771513611078262, 0.0008727149106562138 112 ], 113 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'} 114 } 115 } 116 } 117 }, 118 { 119 'name': 120 'convTranspose2d float32 4D input and filter tensors default options', 121 'graph': { 122 'inputs': { 123 'convTranspose2dInput': { 124 'data': [ 125 0.5872158408164978, 0.6077792048454285, 0.017289165407419205, 126 0.2614607512950897 127 ], 128 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'} 129 }, 130 'convTranspose2dFilter': { 131 'data': [ 132 0.3292713165283203, 0.5866857171058655, 0.29701370000839233, 133 0.0033378428779542446 134 ], 135 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}, 136 'constant': true 137 } 138 }, 139 'operators': [{ 140 'name': 'convTranspose2d', 141 'arguments': [ 142 {'input': 'convTranspose2dInput'}, {'filter': 'convTranspose2dFilter'} 143 ], 144 'outputs': 'convTranspose2dOutput' 145 }], 146 'expectedOutputs': { 147 'convTranspose2dOutput': { 148 'data': [ 149 0.1933533400297165, 0.5446354150772095, 0.3565753698348999, 150 0.18010397255420685, 0.2787136137485504, 0.15542395412921906, 151 0.0051351189613342285, 0.07771513611078262, 0.0008727149106562138 152 ], 153 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'} 154 } 155 } 156 } 157 }, 158 { 159 'name': 160 'convTranspose2d float32 4D input and filter tensors options.groups', 161 'graph': { 162 'inputs': { 163 'convTranspose2dInput': { 164 'data': [ 165 0.8161798119544983, 0.5442776083946228, 0.7910669445991516, 166 0.36564111709594727, 0.25429198145866394, 0.20815767347812653, 167 0.7023073434829712, 0.5734469890594482 168 ], 169 'descriptor': {shape: [1, 2, 2, 2], dataType: 'float32'} 170 }, 171 'convTranspose2dFilter': { 172 'data': [ 173 0.09232201427221298, 0.31896016001701355, 0.5445202589035034, 174 0.6582807898521423, 0.9634373188018799, 0.012118860147893429, 175 0.9230011701583862, 0.4781944155693054 176 ], 177 'descriptor': {shape: [2, 1, 2, 2], dataType: 'float32'}, 178 'constant': true 179 } 180 }, 181 'operators': [{ 182 'name': 'convTranspose2d', 183 'arguments': [ 184 {'input': 'convTranspose2dInput'}, 185 {'filter': 'convTranspose2dFilter'}, {'options': {'groups': 2}} 186 ], 187 'outputs': 'convTranspose2dOutput' 188 }], 189 'expectedOutputs': { 190 'convTranspose2dOutput': { 191 'data': [ 192 0.07535136491060257, 0.3105776607990265, 0.1736028790473938, 193 0.5174593329429626, 1.1197212934494019, 0.4749124348163605, 194 0.4307519793510437, 0.7198431491851807, 0.24069452285766602, 195 0.2449943870306015, 0.20362859964370728, 0.002522633643820882, 196 0.9113409519195557, 0.8747221827507019, 0.10648936033248901, 197 0.6482304930686951, 0.865131676197052, 0.2742191553115845 198 ], 199 'descriptor': {shape: [1, 2, 3, 3], dataType: 'float32'} 200 } 201 } 202 } 203 }, 204 { 205 'name': 206 'convTranspose2d float32 4D input and filter tensors options.groups=2 options.strides=[2, 2]', 207 'graph': { 208 'inputs': { 209 'convTranspose2dInput': { 210 'data': [ 211 0.8161798119544983, 0.5442776083946228, 0.7910669445991516, 212 0.36564111709594727, 0.25429198145866394, 0.20815767347812653, 213 0.7023073434829712, 0.5734469890594482 214 ], 215 'descriptor': {shape: [1, 2, 2, 2], dataType: 'float32'} 216 }, 217 'convTranspose2dFilter': { 218 'data': [ 219 0.09232201427221298, 0.31896016001701355, 0.5445202589035034, 220 0.6582807898521423, 0.9634373188018799, 0.012118860147893429, 221 0.9230011701583862, 0.4781944155693054 222 ], 223 'descriptor': {shape: [2, 1, 2, 2], dataType: 'float32'}, 224 'constant': true 225 } 226 }, 227 'operators': [{ 228 'name': 'convTranspose2d', 229 'arguments': [ 230 {'input': 'convTranspose2dInput'}, 231 {'filter': 'convTranspose2dFilter'}, 232 {'options': {'strides': [2, 2], 'groups': 2}} 233 ], 234 'outputs': 'convTranspose2dOutput' 235 }], 236 'expectedOutputs': { 237 'convTranspose2dOutput': { 238 'data': [ 239 0.07535136491060257, 0.26032882928848267, 0.050248805433511734, 240 0.1736028790473938, 0.44442644715309143, 0.537275493144989, 241 0.29637017846107483, 0.3582874834537506, 0.07303289324045181, 242 0.2523188292980194, 0.03375672549009323, 0.11662495136260986, 243 0.4307519793510437, 0.5207441449165344, 0.19909898936748505, 244 0.24069452285766602, 0.2449943870306015, 0.0030817289371043444, 245 0.20054687559604645, 0.002522633643820882, 0.23471179604530334, 246 0.12160100787878036, 0.19212977588176727, 0.09953983873128891, 247 0.6766291260719299, 0.008511164225637913, 0.5524802207946777, 248 0.00694952392950654, 0.6482304930686951, 0.3358394503593445, 249 0.5292922258377075, 0.2742191553115845 250 ], 251 'descriptor': {shape: [1, 2, 4, 4], dataType: 'float32'} 252 } 253 } 254 } 255 }, 256 { 257 'name': 258 'convTranspose2d float32 4D input and filter tensors options.padding', 259 'graph': { 260 'inputs': { 261 'convTranspose2dInput': { 262 'data': [ 263 0.5872158408164978, 0.6077792048454285, 0.017289165407419205, 264 0.2614607512950897 265 ], 266 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'} 267 }, 268 'convTranspose2dFilter': { 269 'data': [ 270 0.3292713165283203, 0.5866857171058655, 0.29701370000839233, 271 0.0033378428779542446 272 ], 273 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}, 274 'constant': true 275 } 276 }, 277 'operators': [{ 278 'name': 'convTranspose2d', 279 'arguments': [ 280 {'input': 'convTranspose2dInput'}, 281 {'filter': 'convTranspose2dFilter'}, 282 {'options': {'padding': [1, 1, 1, 1]}} 283 ], 284 'outputs': 'convTranspose2dOutput' 285 }], 286 'expectedOutputs': { 287 'convTranspose2dOutput': { 288 'data': [0.2787136137485504], 289 'descriptor': {shape: [1, 1, 1, 1], dataType: 'float32'} 290 } 291 } 292 } 293 }, 294 { 295 'name': 'convTranspose2d options.padding is the same upper padding', 296 'graph': { 297 'inputs': { 298 'convTranspose2dInput': { 299 'data': [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5], 300 'descriptor': {shape: [1, 3, 3, 1], dataType: 'float32'} 301 }, 302 'convTranspose2dFilter': { 303 'data': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], 304 'descriptor': {shape: [2, 3, 3, 1], dataType: 'float32'}, 305 'constant': true 306 } 307 }, 308 'operators': [{ 309 'name': 'convTranspose2d', 310 'arguments': [ 311 {'input': 'convTranspose2dInput'}, 312 {'filter': 'convTranspose2dFilter'}, { 313 'options': { 314 'outputSizes': [6, 6], 315 'groups': 1, 316 'strides': [2, 2], 317 'dilations': [1, 1], 318 'padding': [0, 1, 0, 1], 319 'filterLayout': 'ohwi', 320 'inputLayout': 'nhwc' 321 } 322 } 323 ], 324 'outputs': 'convTranspose2dOutput' 325 }], 326 'expectedOutputs': { 327 'convTranspose2dOutput': { 328 'data': [ 329 0.5, 0.5, 0.5, 0.5, 1, 1, 0.5, 0.5, 1, 1, 0.5, 0.5, 330 0.5, 0.5, 0.5, 0.5, 1, 1, 0.5, 0.5, 1, 1, 0.5, 0.5, 331 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 332 0.5, 0.5, 0.5, 0.5, 1, 1, 0.5, 0.5, 1, 1, 0.5, 0.5, 333 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 334 0.5, 0.5, 0.5, 0.5, 1, 1, 0.5, 0.5, 1, 1, 0.5, 0.5 335 ], 336 'descriptor': {shape: [1, 6, 6, 2], dataType: 'float32'} 337 } 338 } 339 } 340 }, 341 { 342 'name': 343 'convTranspose2d float32 4D input and filter tensors options.strides', 344 'graph': { 345 'inputs': { 346 'convTranspose2dInput': { 347 'data': [ 348 0.05605664849281311, 0.7114229798316956, 0.6529743671417236, 349 0.38622909784317017, 0.3870837390422821, 0.9461629390716553, 350 0.09573192149400711, 0.9234652519226074, 0.636277973651886 351 ], 352 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'} 353 }, 354 'convTranspose2dFilter': { 355 'data': [ 356 0.8614422678947449, 0.6267672777175903, 0.6366490125656128, 357 0.8382642269134521, 0.11884837597608566, 0.9921330213546753, 358 0.3285411298274994, 0.8742373585700989, 0.7205492258071899, 359 0.9801966547966003, 0.06169835478067398, 0.3220160901546478, 360 0.7498031854629517, 0.3930714726448059, 0.13811933994293213, 361 0.28385090827941895, 0.4235861301422119, 0.1448512077331543 362 ], 363 'descriptor': {shape: [1, 2, 3, 3], dataType: 'float32'}, 364 'constant': true 365 } 366 }, 367 'operators': [{ 368 'name': 'convTranspose2d', 369 'arguments': [ 370 {'input': 'convTranspose2dInput'}, 371 {'filter': 'convTranspose2dFilter'}, {'options': {'strides': [3, 2]}} 372 ], 373 'outputs': 'convTranspose2dOutput' 374 }], 375 'expectedOutputs': { 376 'convTranspose2dOutput': { 377 'data': [ 378 0.04828956723213196, 0.03513447195291519, 0.6485382318496704, 379 0.4458966553211212, 1.015426516532898, 0.4092629551887512, 380 0.4157154858112335, 0.0469902828335762, 0.0066622416488826275, 381 0.6519761085510254, 0.08455146849155426, 1.2531912326812744, 382 0.07760494202375412, 0.6478374600410461, 0.018416915088891983, 383 0.04900681599974632, 0.27412328124046326, 0.6219525337219238, 384 0.7271442413330078, 0.5708546042442322, 0.4705001711845398, 385 0.3327140808105469, 0.24207575619220734, 0.5793426632881165, 386 0.24261142313480377, 1.0615012645721436, 0.593023955821991, 387 0.6023737192153931, 0.32376202940940857, 0.04590269923210144, 388 0.7076690793037415, 0.0460042729973793, 1.177173137664795, 389 0.11244992911815643, 0.9387195110321045, 0.12689214944839478, 390 0.3376559019088745, 0.40547001361846924, 0.3384030759334564, 391 0.5897663235664368, 0.8271709680557251, 0.6817569732666016, 392 0.08246752619743347, 0.06000163406133652, 0.8564596176147461, 393 0.5787978172302246, 1.1360399723052979, 0.39879822731018066, 394 0.4050857424736023, 0.0802486464381218, 0.011377583257853985, 395 0.8690866827964783, 0.1097523421049118, 1.4495694637298584, 396 0.0756206065416336, 0.6312723755836487, 0.03145187348127365, 397 0.08369242399930954, 0.37237587571144104, 0.8073278069496155, 398 0.8744456768035889, 0.556257963180542, 0.45846959948539734, 399 0.05494653806090355, 0.0034586030524224043, 0.7153855562210083, 400 0.04389362782239914, 0.869132936000824, 0.04028744250535965, 401 0.21026825904846191, 0.04203145205974579, 0.02203426882624626, 402 0.5411697030067444, 0.2796400785446167, 0.5878635048866272, 403 0.25666558742523193, 0.0901883915066719, 0.015911730006337166, 404 0.023744819685816765, 0.21005792915821075, 0.30134889483451843, 405 0.2883978486061096, 0.27659088373184204, 0.09458412230014801, 406 0.3785804808139801, 0.02382970042526722, 0.5037901997566223, 407 0.0238824300467968, 1.0520728826522827, 0.05837669596076012, 408 0.3046796917915344, 0.2895958125591278, 0.15181563794612885, 409 0.3435823321342468, 0.15215156972408295, 0.7628997564315796, 410 0.37190964818000793, 0.13068340718746185, 0.1096314787864685, 411 0.16360129415988922, 0.16581982374191284, 0.16396330296993256, 412 0.3246387541294098, 0.400781512260437, 0.13705284893512726, 413 0.09383610635995865, 0.00590650225058198, 0.9360047578811646, 414 0.05697628855705261, 0.9210482239723206, 0.03925730288028717, 415 0.20489174127578735, 0.07178010046482086, 0.03762948885560036, 416 0.7056396007537842, 0.36298784613609314, 0.6046316623687744, 417 0.2501027286052704, 0.08788229525089264, 0.027173593640327454, 418 0.04055071249604225, 0.27599334716796875, 0.3911670744419098, 419 0.3143731355667114, 0.26951852440834045, 0.09216563403606415 420 ], 421 'descriptor': {shape: [1, 2, 9, 7], dataType: 'float32'} 422 } 423 } 424 } 425 }, 426 { 427 'name': 428 'convTranspose2d float32 4D input and filter tensors options.dilations', 429 'graph': { 430 'inputs': { 431 'convTranspose2dInput': { 432 'data': [ 433 0.3194596767425537, 0.9762163758277893, 0.4131408631801605, 434 0.47982943058013916, 0.76741623878479, 0.9083173871040344, 435 0.6205142140388489, 0.6580719947814941, 0.6553052067756653 436 ], 437 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'} 438 }, 439 'convTranspose2dFilter': { 440 'data': [ 441 0.6835425496101379, 0.9641214609146118, 0.8272836804389954, 442 0.5771222710609436 443 ], 444 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float32'}, 445 'constant': true 446 } 447 }, 448 'operators': [{ 449 'name': 'convTranspose2d', 450 'arguments': [ 451 {'input': 'convTranspose2dInput'}, 452 {'filter': 'convTranspose2dFilter'}, 453 {'options': {'dilations': [2, 2]}} 454 ], 455 'outputs': 'convTranspose2dOutput' 456 }], 457 'expectedOutputs': { 458 'convTranspose2dOutput': { 459 'data': [ 460 0.21836428344249725, 0.6672854423522949, 0.590397298336029, 461 0.9411911368370056, 0.39831796288490295, 0.3279838263988495, 462 0.5245616436004639, 1.0834873914718628, 0.7398824691772461, 463 0.8757283091545105, 0.6884316205978394, 1.2574280500411987, 464 1.5723320245742798, 1.1978574991226196, 0.8702266216278076, 465 0.39695504307746887, 0.6348709464073181, 1.0283564329147339, 466 0.44289299845695496, 0.5242102146148682, 0.5133413076400757, 467 0.5444121956825256, 0.9002358913421631, 0.37978801131248474, 468 0.3781912326812744 469 ], 470 'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'} 471 } 472 } 473 } 474 }, 475 { 476 'name': 477 'convTranspose2d float32 4D input and filter tensors options.outputPadding', 478 'graph': { 479 'inputs': { 480 'convTranspose2dInput': { 481 'data': [ 482 0.05605664849281311, 0.7114229798316956, 0.6529743671417236, 483 0.38622909784317017, 0.3870837390422821, 0.9461629390716553, 484 0.09573192149400711, 0.9234652519226074, 0.636277973651886 485 ], 486 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'} 487 }, 488 'convTranspose2dFilter': { 489 'data': [ 490 0.8614422678947449, 0.6267672777175903, 0.6366490125656128, 491 0.8382642269134521, 0.11884837597608566, 0.9921330213546753, 492 0.3285411298274994, 0.8742373585700989, 0.7205492258071899, 493 0.9801966547966003, 0.06169835478067398, 0.3220160901546478, 494 0.7498031854629517, 0.3930714726448059, 0.13811933994293213, 495 0.28385090827941895, 0.4235861301422119, 0.1448512077331543 496 ], 497 'descriptor': {shape: [1, 2, 3, 3], dataType: 'float32'}, 498 'constant': true 499 } 500 }, 501 'operators': [{ 502 'name': 'convTranspose2d', 503 'arguments': [ 504 {'input': 'convTranspose2dInput'}, 505 {'filter': 'convTranspose2dFilter'}, 506 {'options': {'strides': [3, 2], 'outputPadding': [1, 1]}} 507 ], 508 'outputs': 'convTranspose2dOutput' 509 }], 510 'expectedOutputs': { 511 'convTranspose2dOutput': { 512 'data': [ 513 0.04828956723213196, 514 0.03513447195291519, 515 0.6485382318496704, 516 0.4458966553211212, 517 1.015426516532898, 518 0.4092629551887512, 519 0.4157154858112335, 520 0, 521 0.0469902828335762, 522 0.0066622416488826275, 523 0.6519761085510254, 524 0.08455146849155426, 525 1.2531912326812744, 526 0.07760494202375412, 527 0.6478374600410461, 528 0, 529 0.018416915088891983, 530 0.04900681599974632, 531 0.27412328124046326, 532 0.6219525337219238, 533 0.7271442413330078, 534 0.5708546042442322, 535 0.4705001711845398, 536 0, 537 0.3327140808105469, 538 0.24207575619220734, 539 0.5793426632881165, 540 0.24261142313480377, 541 1.0615012645721436, 542 0.593023955821991, 543 0.6023737192153931, 544 0, 545 0.32376202940940857, 546 0.04590269923210144, 547 0.7076690793037415, 548 0.0460042729973793, 549 1.177173137664795, 550 0.11244992911815643, 551 0.9387195110321045, 552 0, 553 0.12689214944839478, 554 0.3376559019088745, 555 0.40547001361846924, 556 0.3384030759334564, 557 0.5897663235664368, 558 0.8271709680557251, 559 0.6817569732666016, 560 0, 561 0.08246752619743347, 562 0.06000163406133652, 563 0.8564596176147461, 564 0.5787978172302246, 565 1.1360399723052979, 566 0.39879822731018066, 567 0.4050857424736023, 568 0, 569 0.0802486464381218, 570 0.011377583257853985, 571 0.8690866827964783, 572 0.1097523421049118, 573 1.4495694637298584, 574 0.0756206065416336, 575 0.6312723755836487, 576 0, 577 0.03145187348127365, 578 0.08369242399930954, 579 0.37237587571144104, 580 0.8073278069496155, 581 0.8744456768035889, 582 0.556257963180542, 583 0.45846959948539734, 584 0, 585 0, 586 0, 587 0, 588 0, 589 0, 590 0, 591 0, 592 0, 593 0.05494653806090355, 594 0.0034586030524224043, 595 0.7153855562210083, 596 0.04389362782239914, 597 0.869132936000824, 598 0.04028744250535965, 599 0.21026825904846191, 600 0, 601 0.04203145205974579, 602 0.02203426882624626, 603 0.5411697030067444, 604 0.2796400785446167, 605 0.5878635048866272, 606 0.25666558742523193, 607 0.0901883915066719, 608 0, 609 0.015911730006337166, 610 0.023744819685816765, 611 0.21005792915821075, 612 0.30134889483451843, 613 0.2883978486061096, 614 0.27659088373184204, 615 0.09458412230014801, 616 0, 617 0.3785804808139801, 618 0.02382970042526722, 619 0.5037901997566223, 620 0.0238824300467968, 621 1.0520728826522827, 622 0.05837669596076012, 623 0.3046796917915344, 624 0, 625 0.2895958125591278, 626 0.15181563794612885, 627 0.3435823321342468, 628 0.15215156972408295, 629 0.7628997564315796, 630 0.37190964818000793, 631 0.13068340718746185, 632 0, 633 0.1096314787864685, 634 0.16360129415988922, 635 0.16581982374191284, 636 0.16396330296993256, 637 0.3246387541294098, 638 0.400781512260437, 639 0.13705284893512726, 640 0, 641 0.09383610635995865, 642 0.00590650225058198, 643 0.9360047578811646, 644 0.05697628855705261, 645 0.9210482239723206, 646 0.03925730288028717, 647 0.20489174127578735, 648 0, 649 0.07178010046482086, 650 0.03762948885560036, 651 0.7056396007537842, 652 0.36298784613609314, 653 0.6046316623687744, 654 0.2501027286052704, 655 0.08788229525089264, 656 0, 657 0.027173593640327454, 658 0.04055071249604225, 659 0.27599334716796875, 660 0.3911670744419098, 661 0.3143731355667114, 662 0.26951852440834045, 663 0.09216563403606415, 664 0, 665 0, 666 0, 667 0, 668 0, 669 0, 670 0, 671 0, 672 0 673 ], 674 'descriptor': {shape: [1, 2, 10, 8], dataType: 'float32'} 675 } 676 } 677 } 678 }, 679 { 680 'name': 681 'convTranspose2d float32 4D input and filter tensors options.outputSizes', 682 'graph': { 683 'inputs': { 684 'convTranspose2dInput': { 685 'data': [ 686 0.05605664849281311, 0.7114229798316956, 0.6529743671417236, 687 0.38622909784317017, 0.3870837390422821, 0.9461629390716553, 688 0.09573192149400711, 0.9234652519226074, 0.636277973651886 689 ], 690 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'} 691 }, 692 'convTranspose2dFilter': { 693 'data': [ 694 0.8614422678947449, 0.6267672777175903, 0.6366490125656128, 695 0.8382642269134521, 0.11884837597608566, 0.9921330213546753, 696 0.3285411298274994, 0.8742373585700989, 0.7205492258071899, 697 0.9801966547966003, 0.06169835478067398, 0.3220160901546478, 698 0.7498031854629517, 0.3930714726448059, 0.13811933994293213, 699 0.28385090827941895, 0.4235861301422119, 0.1448512077331543 700 ], 701 'descriptor': {shape: [1, 2, 3, 3], dataType: 'float32'}, 702 'constant': true 703 } 704 }, 705 'operators': [{ 706 'name': 'convTranspose2d', 707 'arguments': [ 708 {'input': 'convTranspose2dInput'}, 709 {'filter': 'convTranspose2dFilter'}, 710 {'options': {'strides': [3, 2], 'outputSizes': [10, 8]}} 711 ], 712 'outputs': 'convTranspose2dOutput' 713 }], 714 'expectedOutputs': { 715 'convTranspose2dOutput': { 716 'data': [ 717 0.04828956723213196, 718 0.03513447195291519, 719 0.6485382318496704, 720 0.4458966553211212, 721 1.015426516532898, 722 0.4092629551887512, 723 0.4157154858112335, 724 0, 725 0.0469902828335762, 726 0.0066622416488826275, 727 0.6519761085510254, 728 0.08455146849155426, 729 1.2531912326812744, 730 0.07760494202375412, 731 0.6478374600410461, 732 0, 733 0.018416915088891983, 734 0.04900681599974632, 735 0.27412328124046326, 736 0.6219525337219238, 737 0.7271442413330078, 738 0.5708546042442322, 739 0.4705001711845398, 740 0, 741 0.3327140808105469, 742 0.24207575619220734, 743 0.5793426632881165, 744 0.24261142313480377, 745 1.0615012645721436, 746 0.593023955821991, 747 0.6023737192153931, 748 0, 749 0.32376202940940857, 750 0.04590269923210144, 751 0.7076690793037415, 752 0.0460042729973793, 753 1.177173137664795, 754 0.11244992911815643, 755 0.9387195110321045, 756 0, 757 0.12689214944839478, 758 0.3376559019088745, 759 0.40547001361846924, 760 0.3384030759334564, 761 0.5897663235664368, 762 0.8271709680557251, 763 0.6817569732666016, 764 0, 765 0.08246752619743347, 766 0.06000163406133652, 767 0.8564596176147461, 768 0.5787978172302246, 769 1.1360399723052979, 770 0.39879822731018066, 771 0.4050857424736023, 772 0, 773 0.0802486464381218, 774 0.011377583257853985, 775 0.8690866827964783, 776 0.1097523421049118, 777 1.4495694637298584, 778 0.0756206065416336, 779 0.6312723755836487, 780 0, 781 0.03145187348127365, 782 0.08369242399930954, 783 0.37237587571144104, 784 0.8073278069496155, 785 0.8744456768035889, 786 0.556257963180542, 787 0.45846959948539734, 788 0, 789 0, 790 0, 791 0, 792 0, 793 0, 794 0, 795 0, 796 0, 797 0.05494653806090355, 798 0.0034586030524224043, 799 0.7153855562210083, 800 0.04389362782239914, 801 0.869132936000824, 802 0.04028744250535965, 803 0.21026825904846191, 804 0, 805 0.04203145205974579, 806 0.02203426882624626, 807 0.5411697030067444, 808 0.2796400785446167, 809 0.5878635048866272, 810 0.25666558742523193, 811 0.0901883915066719, 812 0, 813 0.015911730006337166, 814 0.023744819685816765, 815 0.21005792915821075, 816 0.30134889483451843, 817 0.2883978486061096, 818 0.27659088373184204, 819 0.09458412230014801, 820 0, 821 0.3785804808139801, 822 0.02382970042526722, 823 0.5037901997566223, 824 0.0238824300467968, 825 1.0520728826522827, 826 0.05837669596076012, 827 0.3046796917915344, 828 0, 829 0.2895958125591278, 830 0.15181563794612885, 831 0.3435823321342468, 832 0.15215156972408295, 833 0.7628997564315796, 834 0.37190964818000793, 835 0.13068340718746185, 836 0, 837 0.1096314787864685, 838 0.16360129415988922, 839 0.16581982374191284, 840 0.16396330296993256, 841 0.3246387541294098, 842 0.400781512260437, 843 0.13705284893512726, 844 0, 845 0.09383610635995865, 846 0.00590650225058198, 847 0.9360047578811646, 848 0.05697628855705261, 849 0.9210482239723206, 850 0.03925730288028717, 851 0.20489174127578735, 852 0, 853 0.07178010046482086, 854 0.03762948885560036, 855 0.7056396007537842, 856 0.36298784613609314, 857 0.6046316623687744, 858 0.2501027286052704, 859 0.08788229525089264, 860 0, 861 0.027173593640327454, 862 0.04055071249604225, 863 0.27599334716796875, 864 0.3911670744419098, 865 0.3143731355667114, 866 0.26951852440834045, 867 0.09216563403606415, 868 0, 869 0, 870 0, 871 0, 872 0, 873 0, 874 0, 875 0, 876 0 877 ], 878 'descriptor': {shape: [1, 2, 10, 8], dataType: 'float32'} 879 } 880 } 881 } 882 }, 883 { 884 'name': 885 'convTranspose2d float32 4D input and filter tensors options.inputLayout=nchw', 886 'graph': { 887 'inputs': { 888 'convTranspose2dInput': { 889 'data': [ 890 0.05605664849281311, 0.7114229798316956, 0.6529743671417236, 891 0.38622909784317017, 0.3870837390422821, 0.9461629390716553, 892 0.09573192149400711, 0.9234652519226074, 0.636277973651886 893 ], 894 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'} 895 }, 896 'convTranspose2dFilter': { 897 'data': [ 898 0.8614422678947449, 0.6267672777175903, 0.6366490125656128, 899 0.8382642269134521, 0.11884837597608566, 0.9921330213546753, 900 0.3285411298274994, 0.8742373585700989, 0.7205492258071899, 901 0.9801966547966003, 0.06169835478067398, 0.3220160901546478, 902 0.7498031854629517, 0.3930714726448059, 0.13811933994293213, 903 0.28385090827941895, 0.4235861301422119, 0.1448512077331543 904 ], 905 'descriptor': {shape: [1, 2, 3, 3], dataType: 'float32'}, 906 'constant': true 907 } 908 }, 909 'operators': [{ 910 'name': 'convTranspose2d', 911 'arguments': [ 912 {'input': 'convTranspose2dInput'}, 913 {'filter': 'convTranspose2dFilter'}, 914 {'options': {'inputLayout': 'nchw'}} 915 ], 916 'outputs': 'convTranspose2dOutput' 917 }], 918 'expectedOutputs': { 919 'convTranspose2dOutput': { 920 'data': [ 921 0.04828956723213196, 0.6479843258857727, 1.0440847873687744, 922 0.8621897101402283, 0.4157154858112335, 0.3797043561935425, 923 1.1785486936569214, 1.9911006689071655, 1.6228916645050049, 924 1.2502111196517944, 0.4246464669704437, 1.5086332559585571, 925 3.287064790725708, 2.5666797161102295, 1.8143054246902466, 926 0.20714078843593597, 1.2503143548965454, 1.6656538248062134, 927 2.097904920578003, 1.313029408454895, 0.03145187348127365, 928 0.38708874583244324, 1.0853508710861206, 1.2216601371765137, 929 0.45846959948539734, 0.05494653806090355, 0.7007930278778076, 930 0.7019880414009094, 0.26937708258628845, 0.21026825904846191, 931 0.4206119179725647, 0.9587093591690063, 1.8526650667190552, 932 0.5379507541656494, 0.39486807584762573, 0.3993436396121979, 933 1.5788191556930542, 2.121230363845825, 1.141642689704895, 934 0.4301592707633972, 0.18141157925128937, 1.0035220384597778, 935 1.3417718410491943, 0.8345021605491638, 0.2249351441860199, 936 0.027173593640327454, 0.3026771545410156, 0.5856420397758484, 937 0.40328359603881836, 0.09216563403606415 938 ], 939 'descriptor': {shape: [1, 2, 5, 5], dataType: 'float32'} 940 } 941 } 942 } 943 }, 944 { 945 'name': 946 'convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc', 947 'graph': { 948 'inputs': { 949 'convTranspose2dInput': { 950 'data': [ 951 0.05605664849281311, 0.7114229798316956, 0.6529743671417236, 952 0.38622909784317017, 0.3870837390422821, 0.9461629390716553, 953 0.09573192149400711, 0.9234652519226074, 0.636277973651886 954 ], 955 'descriptor': {shape: [1, 3, 3, 1], dataType: 'float32'} 956 }, 957 'convTranspose2dFilter': { 958 'data': [ 959 0.8614422678947449, 0.6267672777175903, 0.6366490125656128, 960 0.8382642269134521, 0.11884837597608566, 0.9921330213546753, 961 0.3285411298274994, 0.8742373585700989, 0.7205492258071899, 962 0.9801966547966003, 0.06169835478067398, 0.3220160901546478, 963 0.7498031854629517, 0.3930714726448059, 0.13811933994293213, 964 0.28385090827941895, 0.4235861301422119, 0.1448512077331543 965 ], 966 'descriptor': {shape: [1, 2, 3, 3], dataType: 'float32'}, 967 'constant': true 968 } 969 }, 970 'operators': [{ 971 'name': 'convTranspose2d', 972 'arguments': [ 973 {'input': 'convTranspose2dInput'}, 974 {'filter': 'convTranspose2dFilter'}, 975 {'options': {'inputLayout': 'nhwc'}} 976 ], 977 'outputs': 'convTranspose2dOutput' 978 }], 979 'expectedOutputs': { 980 'convTranspose2dOutput': { 981 'data': [ 982 0.04828956723213196, 0.05494653806090355, 0.6479843258857727, 983 0.7007930278778076, 1.0440847873687744, 0.7019880414009094, 984 0.8621897101402283, 0.26937708258628845, 0.4157154858112335, 985 0.21026825904846191, 0.3797043561935425, 0.4206119179725647, 986 1.1785486936569214, 0.9587093591690063, 1.9911006689071655, 987 1.8526650667190552, 1.6228916645050049, 0.5379507541656494, 988 1.2502111196517944, 0.39486807584762573, 0.4246464669704437, 989 0.3993436396121979, 1.5086332559585571, 1.5788191556930542, 990 3.287064790725708, 2.121230363845825, 2.5666797161102295, 991 1.141642689704895, 1.8143054246902466, 0.4301592707633972, 992 0.20714078843593597, 0.18141157925128937, 1.2503143548965454, 993 1.0035220384597778, 1.6656538248062134, 1.3417718410491943, 994 2.097904920578003, 0.8345021605491638, 1.313029408454895, 995 0.2249351441860199, 0.03145187348127365, 0.027173593640327454, 996 0.38708874583244324, 0.3026771545410156, 1.0853508710861206, 997 0.5856420397758484, 1.2216601371765137, 0.40328359603881836, 998 0.45846959948539734, 0.09216563403606415 999 ], 1000 'descriptor': {shape: [1, 5, 5, 2], dataType: 'float32'} 1001 } 1002 } 1003 } 1004 }, 1005 { 1006 'name': 1007 'convTranspose2d float32 4D input and filter tensors options.filterLayout=iohw', 1008 'graph': { 1009 'inputs': { 1010 'convTranspose2dInput': { 1011 'data': [ 1012 0.05605664849281311, 0.7114229798316956, 0.6529743671417236, 1013 0.38622909784317017, 0.3870837390422821, 0.9461629390716553, 1014 0.09573192149400711, 0.9234652519226074, 0.636277973651886 1015 ], 1016 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'} 1017 }, 1018 'convTranspose2dFilter': { 1019 'data': [ 1020 0.8614422678947449, 0.6267672777175903, 0.6366490125656128, 1021 0.8382642269134521, 0.11884837597608566, 0.9921330213546753, 1022 0.3285411298274994, 0.8742373585700989, 0.7205492258071899, 1023 0.9801966547966003, 0.06169835478067398, 0.3220160901546478, 1024 0.7498031854629517, 0.3930714726448059, 0.13811933994293213, 1025 0.28385090827941895, 0.4235861301422119, 0.1448512077331543 1026 ], 1027 'descriptor': {shape: [1, 2, 3, 3], dataType: 'float32'}, 1028 'constant': true 1029 } 1030 }, 1031 'operators': [{ 1032 'name': 'convTranspose2d', 1033 'arguments': [ 1034 {'input': 'convTranspose2dInput'}, 1035 {'filter': 'convTranspose2dFilter'}, 1036 {'options': {'filterLayout': 'iohw'}} 1037 ], 1038 'outputs': 'convTranspose2dOutput' 1039 }], 1040 'expectedOutputs': { 1041 'convTranspose2dOutput': { 1042 'data': [ 1043 0.04828956723213196, 0.6479843258857727, 1.0440847873687744, 1044 0.8621897101402283, 0.4157154858112335, 0.3797043561935425, 1045 1.1785486936569214, 1.9911006689071655, 1.6228916645050049, 1046 1.2502111196517944, 0.4246464669704437, 1.5086332559585571, 1047 3.287064790725708, 2.5666797161102295, 1.8143054246902466, 1048 0.20714078843593597, 1.2503143548965454, 1.6656538248062134, 1049 2.097904920578003, 1.313029408454895, 0.03145187348127365, 1050 0.38708874583244324, 1.0853508710861206, 1.2216601371765137, 1051 0.45846959948539734, 0.05494653806090355, 0.7007930278778076, 1052 0.7019880414009094, 0.26937708258628845, 0.21026825904846191, 1053 0.4206119179725647, 0.9587093591690063, 1.8526650667190552, 1054 0.5379507541656494, 0.39486807584762573, 0.3993436396121979, 1055 1.5788191556930542, 2.121230363845825, 1.141642689704895, 1056 0.4301592707633972, 0.18141157925128937, 1.0035220384597778, 1057 1.3417718410491943, 0.8345021605491638, 0.2249351441860199, 1058 0.027173593640327454, 0.3026771545410156, 0.5856420397758484, 1059 0.40328359603881836, 0.09216563403606415 1060 ], 1061 'descriptor': {shape: [1, 2, 5, 5], dataType: 'float32'} 1062 } 1063 } 1064 } 1065 }, 1066 { 1067 'name': 1068 'convTranspose2d float32 4D input and filter tensors options.filterLayout=hwoi', 1069 'graph': { 1070 'inputs': { 1071 'convTranspose2dInput': { 1072 'data': [ 1073 0.05605664849281311, 0.7114229798316956, 0.6529743671417236, 1074 0.38622909784317017, 0.3870837390422821, 0.9461629390716553, 1075 0.09573192149400711, 0.9234652519226074, 0.636277973651886 1076 ], 1077 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'} 1078 }, 1079 'convTranspose2dFilter': { 1080 'data': [ 1081 0.8614422678947449, 0.9801966547966003, 0.6267672777175903, 1082 0.06169835478067398, 0.6366490125656128, 0.3220160901546478, 1083 0.8382642269134521, 0.7498031854629517, 0.11884837597608566, 1084 0.3930714726448059, 0.9921330213546753, 0.13811933994293213, 1085 0.3285411298274994, 0.28385090827941895, 0.8742373585700989, 1086 0.4235861301422119, 0.7205492258071899, 0.1448512077331543 1087 ], 1088 'descriptor': {shape: [3, 3, 2, 1], dataType: 'float32'}, 1089 'constant': true 1090 } 1091 }, 1092 'operators': [{ 1093 'name': 'convTranspose2d', 1094 'arguments': [ 1095 {'input': 'convTranspose2dInput'}, 1096 {'filter': 'convTranspose2dFilter'}, 1097 {'options': {'filterLayout': 'hwoi'}} 1098 ], 1099 'outputs': 'convTranspose2dOutput' 1100 }], 1101 'expectedOutputs': { 1102 'convTranspose2dOutput': { 1103 'data': [ 1104 0.04828956723213196, 0.6479843258857727, 1.0440847873687744, 1105 0.8621897101402283, 0.4157154858112335, 0.3797043561935425, 1106 1.1785486936569214, 1.9911006689071655, 1.6228916645050049, 1107 1.2502111196517944, 0.4246464669704437, 1.5086332559585571, 1108 3.287064790725708, 2.5666797161102295, 1.8143054246902466, 1109 0.20714078843593597, 1.2503143548965454, 1.6656538248062134, 1110 2.097904920578003, 1.313029408454895, 0.03145187348127365, 1111 0.38708874583244324, 1.0853508710861206, 1.2216601371765137, 1112 0.45846959948539734, 0.05494653806090355, 0.7007930278778076, 1113 0.7019880414009094, 0.26937708258628845, 0.21026825904846191, 1114 0.4206119179725647, 0.9587093591690063, 1.8526650667190552, 1115 0.5379507541656494, 0.39486807584762573, 0.3993436396121979, 1116 1.5788191556930542, 2.121230363845825, 1.141642689704895, 1117 0.4301592707633972, 0.18141157925128937, 1.0035220384597778, 1118 1.3417718410491943, 0.8345021605491638, 0.2249351441860199, 1119 0.027173593640327454, 0.3026771545410156, 0.5856420397758484, 1120 0.40328359603881836, 0.09216563403606415 1121 ], 1122 'descriptor': {shape: [1, 2, 5, 5], dataType: 'float32'} 1123 } 1124 } 1125 } 1126 }, 1127 { 1128 'name': 1129 'convTranspose2d float32 4D input and filter tensors options.filterLayout=ohwi', 1130 'graph': { 1131 'inputs': { 1132 'convTranspose2dInput': { 1133 'data': [ 1134 0.05605664849281311, 0.7114229798316956, 0.6529743671417236, 1135 0.38622909784317017, 0.3870837390422821, 0.9461629390716553, 1136 0.09573192149400711, 0.9234652519226074, 0.636277973651886 1137 ], 1138 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'} 1139 }, 1140 'convTranspose2dFilter': { 1141 'data': [ 1142 0.8614422678947449, 0.6267672777175903, 0.6366490125656128, 1143 0.8382642269134521, 0.11884837597608566, 0.9921330213546753, 1144 0.3285411298274994, 0.8742373585700989, 0.7205492258071899, 1145 0.9801966547966003, 0.06169835478067398, 0.3220160901546478, 1146 0.7498031854629517, 0.3930714726448059, 0.13811933994293213, 1147 0.28385090827941895, 0.4235861301422119, 0.1448512077331543 1148 ], 1149 'descriptor': {shape: [2, 3, 3, 1], dataType: 'float32'}, 1150 'constant': true 1151 } 1152 }, 1153 'operators': [{ 1154 'name': 'convTranspose2d', 1155 'arguments': [ 1156 {'input': 'convTranspose2dInput'}, 1157 {'filter': 'convTranspose2dFilter'}, 1158 {'options': {'filterLayout': 'ohwi'}} 1159 ], 1160 'outputs': 'convTranspose2dOutput' 1161 }], 1162 'expectedOutputs': { 1163 'convTranspose2dOutput': { 1164 'data': [ 1165 0.04828956723213196, 0.6479843258857727, 1.0440847873687744, 1166 0.8621897101402283, 0.4157154858112335, 0.3797043561935425, 1167 1.1785486936569214, 1.9911006689071655, 1.6228916645050049, 1168 1.2502111196517944, 0.4246464669704437, 1.5086332559585571, 1169 3.287064790725708, 2.5666797161102295, 1.8143054246902466, 1170 0.20714078843593597, 1.2503143548965454, 1.6656538248062134, 1171 2.097904920578003, 1.313029408454895, 0.03145187348127365, 1172 0.38708874583244324, 1.0853508710861206, 1.2216601371765137, 1173 0.45846959948539734, 0.05494653806090355, 0.7007930278778076, 1174 0.7019880414009094, 0.26937708258628845, 0.21026825904846191, 1175 0.4206119179725647, 0.9587093591690063, 1.8526650667190552, 1176 0.5379507541656494, 0.39486807584762573, 0.3993436396121979, 1177 1.5788191556930542, 2.121230363845825, 1.141642689704895, 1178 0.4301592707633972, 0.18141157925128937, 1.0035220384597778, 1179 1.3417718410491943, 0.8345021605491638, 0.2249351441860199, 1180 0.027173593640327454, 0.3026771545410156, 0.5856420397758484, 1181 0.40328359603881836, 0.09216563403606415 1182 ], 1183 'descriptor': {shape: [1, 2, 5, 5], dataType: 'float32'} 1184 } 1185 } 1186 } 1187 }, 1188 { 1189 'name': 1190 'convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc options.filterLayout=iohw', 1191 'graph': { 1192 'inputs': { 1193 'convTranspose2dInput': { 1194 'data': [ 1195 0.05605664849281311, 0.7114229798316956, 0.6529743671417236, 1196 0.38622909784317017, 0.3870837390422821, 0.9461629390716553, 1197 0.09573192149400711, 0.9234652519226074, 0.636277973651886 1198 ], 1199 'descriptor': {shape: [1, 3, 3, 1], dataType: 'float32'} 1200 }, 1201 'convTranspose2dFilter': { 1202 'data': [ 1203 0.8614422678947449, 0.6267672777175903, 0.6366490125656128, 1204 0.8382642269134521, 0.11884837597608566, 0.9921330213546753, 1205 0.3285411298274994, 0.8742373585700989, 0.7205492258071899, 1206 0.9801966547966003, 0.06169835478067398, 0.3220160901546478, 1207 0.7498031854629517, 0.3930714726448059, 0.13811933994293213, 1208 0.28385090827941895, 0.4235861301422119, 0.1448512077331543 1209 ], 1210 'descriptor': {shape: [1, 2, 3, 3], dataType: 'float32'}, 1211 'constant': true 1212 } 1213 }, 1214 'operators': [{ 1215 'name': 'convTranspose2d', 1216 'arguments': [ 1217 {'input': 'convTranspose2dInput'}, 1218 {'filter': 'convTranspose2dFilter'}, 1219 {'options': {'inputLayout': 'nhwc', 'filterLayout': 'iohw'}} 1220 ], 1221 'outputs': 'convTranspose2dOutput' 1222 }], 1223 'expectedOutputs': { 1224 'convTranspose2dOutput': { 1225 'data': [ 1226 0.04828956723213196, 0.05494653806090355, 0.6479843258857727, 1227 0.7007930278778076, 1.0440847873687744, 0.7019880414009094, 1228 0.8621897101402283, 0.26937708258628845, 0.4157154858112335, 1229 0.21026825904846191, 0.3797043561935425, 0.4206119179725647, 1230 1.1785486936569214, 0.9587093591690063, 1.9911006689071655, 1231 1.8526650667190552, 1.6228916645050049, 0.5379507541656494, 1232 1.2502111196517944, 0.39486807584762573, 0.4246464669704437, 1233 0.3993436396121979, 1.5086332559585571, 1.5788191556930542, 1234 3.287064790725708, 2.121230363845825, 2.5666797161102295, 1235 1.141642689704895, 1.8143054246902466, 0.4301592707633972, 1236 0.20714078843593597, 0.18141157925128937, 1.2503143548965454, 1237 1.0035220384597778, 1.6656538248062134, 1.3417718410491943, 1238 2.097904920578003, 0.8345021605491638, 1.313029408454895, 1239 0.2249351441860199, 0.03145187348127365, 0.027173593640327454, 1240 0.38708874583244324, 0.3026771545410156, 1.0853508710861206, 1241 0.5856420397758484, 1.2216601371765137, 0.40328359603881836, 1242 0.45846959948539734, 0.09216563403606415 1243 ], 1244 'descriptor': {shape: [1, 5, 5, 2], dataType: 'float32'} 1245 } 1246 } 1247 } 1248 }, 1249 { 1250 'name': 1251 'convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc options.filterLayout=hwoi', 1252 'graph': { 1253 'inputs': { 1254 'convTranspose2dInput': { 1255 'data': [ 1256 0.05605664849281311, 0.7114229798316956, 0.6529743671417236, 1257 0.38622909784317017, 0.3870837390422821, 0.9461629390716553, 1258 0.09573192149400711, 0.9234652519226074, 0.636277973651886 1259 ], 1260 'descriptor': {shape: [1, 3, 3, 1], dataType: 'float32'} 1261 }, 1262 'convTranspose2dFilter': { 1263 'data': [ 1264 0.8614422678947449, 0.9801966547966003, 0.6267672777175903, 1265 0.06169835478067398, 0.6366490125656128, 0.3220160901546478, 1266 0.8382642269134521, 0.7498031854629517, 0.11884837597608566, 1267 0.3930714726448059, 0.9921330213546753, 0.13811933994293213, 1268 0.3285411298274994, 0.28385090827941895, 0.8742373585700989, 1269 0.4235861301422119, 0.7205492258071899, 0.1448512077331543 1270 ], 1271 'descriptor': {shape: [3, 3, 2, 1], dataType: 'float32'}, 1272 'constant': true 1273 } 1274 }, 1275 'operators': [{ 1276 'name': 'convTranspose2d', 1277 'arguments': [ 1278 {'input': 'convTranspose2dInput'}, 1279 {'filter': 'convTranspose2dFilter'}, 1280 {'options': {'inputLayout': 'nhwc', 'filterLayout': 'hwoi'}} 1281 ], 1282 'outputs': 'convTranspose2dOutput' 1283 }], 1284 'expectedOutputs': { 1285 'convTranspose2dOutput': { 1286 'data': [ 1287 0.04828956723213196, 0.05494653806090355, 0.6479843258857727, 1288 0.7007930278778076, 1.0440847873687744, 0.7019880414009094, 1289 0.8621897101402283, 0.26937708258628845, 0.4157154858112335, 1290 0.21026825904846191, 0.3797043561935425, 0.4206119179725647, 1291 1.1785486936569214, 0.9587093591690063, 1.9911006689071655, 1292 1.8526650667190552, 1.6228916645050049, 0.5379507541656494, 1293 1.2502111196517944, 0.39486807584762573, 0.4246464669704437, 1294 0.3993436396121979, 1.5086332559585571, 1.5788191556930542, 1295 3.287064790725708, 2.121230363845825, 2.5666797161102295, 1296 1.141642689704895, 1.8143054246902466, 0.4301592707633972, 1297 0.20714078843593597, 0.18141157925128937, 1.2503143548965454, 1298 1.0035220384597778, 1.6656538248062134, 1.3417718410491943, 1299 2.097904920578003, 0.8345021605491638, 1.313029408454895, 1300 0.2249351441860199, 0.03145187348127365, 0.027173593640327454, 1301 0.38708874583244324, 0.3026771545410156, 1.0853508710861206, 1302 0.5856420397758484, 1.2216601371765137, 0.40328359603881836, 1303 0.45846959948539734, 0.09216563403606415 1304 ], 1305 'descriptor': {shape: [1, 5, 5, 2], dataType: 'float32'} 1306 } 1307 } 1308 } 1309 }, 1310 { 1311 'name': 1312 'convTranspose2d float32 4D input and filter tensors options.inputLayout=nhwc options.filterLayout=ohwi', 1313 'graph': { 1314 'inputs': { 1315 'convTranspose2dInput': { 1316 'data': [ 1317 0.05605664849281311, 0.7114229798316956, 0.6529743671417236, 1318 0.38622909784317017, 0.3870837390422821, 0.9461629390716553, 1319 0.09573192149400711, 0.9234652519226074, 0.636277973651886 1320 ], 1321 'descriptor': {shape: [1, 3, 3, 1], dataType: 'float32'} 1322 }, 1323 'convTranspose2dFilter': { 1324 'data': [ 1325 0.8614422678947449, 0.6267672777175903, 0.6366490125656128, 1326 0.8382642269134521, 0.11884837597608566, 0.9921330213546753, 1327 0.3285411298274994, 0.8742373585700989, 0.7205492258071899, 1328 0.9801966547966003, 0.06169835478067398, 0.3220160901546478, 1329 0.7498031854629517, 0.3930714726448059, 0.13811933994293213, 1330 0.28385090827941895, 0.4235861301422119, 0.1448512077331543 1331 ], 1332 'descriptor': {shape: [2, 3, 3, 1], dataType: 'float32'}, 1333 'constant': true 1334 } 1335 }, 1336 'operators': [{ 1337 'name': 'convTranspose2d', 1338 'arguments': [ 1339 {'input': 'convTranspose2dInput'}, 1340 {'filter': 'convTranspose2dFilter'}, 1341 {'options': {'inputLayout': 'nhwc', 'filterLayout': 'ohwi'}} 1342 ], 1343 'outputs': 'convTranspose2dOutput' 1344 }], 1345 'expectedOutputs': { 1346 'convTranspose2dOutput': { 1347 'data': [ 1348 0.04828956723213196, 0.05494653806090355, 0.6479843258857727, 1349 0.7007930278778076, 1.0440847873687744, 0.7019880414009094, 1350 0.8621897101402283, 0.26937708258628845, 0.4157154858112335, 1351 0.21026825904846191, 0.3797043561935425, 0.4206119179725647, 1352 1.1785486936569214, 0.9587093591690063, 1.9911006689071655, 1353 1.8526650667190552, 1.6228916645050049, 0.5379507541656494, 1354 1.2502111196517944, 0.39486807584762573, 0.4246464669704437, 1355 0.3993436396121979, 1.5086332559585571, 1.5788191556930542, 1356 3.287064790725708, 2.121230363845825, 2.5666797161102295, 1357 1.141642689704895, 1.8143054246902466, 0.4301592707633972, 1358 0.20714078843593597, 0.18141157925128937, 1.2503143548965454, 1359 1.0035220384597778, 1.6656538248062134, 1.3417718410491943, 1360 2.097904920578003, 0.8345021605491638, 1.313029408454895, 1361 0.2249351441860199, 0.03145187348127365, 0.027173593640327454, 1362 0.38708874583244324, 0.3026771545410156, 1.0853508710861206, 1363 0.5856420397758484, 1.2216601371765137, 0.40328359603881836, 1364 0.45846959948539734, 0.09216563403606415 1365 ], 1366 'descriptor': {shape: [1, 5, 5, 2], dataType: 'float32'} 1367 } 1368 } 1369 } 1370 }, 1371 { 1372 'name': 'convTranspose2d float32 4D input and filter tensors options.bias', 1373 'graph': { 1374 'inputs': { 1375 'convTranspose2dInput': { 1376 'data': [ 1377 0.1109575480222702, 0.8681362271308899, 0.7342095971107483, 1378 0.43077003955841064, 0.5981627106666565, 0.12321650236845016, 1379 0.1610974818468094, 0.0884026437997818, 0.29100972414016724 1380 ], 1381 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'} 1382 }, 1383 'convTranspose2dFilter': { 1384 'data': [ 1385 0.6161394715309143, 0.26224616169929504, 0.7951397895812988, 1386 0.8730561137199402, 0.8309102058410645, 0.854960560798645, 1387 0.5552039742469788, 0.840092122554779, 0.85308438539505 1388 ], 1389 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}, 1390 'constant': true 1391 }, 1392 'convTranspose2dBias': { 1393 'data': [0.451673686504364], 1394 'descriptor': {shape: [1], dataType: 'float32'}, 1395 'constant': true 1396 } 1397 }, 1398 'operators': [{ 1399 'name': 'convTranspose2d', 1400 'arguments': [ 1401 {'input': 'convTranspose2dInput'}, 1402 {'filter': 'convTranspose2dFilter'}, 1403 {'options': {'bias': 'convTranspose2dBias'}} 1404 ], 1405 'outputs': 'convTranspose2dOutput' 1406 }], 1407 'expectedOutputs': { 1408 'convTranspose2dOutput': { 1409 'data': [ 1410 0.5200390219688416, 1.01566481590271, 1.2199413776397705, 1411 1.3345069885253906, 1.0354729890823364, 0.8139602541923523, 1412 1.7833205461502075, 2.484194278717041, 2.311894178390503, 1413 1.1773682832717896, 0.9886226654052734, 2.0037572383880615, 1414 2.9867470264434814, 2.5694668292999268, 1.41475510597229, 1415 0.8314860463142395, 1.3567005395889282, 1.8553334474563599, 1416 1.3828538656234741, 0.8055896162986755, 0.5411156415939331, 1417 0.6360918879508972, 0.8249395489692688, 0.7715635895729065, 1418 0.6999295353889465 1419 ], 1420 'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'} 1421 } 1422 } 1423 } 1424 }, 1425 { 1426 'name': 1427 'convTranspose2d float32 4D input and filter tensors, both negative input tensor and options.bias', 1428 'graph': { 1429 'inputs': { 1430 'convTranspose2dInput': { 1431 'data': [ 1432 -0.10889056324958801, -0.29801905155181885, -0.3907785713672638, 1433 -0.5624061226844788, -0.7322093844413757, -0.8421320915222168, 1434 -0.30598655343055725, -0.976659893989563, -0.014158561825752258 1435 ], 1436 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'} 1437 }, 1438 'convTranspose2dFilter': { 1439 'data': [ 1440 0.6161394715309143, 0.26224616169929504, 0.7951397895812988, 1441 0.8730561137199402, 0.8309102058410645, 0.854960560798645, 1442 0.5552039742469788, 0.840092122554779, 0.85308438539505 1443 ], 1444 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}, 1445 'constant': true 1446 }, 1447 'convTranspose2dBias': { 1448 'data': [-0.8457866311073303], 1449 'descriptor': {shape: [1], dataType: 'float32'}, 1450 'constant': true 1451 } 1452 }, 1453 'operators': [{ 1454 'name': 'convTranspose2d', 1455 'arguments': [ 1456 {'input': 'convTranspose2dInput'}, 1457 {'filter': 'convTranspose2dFilter'}, 1458 {'options': {'bias': 'convTranspose2dBias'}} 1459 ], 1460 'outputs': 'convTranspose2dOutput' 1461 }], 1462 'expectedOutputs': { 1463 'convTranspose2dOutput': { 1464 'data': [ 1465 -0.9128783941268921, -1.0579640865325928, -1.2512983083724976, 1466 -1.1852335929870605, -1.1565102338790894, -1.2873748540878296, 1467 -1.7950842380523682, -2.6857638359069824, -2.2283377647399902, 1468 -1.8494995832443237, -1.5857856273651123, -2.8912975788116455, 1469 -3.738619565963745, -3.5343525409698486, -1.910401463508606, 1470 -1.425180196762085, -2.8317112922668457, -3.49372935295105, 1471 -3.0246617794036865, -1.5763013362884521, -1.0156716108322144, 1472 -1.645089030265808, -1.935164213180542, -1.6908544301986694, 1473 -0.8578650951385498 1474 ], 1475 'descriptor': {shape: [1, 1, 5, 5], dataType: 'float32'} 1476 } 1477 } 1478 } 1479 }, 1480 { 1481 'name': 'convTranspose2d same output size different padding (padding=1, outputPadding=0))', 1482 'graph': { 1483 'inputs': { 1484 'convTranspose2dInput': { 1485 'data': [ 1486 1, 2, 3, 1487 4, 5, 6, 1488 7, 8, 9 1489 ], 1490 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'} 1491 }, 1492 'convTranspose2dFilter': { 1493 'data': [ 1494 1, 1, 1, 1495 1, 1, 1, 1496 1, 1, 1 1497 ], 1498 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}, 1499 'constant': true 1500 } 1501 }, 1502 'operators': [{ 1503 'name': 'convTranspose2d', 1504 'arguments': [ 1505 {'input': 'convTranspose2dInput'}, 1506 {'filter': 'convTranspose2dFilter'}, 1507 {'options': { 1508 'strides': [3, 3], 1509 'padding': [1, 1, 1, 1], 1510 'outputPadding': [0, 0] 1511 }} 1512 ], 1513 'outputs': 'convTranspose2dOutput' 1514 }], 1515 'expectedOutputs': { 1516 'convTranspose2dOutput': { 1517 'data': [ 1518 1, 1, 2, 2, 2, 3, 3, 1519 1, 1, 2, 2, 2, 3, 3, 1520 4, 4, 5, 5, 5, 6, 6, 1521 4, 4, 5, 5, 5, 6, 6, 1522 4, 4, 5, 5, 5, 6, 6, 1523 7, 7, 8, 8, 8, 9, 9, 1524 7, 7, 8, 8, 8, 9, 9 1525 ], 1526 'descriptor': {shape: [1, 1, 7, 7], dataType: 'float32'} 1527 } 1528 } 1529 } 1530 }, 1531 { 1532 'name': 'convTranspose2d same output size different padding (padding=2, outputPadding=2))', 1533 'graph': { 1534 'inputs': { 1535 'convTranspose2dInput': { 1536 'data': [ 1537 1, 2, 3, 1538 4, 5, 6, 1539 7, 8, 9 1540 ], 1541 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'} 1542 }, 1543 'convTranspose2dFilter': { 1544 'data': [ 1545 1, 1, 1, 1546 1, 1, 1, 1547 1, 1, 1 1548 ], 1549 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float32'}, 1550 'constant': true 1551 } 1552 }, 1553 'operators': [{ 1554 'name': 'convTranspose2d', 1555 'arguments': [ 1556 {'input': 'convTranspose2dInput'}, 1557 {'filter': 'convTranspose2dFilter'}, 1558 {'options': { 1559 'strides': [3, 3], 1560 'padding': [2, 2, 2, 2], 1561 'outputPadding': [2, 2] 1562 }} 1563 ], 1564 'outputs': 'convTranspose2dOutput' 1565 }], 1566 'expectedOutputs': { 1567 'convTranspose2dOutput': { 1568 'data': [ 1569 1, 2, 2, 2, 3, 3, 3, 1570 4, 5, 5, 5, 6, 6, 6, 1571 4, 5, 5, 5, 6, 6, 6, 1572 4, 5, 5, 5, 6, 6, 6, 1573 7, 8, 8, 8, 9, 9, 9, 1574 7, 8, 8, 8, 9, 9, 9, 1575 7, 8, 8, 8, 9, 9, 9 1576 ], 1577 'descriptor': {shape: [1, 1, 7, 7], dataType: 'float32'} 1578 } 1579 } 1580 } 1581 }, 1582 1583 // float16 tests 1584 { 1585 'name': 1586 'convTranspose2d float16 4D both input and filter non-constant tensors default options', 1587 'graph': { 1588 'inputs': { 1589 'convTranspose2dInput': { 1590 'data': [ 1591 0.58740234375, 0.60791015625, 0.0172882080078125, 0.261474609375 1592 ], 1593 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float16'} 1594 }, 1595 'convTranspose2dFilter': { 1596 'data': [ 1597 0.329345703125, 0.5869140625, 0.297119140625, 0.003337860107421875 1598 ], 1599 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float16'} 1600 } 1601 }, 1602 'operators': [{ 1603 'name': 'convTranspose2d', 1604 'arguments': [ 1605 {'input': 'convTranspose2dInput'}, {'filter': 'convTranspose2dFilter'} 1606 ], 1607 'outputs': 'convTranspose2dOutput' 1608 }], 1609 'expectedOutputs': { 1610 'convTranspose2dOutput': { 1611 'data': [ 1612 0.1934814453125, 0.544921875, 0.356689453125, 0.18017578125, 1613 0.27880859375, 0.155517578125, 0.005138397216796875, 1614 0.0777587890625, 0.0008726119995117188 1615 ], 1616 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'} 1617 } 1618 } 1619 } 1620 }, 1621 { 1622 'name': 1623 'convTranspose2d float16 4D both input and filter constant tensors default options', 1624 'graph': { 1625 'inputs': { 1626 'convTranspose2dInput': { 1627 'data': [ 1628 0.58740234375, 0.60791015625, 0.0172882080078125, 0.261474609375 1629 ], 1630 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float16'}, 1631 'constant': true 1632 }, 1633 'convTranspose2dFilter': { 1634 'data': [ 1635 0.329345703125, 0.5869140625, 0.297119140625, 0.003337860107421875 1636 ], 1637 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float16'}, 1638 'constant': true 1639 } 1640 }, 1641 'operators': [{ 1642 'name': 'convTranspose2d', 1643 'arguments': [ 1644 {'input': 'convTranspose2dInput'}, {'filter': 'convTranspose2dFilter'} 1645 ], 1646 'outputs': 'convTranspose2dOutput' 1647 }], 1648 'expectedOutputs': { 1649 'convTranspose2dOutput': { 1650 'data': [ 1651 0.1934814453125, 0.544921875, 0.356689453125, 0.18017578125, 1652 0.27880859375, 0.155517578125, 0.005138397216796875, 1653 0.0777587890625, 0.0008726119995117188 1654 ], 1655 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'} 1656 } 1657 } 1658 } 1659 }, 1660 { 1661 'name': 1662 'convTranspose2d float16 4D input and filter tensors default options', 1663 'graph': { 1664 'inputs': { 1665 'convTranspose2dInput': { 1666 'data': [ 1667 0.58740234375, 0.60791015625, 0.0172882080078125, 0.261474609375 1668 ], 1669 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float16'} 1670 }, 1671 'convTranspose2dFilter': { 1672 'data': [ 1673 0.329345703125, 0.5869140625, 0.297119140625, 0.003337860107421875 1674 ], 1675 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float16'}, 1676 'constant': true 1677 } 1678 }, 1679 'operators': [{ 1680 'name': 'convTranspose2d', 1681 'arguments': [ 1682 {'input': 'convTranspose2dInput'}, {'filter': 'convTranspose2dFilter'} 1683 ], 1684 'outputs': 'convTranspose2dOutput' 1685 }], 1686 'expectedOutputs': { 1687 'convTranspose2dOutput': { 1688 'data': [ 1689 0.1934814453125, 0.544921875, 0.356689453125, 0.18017578125, 1690 0.27880859375, 0.155517578125, 0.005138397216796875, 1691 0.0777587890625, 0.0008726119995117188 1692 ], 1693 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'} 1694 } 1695 } 1696 } 1697 }, 1698 { 1699 'name': 1700 'convTranspose2d float16 4D input and filter tensors options.padding', 1701 'graph': { 1702 'inputs': { 1703 'convTranspose2dInput': { 1704 'data': [ 1705 0.58740234375, 0.60791015625, 0.0172882080078125, 0.261474609375 1706 ], 1707 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float16'} 1708 }, 1709 'convTranspose2dFilter': { 1710 'data': [ 1711 0.329345703125, 0.5869140625, 0.297119140625, 0.003337860107421875 1712 ], 1713 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float16'}, 1714 'constant': true 1715 } 1716 }, 1717 'operators': [{ 1718 'name': 'convTranspose2d', 1719 'arguments': [ 1720 {'input': 'convTranspose2dInput'}, 1721 {'filter': 'convTranspose2dFilter'}, 1722 {'options': {'padding': [1, 1, 1, 1]}} 1723 ], 1724 'outputs': 'convTranspose2dOutput' 1725 }], 1726 'expectedOutputs': { 1727 'convTranspose2dOutput': { 1728 'data': [0.27880859375], 1729 'descriptor': {shape: [1, 1, 1, 1], dataType: 'float16'} 1730 } 1731 } 1732 } 1733 }, 1734 { 1735 'name': 1736 'convTranspose2d float16 input tensors options.padding is the same upper padding', 1737 'graph': { 1738 'inputs': { 1739 'convTranspose2dInput': { 1740 'data': [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5], 1741 'descriptor': {shape: [1, 3, 3, 1], dataType: 'float16'} 1742 }, 1743 'convTranspose2dFilter': { 1744 'data': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], 1745 'descriptor': {shape: [2, 3, 3, 1], dataType: 'float16'}, 1746 'constant': true 1747 } 1748 }, 1749 'operators': [{ 1750 'name': 'convTranspose2d', 1751 'arguments': [ 1752 {'input': 'convTranspose2dInput'}, 1753 {'filter': 'convTranspose2dFilter'}, { 1754 'options': { 1755 'outputSizes': [6, 6], 1756 'groups': 1, 1757 'strides': [2, 2], 1758 'dilations': [1, 1], 1759 'padding': [0, 1, 0, 1], 1760 'filterLayout': 'ohwi', 1761 'inputLayout': 'nhwc' 1762 } 1763 } 1764 ], 1765 'outputs': 'convTranspose2dOutput' 1766 }], 1767 'expectedOutputs': { 1768 'convTranspose2dOutput': { 1769 'data': [ 1770 0.5, 0.5, 0.5, 0.5, 1, 1, 0.5, 0.5, 1, 1, 0.5, 0.5, 1771 0.5, 0.5, 0.5, 0.5, 1, 1, 0.5, 0.5, 1, 1, 0.5, 0.5, 1772 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1773 0.5, 0.5, 0.5, 0.5, 1, 1, 0.5, 0.5, 1, 1, 0.5, 0.5, 1774 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1775 0.5, 0.5, 0.5, 0.5, 1, 1, 0.5, 0.5, 1, 1, 0.5, 0.5 1776 ], 1777 'descriptor': {shape: [1, 6, 6, 2], dataType: 'float16'} 1778 } 1779 } 1780 } 1781 }, 1782 { 1783 'name': 1784 'convTranspose2d float16 4D input and filter tensors options.strides', 1785 'graph': { 1786 'inputs': { 1787 'convTranspose2dInput': { 1788 'data': [ 1789 0.056060791015625, 0.71142578125, 0.65283203125, 0.38623046875, 1790 0.386962890625, 0.9462890625, 0.095703125, 0.92333984375, 1791 0.63623046875 1792 ], 1793 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'} 1794 }, 1795 'convTranspose2dFilter': { 1796 'data': [ 1797 0.861328125, 0.626953125, 0.63671875, 0.83837890625, 1798 0.11883544921875, 0.9921875, 0.32861328125, 0.8740234375, 1799 0.720703125, 0.97998046875, 0.06170654296875, 0.322021484375, 0.75, 1800 0.39306640625, 0.1380615234375, 0.283935546875, 0.423583984375, 1801 0.1448974609375 1802 ], 1803 'descriptor': {shape: [1, 2, 3, 3], dataType: 'float16'}, 1804 'constant': true 1805 } 1806 }, 1807 'operators': [{ 1808 'name': 'convTranspose2d', 1809 'arguments': [ 1810 {'input': 'convTranspose2dInput'}, 1811 {'filter': 'convTranspose2dFilter'}, {'options': {'strides': [3, 2]}} 1812 ], 1813 'outputs': 'convTranspose2dOutput' 1814 }], 1815 'expectedOutputs': { 1816 'convTranspose2dOutput': { 1817 'data': [ 1818 0.04827880859375, 1819 0.03515625, 1820 0.6484375, 1821 0.446044921875, 1822 1.015625, 1823 0.4091796875, 1824 0.415771484375, 1825 0.0469970703125, 1826 0.00666046142578125, 1827 0.65185546875, 1828 0.08453369140625, 1829 1.2529296875, 1830 0.07757568359375, 1831 0.64794921875, 1832 0.0184173583984375, 1833 0.04901123046875, 1834 0.274169921875, 1835 0.62158203125, 1836 0.72705078125, 1837 0.57080078125, 1838 0.470458984375, 1839 0.332763671875, 1840 0.2421875, 1841 0.5791015625, 1842 0.2425537109375, 1843 1.0615234375, 1844 0.59326171875, 1845 0.6025390625, 1846 0.32373046875, 1847 0.0458984375, 1848 0.70751953125, 1849 0.045989990234375, 1850 1.177734375, 1851 0.1124267578125, 1852 0.93896484375, 1853 0.126953125, 1854 0.337646484375, 1855 0.405517578125, 1856 0.338134765625, 1857 0.58984375, 1858 0.8271484375, 1859 0.68212890625, 1860 0.08245849609375, 1861 0.05999755859375, 1862 0.8564453125, 1863 0.5791015625, 1864 1.1357421875, 1865 0.39892578125, 1866 0.405029296875, 1867 0.08026123046875, 1868 0.01137542724609375, 1869 0.869140625, 1870 0.1097412109375, 1871 1.44921875, 1872 0.07562255859375, 1873 0.63134765625, 1874 0.031463623046875, 1875 0.0836181640625, 1876 0.372314453125, 1877 0.80712890625, 1878 0.87451171875, 1879 0.55615234375, 1880 0.45849609375, 1881 0.054931640625, 1882 0.003459930419921875, 1883 0.71533203125, 1884 0.043914794921875, 1885 0.86865234375, 1886 0.040283203125, 1887 0.210205078125, 1888 0.04205322265625, 1889 0.02203369140625, 1890 0.54150390625, 1891 0.279541015625, 1892 0.587890625, 1893 0.256591796875, 1894 0.09014892578125, 1895 0.0159149169921875, 1896 0.02374267578125, 1897 0.2100830078125, 1898 0.30126953125, 1899 0.288330078125, 1900 0.276611328125, 1901 0.0946044921875, 1902 0.37841796875, 1903 0.023834228515625, 1904 0.50341796875, 1905 0.0238800048828125, 1906 1.0517578125, 1907 0.058380126953125, 1908 0.3046875, 1909 0.28955078125, 1910 0.15185546875, 1911 0.343505859375, 1912 0.152099609375, 1913 0.76318359375, 1914 0.3720703125, 1915 0.130615234375, 1916 0.10968017578125, 1917 0.16357421875, 1918 0.1658935546875, 1919 0.1639404296875, 1920 0.32470703125, 1921 0.40087890625, 1922 0.1370849609375, 1923 0.09381103515625, 1924 0.0059051513671875, 1925 0.935546875, 1926 0.056976318359375, 1927 0.9208984375, 1928 0.03924560546875, 1929 0.204833984375, 1930 0.07177734375, 1931 0.037628173828125, 1932 0.70556640625, 1933 0.363037109375, 1934 0.6044921875, 1935 0.25, 1936 0.08782958984375, 1937 0.0271759033203125, 1938 0.04052734375, 1939 0.276123046875, 1940 0.39111328125, 1941 0.314453125, 1942 0.26953125, 1943 0.0921630859375 1944 ], 1945 'descriptor': {shape: [1, 2, 9, 7], dataType: 'float16'} 1946 } 1947 } 1948 } 1949 }, 1950 { 1951 'name': 1952 'convTranspose2d float16 4D input and filter tensors options.dilations', 1953 'graph': { 1954 'inputs': { 1955 'convTranspose2dInput': { 1956 'data': [ 1957 0.319580078125, 0.97607421875, 0.4130859375, 0.479736328125, 1958 0.767578125, 0.908203125, 0.62060546875, 0.658203125, 0.6552734375 1959 ], 1960 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'} 1961 }, 1962 'convTranspose2dFilter': { 1963 'data': [0.68359375, 0.96435546875, 0.8271484375, 0.5771484375], 1964 'descriptor': {shape: [1, 1, 2, 2], dataType: 'float16'}, 1965 'constant': true 1966 } 1967 }, 1968 'operators': [{ 1969 'name': 'convTranspose2d', 1970 'arguments': [ 1971 {'input': 'convTranspose2dInput'}, 1972 {'filter': 'convTranspose2dFilter'}, 1973 {'options': {'dilations': [2, 2]}} 1974 ], 1975 'outputs': 'convTranspose2dOutput' 1976 }], 1977 'expectedOutputs': { 1978 'convTranspose2dOutput': { 1979 'data': [ 1980 0.218505859375, 0.66748046875, 0.59033203125, 0.94140625, 1981 0.3984375, 0.327880859375, 0.52490234375, 1.0830078125, 1982 0.740234375, 0.8759765625, 0.6884765625, 1.2568359375, 1983 1.572265625, 1.1982421875, 0.8701171875, 0.396728515625, 1984 0.634765625, 1.0283203125, 0.443115234375, 0.52392578125, 1985 0.51318359375, 0.54443359375, 0.900390625, 0.3798828125, 1986 0.378173828125 1987 ], 1988 'descriptor': {shape: [1, 1, 5, 5], dataType: 'float16'} 1989 } 1990 } 1991 } 1992 }, 1993 { 1994 'name': 1995 'convTranspose2d float16 4D input and filter tensors options.outputPadding', 1996 'graph': { 1997 'inputs': { 1998 'convTranspose2dInput': { 1999 'data': [ 2000 0.056060791015625, 0.71142578125, 0.65283203125, 0.38623046875, 2001 0.386962890625, 0.9462890625, 0.095703125, 0.92333984375, 2002 0.63623046875 2003 ], 2004 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'} 2005 }, 2006 'convTranspose2dFilter': { 2007 'data': [ 2008 0.861328125, 0.626953125, 0.63671875, 0.83837890625, 2009 0.11883544921875, 0.9921875, 0.32861328125, 0.8740234375, 2010 0.720703125, 0.97998046875, 0.06170654296875, 0.322021484375, 0.75, 2011 0.39306640625, 0.1380615234375, 0.283935546875, 0.423583984375, 2012 0.1448974609375 2013 ], 2014 'descriptor': {shape: [1, 2, 3, 3], dataType: 'float16'}, 2015 'constant': true 2016 } 2017 }, 2018 'operators': [{ 2019 'name': 'convTranspose2d', 2020 'arguments': [ 2021 {'input': 'convTranspose2dInput'}, 2022 {'filter': 'convTranspose2dFilter'}, 2023 {'options': {'strides': [3, 2], 'outputPadding': [1, 1]}} 2024 ], 2025 'outputs': 'convTranspose2dOutput' 2026 }], 2027 'expectedOutputs': { 2028 'convTranspose2dOutput': { 2029 'data': [ 2030 0.04827880859375, 2031 0.03515625, 2032 0.6484375, 2033 0.446044921875, 2034 1.015625, 2035 0.4091796875, 2036 0.415771484375, 2037 0, 2038 0.0469970703125, 2039 0.00666046142578125, 2040 0.65185546875, 2041 0.08453369140625, 2042 1.2529296875, 2043 0.07757568359375, 2044 0.64794921875, 2045 0, 2046 0.0184173583984375, 2047 0.04901123046875, 2048 0.274169921875, 2049 0.62158203125, 2050 0.72705078125, 2051 0.57080078125, 2052 0.470458984375, 2053 0, 2054 0.332763671875, 2055 0.2421875, 2056 0.5791015625, 2057 0.2425537109375, 2058 1.0615234375, 2059 0.59326171875, 2060 0.6025390625, 2061 0, 2062 0.32373046875, 2063 0.0458984375, 2064 0.70751953125, 2065 0.045989990234375, 2066 1.177734375, 2067 0.1124267578125, 2068 0.93896484375, 2069 0, 2070 0.126953125, 2071 0.337646484375, 2072 0.405517578125, 2073 0.338134765625, 2074 0.58984375, 2075 0.8271484375, 2076 0.68212890625, 2077 0, 2078 0.08245849609375, 2079 0.05999755859375, 2080 0.8564453125, 2081 0.5791015625, 2082 1.1357421875, 2083 0.39892578125, 2084 0.405029296875, 2085 0, 2086 0.08026123046875, 2087 0.01137542724609375, 2088 0.869140625, 2089 0.1097412109375, 2090 1.44921875, 2091 0.07562255859375, 2092 0.63134765625, 2093 0, 2094 0.031463623046875, 2095 0.0836181640625, 2096 0.372314453125, 2097 0.80712890625, 2098 0.87451171875, 2099 0.55615234375, 2100 0.45849609375, 2101 0, 2102 0, 2103 0, 2104 0, 2105 0, 2106 0, 2107 0, 2108 0, 2109 0, 2110 0.054931640625, 2111 0.003459930419921875, 2112 0.71533203125, 2113 0.043914794921875, 2114 0.86865234375, 2115 0.040283203125, 2116 0.210205078125, 2117 0, 2118 0.04205322265625, 2119 0.02203369140625, 2120 0.54150390625, 2121 0.279541015625, 2122 0.587890625, 2123 0.256591796875, 2124 0.09014892578125, 2125 0, 2126 0.0159149169921875, 2127 0.02374267578125, 2128 0.2100830078125, 2129 0.30126953125, 2130 0.288330078125, 2131 0.276611328125, 2132 0.0946044921875, 2133 0, 2134 0.37841796875, 2135 0.023834228515625, 2136 0.50341796875, 2137 0.0238800048828125, 2138 1.0517578125, 2139 0.058380126953125, 2140 0.3046875, 2141 0, 2142 0.28955078125, 2143 0.15185546875, 2144 0.343505859375, 2145 0.152099609375, 2146 0.76318359375, 2147 0.3720703125, 2148 0.130615234375, 2149 0, 2150 0.10968017578125, 2151 0.16357421875, 2152 0.1658935546875, 2153 0.1639404296875, 2154 0.32470703125, 2155 0.40087890625, 2156 0.1370849609375, 2157 0, 2158 0.09381103515625, 2159 0.0059051513671875, 2160 0.935546875, 2161 0.056976318359375, 2162 0.9208984375, 2163 0.03924560546875, 2164 0.204833984375, 2165 0, 2166 0.07177734375, 2167 0.037628173828125, 2168 0.70556640625, 2169 0.363037109375, 2170 0.6044921875, 2171 0.25, 2172 0.08782958984375, 2173 0, 2174 0.0271759033203125, 2175 0.04052734375, 2176 0.276123046875, 2177 0.39111328125, 2178 0.314453125, 2179 0.26953125, 2180 0.0921630859375, 2181 0, 2182 0, 2183 0, 2184 0, 2185 0, 2186 0, 2187 0, 2188 0, 2189 0 2190 ], 2191 'descriptor': {shape: [1, 2, 10, 8], dataType: 'float16'} 2192 } 2193 } 2194 } 2195 }, 2196 { 2197 'name': 2198 'convTranspose2d float16 4D input and filter tensors options.outputSizes', 2199 'graph': { 2200 'inputs': { 2201 'convTranspose2dInput': { 2202 'data': [ 2203 0.056060791015625, 0.71142578125, 0.65283203125, 0.38623046875, 2204 0.386962890625, 0.9462890625, 0.095703125, 0.92333984375, 2205 0.63623046875 2206 ], 2207 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'} 2208 }, 2209 'convTranspose2dFilter': { 2210 'data': [ 2211 0.861328125, 0.626953125, 0.63671875, 0.83837890625, 2212 0.11883544921875, 0.9921875, 0.32861328125, 0.8740234375, 2213 0.720703125, 0.97998046875, 0.06170654296875, 0.322021484375, 0.75, 2214 0.39306640625, 0.1380615234375, 0.283935546875, 0.423583984375, 2215 0.1448974609375 2216 ], 2217 'descriptor': {shape: [1, 2, 3, 3], dataType: 'float16'}, 2218 'constant': true 2219 } 2220 }, 2221 'operators': [{ 2222 'name': 'convTranspose2d', 2223 'arguments': [ 2224 {'input': 'convTranspose2dInput'}, 2225 {'filter': 'convTranspose2dFilter'}, 2226 {'options': {'strides': [3, 2], 'outputSizes': [10, 8]}} 2227 ], 2228 'outputs': 'convTranspose2dOutput' 2229 }], 2230 'expectedOutputs': { 2231 'convTranspose2dOutput': { 2232 'data': [ 2233 0.04827880859375, 2234 0.03515625, 2235 0.6484375, 2236 0.446044921875, 2237 1.015625, 2238 0.4091796875, 2239 0.415771484375, 2240 0, 2241 0.0469970703125, 2242 0.00666046142578125, 2243 0.65185546875, 2244 0.08453369140625, 2245 1.2529296875, 2246 0.07757568359375, 2247 0.64794921875, 2248 0, 2249 0.0184173583984375, 2250 0.04901123046875, 2251 0.274169921875, 2252 0.62158203125, 2253 0.72705078125, 2254 0.57080078125, 2255 0.470458984375, 2256 0, 2257 0.332763671875, 2258 0.2421875, 2259 0.5791015625, 2260 0.2425537109375, 2261 1.0615234375, 2262 0.59326171875, 2263 0.6025390625, 2264 0, 2265 0.32373046875, 2266 0.0458984375, 2267 0.70751953125, 2268 0.045989990234375, 2269 1.177734375, 2270 0.1124267578125, 2271 0.93896484375, 2272 0, 2273 0.126953125, 2274 0.337646484375, 2275 0.405517578125, 2276 0.338134765625, 2277 0.58984375, 2278 0.8271484375, 2279 0.68212890625, 2280 0, 2281 0.08245849609375, 2282 0.05999755859375, 2283 0.8564453125, 2284 0.5791015625, 2285 1.1357421875, 2286 0.39892578125, 2287 0.405029296875, 2288 0, 2289 0.08026123046875, 2290 0.01137542724609375, 2291 0.869140625, 2292 0.1097412109375, 2293 1.44921875, 2294 0.07562255859375, 2295 0.63134765625, 2296 0, 2297 0.031463623046875, 2298 0.0836181640625, 2299 0.372314453125, 2300 0.80712890625, 2301 0.87451171875, 2302 0.55615234375, 2303 0.45849609375, 2304 0, 2305 0, 2306 0, 2307 0, 2308 0, 2309 0, 2310 0, 2311 0, 2312 0, 2313 0.054931640625, 2314 0.003459930419921875, 2315 0.71533203125, 2316 0.043914794921875, 2317 0.86865234375, 2318 0.040283203125, 2319 0.210205078125, 2320 0, 2321 0.04205322265625, 2322 0.02203369140625, 2323 0.54150390625, 2324 0.279541015625, 2325 0.587890625, 2326 0.256591796875, 2327 0.09014892578125, 2328 0, 2329 0.0159149169921875, 2330 0.02374267578125, 2331 0.2100830078125, 2332 0.30126953125, 2333 0.288330078125, 2334 0.276611328125, 2335 0.0946044921875, 2336 0, 2337 0.37841796875, 2338 0.023834228515625, 2339 0.50341796875, 2340 0.0238800048828125, 2341 1.0517578125, 2342 0.058380126953125, 2343 0.3046875, 2344 0, 2345 0.28955078125, 2346 0.15185546875, 2347 0.343505859375, 2348 0.152099609375, 2349 0.76318359375, 2350 0.3720703125, 2351 0.130615234375, 2352 0, 2353 0.10968017578125, 2354 0.16357421875, 2355 0.1658935546875, 2356 0.1639404296875, 2357 0.32470703125, 2358 0.40087890625, 2359 0.1370849609375, 2360 0, 2361 0.09381103515625, 2362 0.0059051513671875, 2363 0.935546875, 2364 0.056976318359375, 2365 0.9208984375, 2366 0.03924560546875, 2367 0.204833984375, 2368 0, 2369 0.07177734375, 2370 0.037628173828125, 2371 0.70556640625, 2372 0.363037109375, 2373 0.6044921875, 2374 0.25, 2375 0.08782958984375, 2376 0, 2377 0.0271759033203125, 2378 0.04052734375, 2379 0.276123046875, 2380 0.39111328125, 2381 0.314453125, 2382 0.26953125, 2383 0.0921630859375, 2384 0, 2385 0, 2386 0, 2387 0, 2388 0, 2389 0, 2390 0, 2391 0, 2392 0 2393 ], 2394 'descriptor': {shape: [1, 2, 10, 8], dataType: 'float16'} 2395 } 2396 } 2397 } 2398 }, 2399 { 2400 'name': 2401 'convTranspose2d float16 4D input and filter tensors options.inputLayout=nchw', 2402 'graph': { 2403 'inputs': { 2404 'convTranspose2dInput': { 2405 'data': [ 2406 0.056060791015625, 0.71142578125, 0.65283203125, 0.38623046875, 2407 0.386962890625, 0.9462890625, 0.095703125, 0.92333984375, 2408 0.63623046875 2409 ], 2410 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'} 2411 }, 2412 'convTranspose2dFilter': { 2413 'data': [ 2414 0.861328125, 0.626953125, 0.63671875, 0.83837890625, 2415 0.11883544921875, 0.9921875, 0.32861328125, 0.8740234375, 2416 0.720703125, 0.97998046875, 0.06170654296875, 0.322021484375, 0.75, 2417 0.39306640625, 0.1380615234375, 0.283935546875, 0.423583984375, 2418 0.1448974609375 2419 ], 2420 'descriptor': {shape: [1, 2, 3, 3], dataType: 'float16'}, 2421 'constant': true 2422 } 2423 }, 2424 'operators': [{ 2425 'name': 'convTranspose2d', 2426 'arguments': [ 2427 {'input': 'convTranspose2dInput'}, 2428 {'filter': 'convTranspose2dFilter'}, 2429 {'options': {'inputLayout': 'nchw'}} 2430 ], 2431 'outputs': 'convTranspose2dOutput' 2432 }], 2433 'expectedOutputs': { 2434 'convTranspose2dOutput': { 2435 'data': [ 2436 0.04827880859375, 2437 0.64794921875, 2438 1.0439453125, 2439 0.8623046875, 2440 0.415771484375, 2441 0.379638671875, 2442 1.1787109375, 2443 1.9912109375, 2444 1.623046875, 2445 1.25, 2446 0.424560546875, 2447 1.5087890625, 2448 3.287109375, 2449 2.56640625, 2450 1.814453125, 2451 0.2071533203125, 2452 1.25, 2453 1.666015625, 2454 2.09765625, 2455 1.3134765625, 2456 0.031463623046875, 2457 0.386962890625, 2458 1.0849609375, 2459 1.2216796875, 2460 0.45849609375, 2461 0.054931640625, 2462 0.70068359375, 2463 0.70166015625, 2464 0.269287109375, 2465 0.210205078125, 2466 0.420654296875, 2467 0.95849609375, 2468 1.8525390625, 2469 0.53759765625, 2470 0.394775390625, 2471 0.3994140625, 2472 1.578125, 2473 2.12109375, 2474 1.1416015625, 2475 0.43017578125, 2476 0.181396484375, 2477 1.00390625, 2478 1.341796875, 2479 0.83447265625, 2480 0.2249755859375, 2481 0.0271759033203125, 2482 0.302734375, 2483 0.58544921875, 2484 0.4033203125, 2485 0.0921630859375 2486 ], 2487 'descriptor': {shape: [1, 2, 5, 5], dataType: 'float16'} 2488 } 2489 } 2490 } 2491 }, 2492 { 2493 'name': 2494 'convTranspose2d float16 4D input and filter tensors options.inputLayout=nhwc', 2495 'graph': { 2496 'inputs': { 2497 'convTranspose2dInput': { 2498 'data': [ 2499 0.056060791015625, 0.71142578125, 0.65283203125, 0.38623046875, 2500 0.386962890625, 0.9462890625, 0.095703125, 0.92333984375, 2501 0.63623046875 2502 ], 2503 'descriptor': {shape: [1, 3, 3, 1], dataType: 'float16'} 2504 }, 2505 'convTranspose2dFilter': { 2506 'data': [ 2507 0.861328125, 0.626953125, 0.63671875, 0.83837890625, 2508 0.11883544921875, 0.9921875, 0.32861328125, 0.8740234375, 2509 0.720703125, 0.97998046875, 0.06170654296875, 0.322021484375, 0.75, 2510 0.39306640625, 0.1380615234375, 0.283935546875, 0.423583984375, 2511 0.1448974609375 2512 ], 2513 'descriptor': {shape: [1, 2, 3, 3], dataType: 'float16'}, 2514 'constant': true 2515 } 2516 }, 2517 'operators': [{ 2518 'name': 'convTranspose2d', 2519 'arguments': [ 2520 {'input': 'convTranspose2dInput'}, 2521 {'filter': 'convTranspose2dFilter'}, 2522 {'options': {'inputLayout': 'nhwc'}} 2523 ], 2524 'outputs': 'convTranspose2dOutput' 2525 }], 2526 'expectedOutputs': { 2527 'convTranspose2dOutput': { 2528 'data': [ 2529 0.04827880859375, 2530 0.054931640625, 2531 0.64794921875, 2532 0.70068359375, 2533 1.0439453125, 2534 0.70166015625, 2535 0.8623046875, 2536 0.269287109375, 2537 0.415771484375, 2538 0.210205078125, 2539 0.379638671875, 2540 0.420654296875, 2541 1.1787109375, 2542 0.95849609375, 2543 1.9912109375, 2544 1.8525390625, 2545 1.623046875, 2546 0.53759765625, 2547 1.25, 2548 0.394775390625, 2549 0.424560546875, 2550 0.3994140625, 2551 1.5087890625, 2552 1.578125, 2553 3.287109375, 2554 2.12109375, 2555 2.56640625, 2556 1.1416015625, 2557 1.814453125, 2558 0.43017578125, 2559 0.2071533203125, 2560 0.181396484375, 2561 1.25, 2562 1.00390625, 2563 1.666015625, 2564 1.341796875, 2565 2.09765625, 2566 0.83447265625, 2567 1.3134765625, 2568 0.2249755859375, 2569 0.031463623046875, 2570 0.0271759033203125, 2571 0.386962890625, 2572 0.302734375, 2573 1.0849609375, 2574 0.58544921875, 2575 1.2216796875, 2576 0.4033203125, 2577 0.45849609375, 2578 0.0921630859375 2579 ], 2580 'descriptor': {shape: [1, 5, 5, 2], dataType: 'float16'} 2581 } 2582 } 2583 } 2584 }, 2585 { 2586 'name': 2587 'convTranspose2d float16 4D input and filter tensors options.filterLayout=iohw', 2588 'graph': { 2589 'inputs': { 2590 'convTranspose2dInput': { 2591 'data': [ 2592 0.056060791015625, 0.71142578125, 0.65283203125, 0.38623046875, 2593 0.386962890625, 0.9462890625, 0.095703125, 0.92333984375, 2594 0.63623046875 2595 ], 2596 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'} 2597 }, 2598 'convTranspose2dFilter': { 2599 'data': [ 2600 0.861328125, 0.626953125, 0.63671875, 0.83837890625, 2601 0.11883544921875, 0.9921875, 0.32861328125, 0.8740234375, 2602 0.720703125, 0.97998046875, 0.06170654296875, 0.322021484375, 0.75, 2603 0.39306640625, 0.1380615234375, 0.283935546875, 0.423583984375, 2604 0.1448974609375 2605 ], 2606 'descriptor': {shape: [1, 2, 3, 3], dataType: 'float16'}, 2607 'constant': true 2608 } 2609 }, 2610 'operators': [{ 2611 'name': 'convTranspose2d', 2612 'arguments': [ 2613 {'input': 'convTranspose2dInput'}, 2614 {'filter': 'convTranspose2dFilter'}, 2615 {'options': {'filterLayout': 'iohw'}} 2616 ], 2617 'outputs': 'convTranspose2dOutput' 2618 }], 2619 'expectedOutputs': { 2620 'convTranspose2dOutput': { 2621 'data': [ 2622 0.04827880859375, 2623 0.64794921875, 2624 1.0439453125, 2625 0.8623046875, 2626 0.415771484375, 2627 0.379638671875, 2628 1.1787109375, 2629 1.9912109375, 2630 1.623046875, 2631 1.25, 2632 0.424560546875, 2633 1.5087890625, 2634 3.287109375, 2635 2.56640625, 2636 1.814453125, 2637 0.2071533203125, 2638 1.25, 2639 1.666015625, 2640 2.09765625, 2641 1.3134765625, 2642 0.031463623046875, 2643 0.386962890625, 2644 1.0849609375, 2645 1.2216796875, 2646 0.45849609375, 2647 0.054931640625, 2648 0.70068359375, 2649 0.70166015625, 2650 0.269287109375, 2651 0.210205078125, 2652 0.420654296875, 2653 0.95849609375, 2654 1.8525390625, 2655 0.53759765625, 2656 0.394775390625, 2657 0.3994140625, 2658 1.578125, 2659 2.12109375, 2660 1.1416015625, 2661 0.43017578125, 2662 0.181396484375, 2663 1.00390625, 2664 1.341796875, 2665 0.83447265625, 2666 0.2249755859375, 2667 0.0271759033203125, 2668 0.302734375, 2669 0.58544921875, 2670 0.4033203125, 2671 0.0921630859375 2672 ], 2673 'descriptor': {shape: [1, 2, 5, 5], dataType: 'float16'} 2674 } 2675 } 2676 } 2677 }, 2678 { 2679 'name': 2680 'convTranspose2d float16 4D input and filter tensors options.filterLayout=hwoi', 2681 'graph': { 2682 'inputs': { 2683 'convTranspose2dInput': { 2684 'data': [ 2685 0.056060791015625, 0.71142578125, 0.65283203125, 0.38623046875, 2686 0.386962890625, 0.9462890625, 0.095703125, 0.92333984375, 2687 0.63623046875 2688 ], 2689 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'} 2690 }, 2691 'convTranspose2dFilter': { 2692 'data': [ 2693 0.861328125, 0.97998046875, 0.626953125, 0.06170654296875, 2694 0.63671875, 0.322021484375, 0.83837890625, 0.75, 0.11883544921875, 2695 0.39306640625, 0.9921875, 0.1380615234375, 0.32861328125, 2696 0.283935546875, 0.8740234375, 0.423583984375, 0.720703125, 2697 0.1448974609375 2698 ], 2699 'descriptor': {shape: [3, 3, 2, 1], dataType: 'float16'}, 2700 'constant': true 2701 } 2702 }, 2703 'operators': [{ 2704 'name': 'convTranspose2d', 2705 'arguments': [ 2706 {'input': 'convTranspose2dInput'}, 2707 {'filter': 'convTranspose2dFilter'}, 2708 {'options': {'filterLayout': 'hwoi'}} 2709 ], 2710 'outputs': 'convTranspose2dOutput' 2711 }], 2712 'expectedOutputs': { 2713 'convTranspose2dOutput': { 2714 'data': [ 2715 0.04827880859375, 2716 0.64794921875, 2717 1.0439453125, 2718 0.8623046875, 2719 0.415771484375, 2720 0.379638671875, 2721 1.1787109375, 2722 1.9912109375, 2723 1.623046875, 2724 1.25, 2725 0.424560546875, 2726 1.5087890625, 2727 3.287109375, 2728 2.56640625, 2729 1.814453125, 2730 0.2071533203125, 2731 1.25, 2732 1.666015625, 2733 2.09765625, 2734 1.3134765625, 2735 0.031463623046875, 2736 0.386962890625, 2737 1.0849609375, 2738 1.2216796875, 2739 0.45849609375, 2740 0.054931640625, 2741 0.70068359375, 2742 0.70166015625, 2743 0.269287109375, 2744 0.210205078125, 2745 0.420654296875, 2746 0.95849609375, 2747 1.8525390625, 2748 0.53759765625, 2749 0.394775390625, 2750 0.3994140625, 2751 1.578125, 2752 2.12109375, 2753 1.1416015625, 2754 0.43017578125, 2755 0.181396484375, 2756 1.00390625, 2757 1.341796875, 2758 0.83447265625, 2759 0.2249755859375, 2760 0.0271759033203125, 2761 0.302734375, 2762 0.58544921875, 2763 0.4033203125, 2764 0.0921630859375 2765 ], 2766 'descriptor': {shape: [1, 2, 5, 5], dataType: 'float16'} 2767 } 2768 } 2769 } 2770 }, 2771 { 2772 'name': 2773 'convTranspose2d float16 4D input and filter tensors options.filterLayout=ohwi', 2774 'graph': { 2775 'inputs': { 2776 'convTranspose2dInput': { 2777 'data': [ 2778 0.056060791015625, 0.71142578125, 0.65283203125, 0.38623046875, 2779 0.386962890625, 0.9462890625, 0.095703125, 0.92333984375, 2780 0.63623046875 2781 ], 2782 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'} 2783 }, 2784 'convTranspose2dFilter': { 2785 'data': [ 2786 0.861328125, 0.626953125, 0.63671875, 0.83837890625, 2787 0.11883544921875, 0.9921875, 0.32861328125, 0.8740234375, 2788 0.720703125, 0.97998046875, 0.06170654296875, 0.322021484375, 0.75, 2789 0.39306640625, 0.1380615234375, 0.283935546875, 0.423583984375, 2790 0.1448974609375 2791 ], 2792 'descriptor': {shape: [2, 3, 3, 1], dataType: 'float16'}, 2793 'constant': true 2794 } 2795 }, 2796 'operators': [{ 2797 'name': 'convTranspose2d', 2798 'arguments': [ 2799 {'input': 'convTranspose2dInput'}, 2800 {'filter': 'convTranspose2dFilter'}, 2801 {'options': {'filterLayout': 'ohwi'}} 2802 ], 2803 'outputs': 'convTranspose2dOutput' 2804 }], 2805 'expectedOutputs': { 2806 'convTranspose2dOutput': { 2807 'data': [ 2808 0.04827880859375, 2809 0.64794921875, 2810 1.0439453125, 2811 0.8623046875, 2812 0.415771484375, 2813 0.379638671875, 2814 1.1787109375, 2815 1.9912109375, 2816 1.623046875, 2817 1.25, 2818 0.424560546875, 2819 1.5087890625, 2820 3.287109375, 2821 2.56640625, 2822 1.814453125, 2823 0.2071533203125, 2824 1.25, 2825 1.666015625, 2826 2.09765625, 2827 1.3134765625, 2828 0.031463623046875, 2829 0.386962890625, 2830 1.0849609375, 2831 1.2216796875, 2832 0.45849609375, 2833 0.054931640625, 2834 0.70068359375, 2835 0.70166015625, 2836 0.269287109375, 2837 0.210205078125, 2838 0.420654296875, 2839 0.95849609375, 2840 1.8525390625, 2841 0.53759765625, 2842 0.394775390625, 2843 0.3994140625, 2844 1.578125, 2845 2.12109375, 2846 1.1416015625, 2847 0.43017578125, 2848 0.181396484375, 2849 1.00390625, 2850 1.341796875, 2851 0.83447265625, 2852 0.2249755859375, 2853 0.0271759033203125, 2854 0.302734375, 2855 0.58544921875, 2856 0.4033203125, 2857 0.0921630859375 2858 ], 2859 'descriptor': {shape: [1, 2, 5, 5], dataType: 'float16'} 2860 } 2861 } 2862 } 2863 }, 2864 { 2865 'name': 2866 'convTranspose2d float16 4D input and filter tensors options.inputLayout=nhwc options.filterLayout=iohw', 2867 'graph': { 2868 'inputs': { 2869 'convTranspose2dInput': { 2870 'data': [ 2871 0.056060791015625, 0.71142578125, 0.65283203125, 0.38623046875, 2872 0.386962890625, 0.9462890625, 0.095703125, 0.92333984375, 2873 0.63623046875 2874 ], 2875 'descriptor': {shape: [1, 3, 3, 1], dataType: 'float16'} 2876 }, 2877 'convTranspose2dFilter': { 2878 'data': [ 2879 0.861328125, 0.626953125, 0.63671875, 0.83837890625, 2880 0.11883544921875, 0.9921875, 0.32861328125, 0.8740234375, 2881 0.720703125, 0.97998046875, 0.06170654296875, 0.322021484375, 0.75, 2882 0.39306640625, 0.1380615234375, 0.283935546875, 0.423583984375, 2883 0.1448974609375 2884 ], 2885 'descriptor': {shape: [1, 2, 3, 3], dataType: 'float16'}, 2886 'constant': true 2887 } 2888 }, 2889 'operators': [{ 2890 'name': 'convTranspose2d', 2891 'arguments': [ 2892 {'input': 'convTranspose2dInput'}, 2893 {'filter': 'convTranspose2dFilter'}, 2894 {'options': {'inputLayout': 'nhwc', 'filterLayout': 'iohw'}} 2895 ], 2896 'outputs': 'convTranspose2dOutput' 2897 }], 2898 'expectedOutputs': { 2899 'convTranspose2dOutput': { 2900 'data': [ 2901 0.04827880859375, 2902 0.054931640625, 2903 0.64794921875, 2904 0.70068359375, 2905 1.0439453125, 2906 0.70166015625, 2907 0.8623046875, 2908 0.269287109375, 2909 0.415771484375, 2910 0.210205078125, 2911 0.379638671875, 2912 0.420654296875, 2913 1.1787109375, 2914 0.95849609375, 2915 1.9912109375, 2916 1.8525390625, 2917 1.623046875, 2918 0.53759765625, 2919 1.25, 2920 0.394775390625, 2921 0.424560546875, 2922 0.3994140625, 2923 1.5087890625, 2924 1.578125, 2925 3.287109375, 2926 2.12109375, 2927 2.56640625, 2928 1.1416015625, 2929 1.814453125, 2930 0.43017578125, 2931 0.2071533203125, 2932 0.181396484375, 2933 1.25, 2934 1.00390625, 2935 1.666015625, 2936 1.341796875, 2937 2.09765625, 2938 0.83447265625, 2939 1.3134765625, 2940 0.2249755859375, 2941 0.031463623046875, 2942 0.0271759033203125, 2943 0.386962890625, 2944 0.302734375, 2945 1.0849609375, 2946 0.58544921875, 2947 1.2216796875, 2948 0.4033203125, 2949 0.45849609375, 2950 0.0921630859375 2951 ], 2952 'descriptor': {shape: [1, 5, 5, 2], dataType: 'float16'} 2953 } 2954 } 2955 } 2956 }, 2957 { 2958 'name': 2959 'convTranspose2d float16 4D input and filter tensors options.inputLayout=nhwc options.filterLayout=hwoi', 2960 'graph': { 2961 'inputs': { 2962 'convTranspose2dInput': { 2963 'data': [ 2964 0.056060791015625, 0.71142578125, 0.65283203125, 0.38623046875, 2965 0.386962890625, 0.9462890625, 0.095703125, 0.92333984375, 2966 0.63623046875 2967 ], 2968 'descriptor': {shape: [1, 3, 3, 1], dataType: 'float16'} 2969 }, 2970 'convTranspose2dFilter': { 2971 'data': [ 2972 0.861328125, 0.97998046875, 0.626953125, 0.06170654296875, 2973 0.63671875, 0.322021484375, 0.83837890625, 0.75, 0.11883544921875, 2974 0.39306640625, 0.9921875, 0.1380615234375, 0.32861328125, 2975 0.283935546875, 0.8740234375, 0.423583984375, 0.720703125, 2976 0.1448974609375 2977 ], 2978 'descriptor': {shape: [3, 3, 2, 1], dataType: 'float16'}, 2979 'constant': true 2980 } 2981 }, 2982 'operators': [{ 2983 'name': 'convTranspose2d', 2984 'arguments': [ 2985 {'input': 'convTranspose2dInput'}, 2986 {'filter': 'convTranspose2dFilter'}, 2987 {'options': {'inputLayout': 'nhwc', 'filterLayout': 'hwoi'}} 2988 ], 2989 'outputs': 'convTranspose2dOutput' 2990 }], 2991 'expectedOutputs': { 2992 'convTranspose2dOutput': { 2993 'data': [ 2994 0.04827880859375, 2995 0.054931640625, 2996 0.64794921875, 2997 0.70068359375, 2998 1.0439453125, 2999 0.70166015625, 3000 0.8623046875, 3001 0.269287109375, 3002 0.415771484375, 3003 0.210205078125, 3004 0.379638671875, 3005 0.420654296875, 3006 1.1787109375, 3007 0.95849609375, 3008 1.9912109375, 3009 1.8525390625, 3010 1.623046875, 3011 0.53759765625, 3012 1.25, 3013 0.394775390625, 3014 0.424560546875, 3015 0.3994140625, 3016 1.5087890625, 3017 1.578125, 3018 3.287109375, 3019 2.12109375, 3020 2.56640625, 3021 1.1416015625, 3022 1.814453125, 3023 0.43017578125, 3024 0.2071533203125, 3025 0.181396484375, 3026 1.25, 3027 1.00390625, 3028 1.666015625, 3029 1.341796875, 3030 2.09765625, 3031 0.83447265625, 3032 1.3134765625, 3033 0.2249755859375, 3034 0.031463623046875, 3035 0.0271759033203125, 3036 0.386962890625, 3037 0.302734375, 3038 1.0849609375, 3039 0.58544921875, 3040 1.2216796875, 3041 0.4033203125, 3042 0.45849609375, 3043 0.0921630859375 3044 ], 3045 'descriptor': {shape: [1, 5, 5, 2], dataType: 'float16'} 3046 } 3047 } 3048 } 3049 }, 3050 { 3051 'name': 3052 'convTranspose2d float16 4D input and filter tensors options.inputLayout=nhwc options.filterLayout=ohwi', 3053 'graph': { 3054 'inputs': { 3055 'convTranspose2dInput': { 3056 'data': [ 3057 0.056060791015625, 0.71142578125, 0.65283203125, 0.38623046875, 3058 0.386962890625, 0.9462890625, 0.095703125, 0.92333984375, 3059 0.63623046875 3060 ], 3061 'descriptor': {shape: [1, 3, 3, 1], dataType: 'float16'} 3062 }, 3063 'convTranspose2dFilter': { 3064 'data': [ 3065 0.861328125, 0.626953125, 0.63671875, 0.83837890625, 3066 0.11883544921875, 0.9921875, 0.32861328125, 0.8740234375, 3067 0.720703125, 0.97998046875, 0.06170654296875, 0.322021484375, 0.75, 3068 0.39306640625, 0.1380615234375, 0.283935546875, 0.423583984375, 3069 0.1448974609375 3070 ], 3071 'descriptor': {shape: [2, 3, 3, 1], dataType: 'float16'}, 3072 'constant': true 3073 } 3074 }, 3075 'operators': [{ 3076 'name': 'convTranspose2d', 3077 'arguments': [ 3078 {'input': 'convTranspose2dInput'}, 3079 {'filter': 'convTranspose2dFilter'}, 3080 {'options': {'inputLayout': 'nhwc', 'filterLayout': 'ohwi'}} 3081 ], 3082 'outputs': 'convTranspose2dOutput' 3083 }], 3084 'expectedOutputs': { 3085 'convTranspose2dOutput': { 3086 'data': [ 3087 0.04827880859375, 3088 0.054931640625, 3089 0.64794921875, 3090 0.70068359375, 3091 1.0439453125, 3092 0.70166015625, 3093 0.8623046875, 3094 0.269287109375, 3095 0.415771484375, 3096 0.210205078125, 3097 0.379638671875, 3098 0.420654296875, 3099 1.1787109375, 3100 0.95849609375, 3101 1.9912109375, 3102 1.8525390625, 3103 1.623046875, 3104 0.53759765625, 3105 1.25, 3106 0.394775390625, 3107 0.424560546875, 3108 0.3994140625, 3109 1.5087890625, 3110 1.578125, 3111 3.287109375, 3112 2.12109375, 3113 2.56640625, 3114 1.1416015625, 3115 1.814453125, 3116 0.43017578125, 3117 0.2071533203125, 3118 0.181396484375, 3119 1.25, 3120 1.00390625, 3121 1.666015625, 3122 1.341796875, 3123 2.09765625, 3124 0.83447265625, 3125 1.3134765625, 3126 0.2249755859375, 3127 0.031463623046875, 3128 0.0271759033203125, 3129 0.386962890625, 3130 0.302734375, 3131 1.0849609375, 3132 0.58544921875, 3133 1.2216796875, 3134 0.4033203125, 3135 0.45849609375, 3136 0.0921630859375 3137 ], 3138 'descriptor': {shape: [1, 5, 5, 2], dataType: 'float16'} 3139 } 3140 } 3141 } 3142 }, 3143 { 3144 'name': 'convTranspose2d float16 4D input and filter tensors options.bias', 3145 'graph': { 3146 'inputs': { 3147 'convTranspose2dInput': { 3148 'data': [ 3149 0.1109619140625, 0.8681640625, 0.734375, 0.4306640625, 3150 0.59814453125, 0.12322998046875, 0.1611328125, 0.08837890625, 3151 0.291015625 3152 ], 3153 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'} 3154 }, 3155 'convTranspose2dFilter': { 3156 'data': [ 3157 0.6162109375, 0.26220703125, 0.794921875, 0.873046875, 0.8310546875, 3158 0.85498046875, 0.55517578125, 0.84033203125, 0.85302734375 3159 ], 3160 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'}, 3161 'constant': true 3162 }, 3163 'convTranspose2dBias': { 3164 'data': [0.45166015625], 3165 'descriptor': {shape: [1], dataType: 'float16'}, 3166 'constant': true 3167 } 3168 }, 3169 'operators': [{ 3170 'name': 'convTranspose2d', 3171 'arguments': [ 3172 {'input': 'convTranspose2dInput'}, 3173 {'filter': 'convTranspose2dFilter'}, 3174 {'options': {'bias': 'convTranspose2dBias'}} 3175 ], 3176 'outputs': 'convTranspose2dOutput' 3177 }], 3178 'expectedOutputs': { 3179 'convTranspose2dOutput': { 3180 'data': [ 3181 0.52001953125, 1.015625, 1.2197265625, 1.333984375, 3182 1.03515625, 0.81396484375, 1.783203125, 2.484375, 3183 2.3125, 1.177734375, 0.98876953125, 2.00390625, 3184 2.986328125, 2.5703125, 1.4150390625, 0.83154296875, 3185 1.3564453125, 1.85546875, 1.3828125, 0.8056640625, 3186 0.541015625, 0.63623046875, 0.82470703125, 0.771484375, 3187 0.69970703125 3188 ], 3189 'descriptor': {shape: [1, 1, 5, 5], dataType: 'float16'} 3190 } 3191 } 3192 } 3193 }, 3194 { 3195 'name': 3196 'convTranspose2d float16 4D input and filter tensors, both negative input tensor and options.bias', 3197 'graph': { 3198 'inputs': { 3199 'convTranspose2dInput': { 3200 'data': [ 3201 -0.10888671875, -0.298095703125, -0.390869140625, -0.5625, 3202 -0.732421875, -0.84228515625, -0.305908203125, -0.9765625, 3203 -0.01416015625 3204 ], 3205 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'} 3206 }, 3207 'convTranspose2dFilter': { 3208 'data': [ 3209 0.6162109375, 0.26220703125, 0.794921875, 0.873046875, 0.8310546875, 3210 0.85498046875, 0.55517578125, 0.84033203125, 0.85302734375 3211 ], 3212 'descriptor': {shape: [1, 1, 3, 3], dataType: 'float16'}, 3213 'constant': true 3214 }, 3215 'convTranspose2dBias': { 3216 'data': [-0.845703125], 3217 'descriptor': {shape: [1], dataType: 'float16'}, 3218 'constant': true 3219 } 3220 }, 3221 'operators': [{ 3222 'name': 'convTranspose2d', 3223 'arguments': [ 3224 {'input': 'convTranspose2dInput'}, 3225 {'filter': 'convTranspose2dFilter'}, 3226 {'options': {'bias': 'convTranspose2dBias'}} 3227 ], 3228 'outputs': 'convTranspose2dOutput' 3229 }], 3230 'expectedOutputs': { 3231 'convTranspose2dOutput': { 3232 'data': [ 3233 -0.91259765625, -1.0576171875, -1.2509765625, -1.185546875, 3234 -1.15625, -1.287109375, -1.794921875, -2.685546875, 3235 -2.228515625, -1.849609375, -1.5859375, -2.890625, 3236 -3.73828125, -3.53515625, -1.91015625, -1.4248046875, 3237 -2.83203125, -3.494140625, -3.025390625, -1.576171875, 3238 -1.015625, -1.64453125, -1.935546875, -1.6904296875, 3239 -0.85791015625 3240 ], 3241 'descriptor': {shape: [1, 1, 5, 5], dataType: 'float16'} 3242 } 3243 } 3244 } 3245 } 3246 ]; 3247 3248 webnn_conformance_test( 3249 convTranspose2dTests, buildAndExecuteGraph, getPrecisionTolerance);