diff --git a/Samples/WindowsML/Resources/ResNet50/model.LICENSE.txt b/Samples/WindowsML/Resources/ResNet50/model.LICENSE.txt new file mode 100644 index 000000000..dd5b3a58a --- /dev/null +++ b/Samples/WindowsML/Resources/ResNet50/model.LICENSE.txt @@ -0,0 +1,174 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. diff --git a/Samples/WindowsML/Resources/ResNet50/model.Labels.txt b/Samples/WindowsML/Resources/ResNet50/model.Labels.txt new file mode 100644 index 000000000..60d6558a9 --- /dev/null +++ b/Samples/WindowsML/Resources/ResNet50/model.Labels.txt @@ -0,0 +1,1000 @@ +0,tench +1,goldfish +2,great white shark +3,tiger shark +4,hammerhead +5,electric ray +6,stingray +7,cock +8,hen +9,ostrich +10,brambling +11,goldfinch +12,house finch +13,junco +14,indigo bunting +15,robin +16,bulbul +17,jay +18,magpie +19,chickadee +20,water ouzel +21,kite +22,bald eagle +23,vulture +24,great grey owl +25,European fire salamander +26,common newt +27,eft +28,spotted salamander +29,axolotl +30,bullfrog +31,tree frog +32,tailed frog +33,loggerhead +34,leatherback turtle +35,mud turtle +36,terrapin +37,box turtle +38,banded gecko +39,common iguana +40,American chameleon +41,whiptail +42,agama +43,frilled lizard +44,alligator lizard +45,Gila monster +46,green lizard +47,African chameleon +48,Komodo dragon +49,African crocodile +50,American alligator +51,triceratops +52,thunder snake +53,ringneck snake +54,hognose snake +55,green snake +56,king snake +57,garter snake +58,water snake +59,vine snake +60,night snake +61,boa constrictor +62,rock python +63,Indian cobra +64,green mamba +65,sea snake +66,horned viper +67,diamondback +68,sidewinder +69,trilobite +70,harvestman +71,scorpion +72,black and gold garden spider +73,barn spider +74,garden spider +75,black widow +76,tarantula +77,wolf spider +78,tick +79,centipede +80,black grouse +81,ptarmigan +82,ruffed grouse +83,prairie chicken +84,peacock +85,quail +86,partridge +87,African grey +88,macaw +89,sulphur-crested cockatoo +90,lorikeet +91,coucal +92,bee eater +93,hornbill +94,hummingbird +95,jacamar +96,toucan +97,drake +98,red-breasted merganser +99,goose +100,black swan +101,tusker +102,echidna +103,platypus +104,wallaby +105,koala +106,wombat +107,jellyfish +108,sea anemone +109,brain coral +110,flatworm +111,nematode +112,conch +113,snail +114,slug +115,sea slug +116,chiton +117,chambered nautilus +118,Dungeness crab +119,rock crab +120,fiddler crab +121,king crab +122,American lobster +123,spiny lobster +124,crayfish +125,hermit crab +126,isopod +127,white stork +128,black stork +129,spoonbill +130,flamingo +131,little blue heron +132,American egret +133,bittern +134,crane +135,limpkin +136,European gallinule +137,American coot +138,bustard +139,ruddy turnstone +140,red-backed sandpiper +141,redshank +142,dowitcher +143,oystercatcher +144,pelican +145,king penguin +146,albatross +147,grey whale +148,killer whale +149,dugong +150,sea lion +151,Chihuahua +152,Japanese spaniel +153,Maltese dog +154,Pekinese +155,Shih-Tzu +156,Blenheim spaniel +157,papillon +158,toy terrier +159,Rhodesian ridgeback +160,Afghan hound +161,basset +162,beagle +163,bloodhound +164,bluetick +165,black-and-tan coonhound +166,Walker hound +167,English foxhound +168,redbone +169,borzoi +170,Irish wolfhound +171,Italian greyhound +172,whippet +173,Ibizan hound +174,Norwegian elkhound +175,otterhound +176,Saluki +177,Scottish deerhound +178,Weimaraner +179,Staffordshire bullterrier +180,American Staffordshire terrier +181,Bedlington terrier +182,Border terrier +183,Kerry blue terrier +184,Irish terrier +185,Norfolk terrier +186,Norwich terrier +187,Yorkshire terrier +188,wire-haired fox terrier +189,Lakeland terrier +190,Sealyham terrier +191,Airedale +192,cairn +193,Australian terrier +194,Dandie Dinmont +195,Boston bull +196,miniature schnauzer +197,giant schnauzer +198,standard schnauzer +199,Scotch terrier +200,Tibetan terrier +201,silky terrier +202,soft-coated wheaten terrier +203,West Highland white terrier +204,Lhasa +205,flat-coated retriever +206,curly-coated retriever +207,golden retriever +208,Labrador retriever +209,Chesapeake Bay retriever +210,German short-haired pointer +211,vizsla +212,English setter +213,Irish setter +214,Gordon setter +215,Brittany spaniel +216,clumber +217,English springer +218,Welsh springer spaniel +219,cocker spaniel +220,Sussex spaniel +221,Irish water spaniel +222,kuvasz +223,schipperke +224,groenendael +225,malinois +226,briard +227,kelpie +228,komondor +229,Old English sheepdog +230,Shetland sheepdog +231,collie +232,Border collie +233,Bouvier des Flandres +234,Rottweiler +235,German shepherd +236,Doberman +237,miniature pinscher +238,Greater Swiss Mountain dog +239,Bernese mountain dog +240,Appenzeller +241,EntleBucher +242,boxer +243,bull mastiff +244,Tibetan mastiff +245,French bulldog +246,Great Dane +247,Saint Bernard +248,Eskimo dog +249,malamute +250,Siberian husky +251,dalmatian +252,affenpinscher +253,basenji +254,pug +255,Leonberg +256,Newfoundland +257,Great Pyrenees +258,Samoyed +259,Pomeranian +260,chow +261,keeshond +262,Brabancon griffon +263,Pembroke +264,Cardigan +265,toy poodle +266,miniature poodle +267,standard poodle +268,Mexican hairless +269,timber wolf +270,white wolf +271,red wolf +272,coyote +273,dingo +274,dhole +275,African hunting dog +276,hyena +277,red fox +278,kit fox +279,Arctic fox +280,grey fox +281,tabby +282,tiger cat +283,Persian cat +284,Siamese cat +285,Egyptian cat +286,cougar +287,lynx +288,leopard +289,snow leopard +290,jaguar +291,lion +292,tiger +293,cheetah +294,brown bear +295,American black bear +296,ice bear +297,sloth bear +298,mongoose +299,meerkat +300,tiger beetle +301,ladybug +302,ground beetle +303,long-horned beetle +304,leaf beetle +305,dung beetle +306,rhinoceros beetle +307,weevil +308,fly +309,bee +310,ant +311,grasshopper +312,cricket +313,walking stick +314,cockroach +315,mantis +316,cicada +317,leafhopper +318,lacewing +319,dragonfly +320,damselfly +321,admiral +322,ringlet +323,monarch +324,cabbage butterfly +325,sulphur butterfly +326,lycaenid +327,starfish +328,sea urchin +329,sea cucumber +330,wood rabbit +331,hare +332,Angora +333,hamster +334,porcupine +335,fox squirrel +336,marmot +337,beaver +338,guinea pig +339,sorrel +340,zebra +341,hog +342,wild boar +343,warthog +344,hippopotamus +345,ox +346,water buffalo +347,bison +348,ram +349,bighorn +350,ibex +351,hartebeest +352,impala +353,gazelle +354,Arabian camel +355,llama +356,weasel +357,mink +358,polecat +359,black-footed ferret +360,otter +361,skunk +362,badger +363,armadillo +364,three-toed sloth +365,orangutan +366,gorilla +367,chimpanzee +368,gibbon +369,siamang +370,guenon +371,patas +372,baboon +373,macaque +374,langur +375,colobus +376,proboscis monkey +377,marmoset +378,capuchin +379,howler monkey +380,titi +381,spider monkey +382,squirrel monkey +383,Madagascar cat +384,indri +385,Indian elephant +386,African elephant +387,lesser panda +388,giant panda +389,barracouta +390,eel +391,coho +392,rock beauty +393,anemone fish +394,sturgeon +395,gar +396,lionfish +397,puffer +398,abacus +399,abaya +400,academic gown +401,accordion +402,acoustic guitar +403,aircraft carrier +404,airliner +405,airship +406,altar +407,ambulance +408,amphibian +409,analog clock +410,apiary +411,apron +412,ashcan +413,assault rifle +414,backpack +415,bakery +416,balance beam +417,balloon +418,ballpoint +419,Band Aid +420,banjo +421,bannister +422,barbell +423,barber chair +424,barbershop +425,barn +426,barometer +427,barrel +428,barrow +429,baseball +430,basketball +431,bassinet +432,bassoon +433,bathing cap +434,bath towel +435,bathtub +436,beach wagon +437,beacon +438,beaker +439,bearskin +440,beer bottle +441,beer glass +442,bell cote +443,bib +444,bicycle-built-for-two +445,bikini +446,binder +447,binoculars +448,birdhouse +449,boathouse +450,bobsled +451,bolo tie +452,bonnet +453,bookcase +454,bookshop +455,bottlecap +456,bow +457,bow tie +458,brass +459,brassiere +460,breakwater +461,breastplate +462,broom +463,bucket +464,buckle +465,bulletproof vest +466,bullet train +467,butcher shop +468,cab +469,caldron +470,candle +471,cannon +472,canoe +473,can opener +474,cardigan +475,car mirror +476,carousel +477,carpenter's kit +478,carton +479,car wheel +480,cash machine +481,cassette +482,cassette player +483,castle +484,catamaran +485,CD player +486,cello +487,cellular telephone +488,chain +489,chainlink fence +490,chain mail +491,chain saw +492,chest +493,chiffonier +494,chime +495,china cabinet +496,Christmas stocking +497,church +498,cinema +499,cleaver +500,cliff dwelling +501,cloak +502,clog +503,cocktail shaker +504,coffee mug +505,coffeepot +506,coil +507,combination lock +508,computer keyboard +509,confectionery +510,container ship +511,convertible +512,corkscrew +513,cornet +514,cowboy boot +515,cowboy hat +516,cradle +517,crane +518,crash helmet +519,crate +520,crib +521,Crock Pot +522,croquet ball +523,crutch +524,cuirass +525,dam +526,desk +527,desktop computer +528,dial telephone +529,diaper +530,digital clock +531,digital watch +532,dining table +533,dishrag +534,dishwasher +535,disk brake +536,dock +537,dogsled +538,dome +539,doormat +540,drilling platform +541,drum +542,drumstick +543,dumbbell +544,Dutch oven +545,electric fan +546,electric guitar +547,electric locomotive +548,entertainment center +549,envelope +550,espresso maker +551,face powder +552,feather boa +553,file +554,fireboat +555,fire engine +556,fire screen +557,flagpole +558,flute +559,folding chair +560,football helmet +561,forklift +562,fountain +563,fountain pen +564,four-poster +565,freight car +566,French horn +567,frying pan +568,fur coat +569,garbage truck +570,gasmask +571,gas pump +572,goblet +573,go-kart +574,golf ball +575,golfcart +576,gondola +577,gong +578,gown +579,grand piano +580,greenhouse +581,grille +582,grocery store +583,guillotine +584,hair slide +585,hair spray +586,half track +587,hammer +588,hamper +589,hand blower +590,hand-held computer +591,handkerchief +592,hard disc +593,harmonica +594,harp +595,harvester +596,hatchet +597,holster +598,home theater +599,honeycomb +600,hook +601,hoopskirt +602,horizontal bar +603,horse cart +604,hourglass +605,iPod +606,iron +607,jack-o'-lantern +608,jean +609,jeep +610,jersey +611,jigsaw puzzle +612,jinrikisha +613,joystick +614,kimono +615,knee pad +616,knot +617,lab coat +618,ladle +619,lampshade +620,laptop +621,lawn mower +622,lens cap +623,letter opener +624,library +625,lifeboat +626,lighter +627,limousine +628,liner +629,lipstick +630,Loafer +631,lotion +632,loudspeaker +633,loupe +634,lumbermill +635,magnetic compass +636,mailbag +637,mailbox +638,maillot +639,maillot +640,manhole cover +641,maraca +642,marimba +643,mask +644,matchstick +645,maypole +646,maze +647,measuring cup +648,medicine chest +649,megalith +650,microphone +651,microwave +652,military uniform +653,milk can +654,minibus +655,miniskirt +656,minivan +657,missile +658,mitten +659,mixing bowl +660,mobile home +661,Model T +662,modem +663,monastery +664,monitor +665,moped +666,mortar +667,mortarboard +668,mosque +669,mosquito net +670,motor scooter +671,mountain bike +672,mountain tent +673,mouse +674,mousetrap +675,moving van +676,muzzle +677,nail +678,neck brace +679,necklace +680,nipple +681,notebook +682,obelisk +683,oboe +684,ocarina +685,odometer +686,oil filter +687,organ +688,oscilloscope +689,overskirt +690,oxcart +691,oxygen mask +692,packet +693,paddle +694,paddlewheel +695,padlock +696,paintbrush +697,pajama +698,palace +699,panpipe +700,paper towel +701,parachute +702,parallel bars +703,park bench +704,parking meter +705,passenger car +706,patio +707,pay-phone +708,pedestal +709,pencil box +710,pencil sharpener +711,perfume +712,Petri dish +713,photocopier +714,pick +715,pickelhaube +716,picket fence +717,pickup +718,pier +719,piggy bank +720,pill bottle +721,pillow +722,ping-pong ball +723,pinwheel +724,pirate +725,pitcher +726,plane +727,planetarium +728,plastic bag +729,plate rack +730,plow +731,plunger +732,Polaroid camera +733,pole +734,police van +735,poncho +736,pool table +737,pop bottle +738,pot +739,potter's wheel +740,power drill +741,prayer rug +742,printer +743,prison +744,projectile +745,projector +746,puck +747,punching bag +748,purse +749,quill +750,quilt +751,racer +752,racket +753,radiator +754,radio +755,radio telescope +756,rain barrel +757,recreational vehicle +758,reel +759,reflex camera +760,refrigerator +761,remote control +762,restaurant +763,revolver +764,rifle +765,rocking chair +766,rotisserie +767,rubber eraser +768,rugby ball +769,rule +770,running shoe +771,safe +772,safety pin +773,saltshaker +774,sandal +775,sarong +776,sax +777,scabbard +778,scale +779,school bus +780,schooner +781,scoreboard +782,screen +783,screw +784,screwdriver +785,seat belt +786,sewing machine +787,shield +788,shoe shop +789,shoji +790,shopping basket +791,shopping cart +792,shovel +793,shower cap +794,shower curtain +795,ski +796,ski mask +797,sleeping bag +798,slide rule +799,sliding door +800,slot +801,snorkel +802,snowmobile +803,snowplow +804,soap dispenser +805,soccer ball +806,sock +807,solar dish +808,sombrero +809,soup bowl +810,space bar +811,space heater +812,space shuttle +813,spatula +814,speedboat +815,spider web +816,spindle +817,sports car +818,spotlight +819,stage +820,steam locomotive +821,steel arch bridge +822,steel drum +823,stethoscope +824,stole +825,stone wall +826,stopwatch +827,stove +828,strainer +829,streetcar +830,stretcher +831,studio couch +832,stupa +833,submarine +834,suit +835,sundial +836,sunglass +837,sunglasses +838,sunscreen +839,suspension bridge +840,swab +841,sweatshirt +842,swimming trunks +843,swing +844,switch +845,syringe +846,table lamp +847,tank +848,tape player +849,teapot +850,teddy +851,television +852,tennis ball +853,thatch +854,theater curtain +855,thimble +856,thresher +857,throne +858,tile roof +859,toaster +860,tobacco shop +861,toilet seat +862,torch +863,totem pole +864,tow truck +865,toyshop +866,tractor +867,trailer truck +868,tray +869,trench coat +870,tricycle +871,trimaran +872,tripod +873,triumphal arch +874,trolleybus +875,trombone +876,tub +877,turnstile +878,typewriter keyboard +879,umbrella +880,unicycle +881,upright +882,vacuum +883,vase +884,vault +885,velvet +886,vending machine +887,vestment +888,viaduct +889,violin +890,volleyball +891,waffle iron +892,wall clock +893,wallet +894,wardrobe +895,warplane +896,washbasin +897,washer +898,water bottle +899,water jug +900,water tower +901,whiskey jug +902,whistle +903,wig +904,window screen +905,window shade +906,Windsor tie +907,wine bottle +908,wing +909,wok +910,wooden spoon +911,wool +912,worm fence +913,wreck +914,yawl +915,yurt +916,web site +917,comic book +918,crossword puzzle +919,street sign +920,traffic light +921,book jacket +922,menu +923,plate +924,guacamole +925,consomme +926,hot pot +927,trifle +928,ice cream +929,ice lolly +930,French loaf +931,bagel +932,pretzel +933,cheeseburger +934,hotdog +935,mashed potato +936,head cabbage +937,broccoli +938,cauliflower +939,zucchini +940,spaghetti squash +941,acorn squash +942,butternut squash +943,cucumber +944,artichoke +945,bell pepper +946,cardoon +947,mushroom +948,Granny Smith +949,strawberry +950,orange +951,lemon +952,fig +953,pineapple +954,banana +955,jackfruit +956,custard apple +957,pomegranate +958,hay +959,carbonara +960,chocolate sauce +961,dough +962,meat loaf +963,pizza +964,potpie +965,burrito +966,red wine +967,espresso +968,cup +969,eggnog +970,alp +971,bubble +972,cliff +973,coral reef +974,geyser +975,lakeside +976,promontory +977,sandbar +978,seashore +979,valley +980,volcano +981,ballplayer +982,groom +983,scuba diver +984,rapeseed +985,daisy +986,yellow lady's slipper +987,corn +988,acorn +989,hip +990,buckeye +991,coral fungus +992,agaric +993,gyromitra +994,stinkhorn +995,earthstar +996,hen-of-the-woods +997,bolete +998,ear +999,toilet tissue diff --git a/Samples/WindowsML/Resources/ResNet50/model.onnx b/Samples/WindowsML/Resources/ResNet50/model.onnx new file mode 100644 index 000000000..ad55ccbac --- /dev/null +++ b/Samples/WindowsML/Resources/ResNet50/model.onnx @@ -0,0 +1,2635 @@ + onnx.quantize0.1.0: + +classifier.1.bias_quantized +!classifier.1.bias_quantized_scale +&classifier.1.bias_quantized_zero_pointclassifier.1.bias"classifier.1.bias_DequantizeLinear"DequantizeLinear: com.microsoft + +classifier.1.weight_quantized +classifier.1.weight_scale +classifier.1.weight_zero_point+classifier.1.weight_DequantizeLinear_Output$classifier.1.weight_DequantizeLinear"DequantizeLinear: com.microsoft +x +input + input_scale +input_zero_pointinput_QuantizeLinear_Outputinput_QuantizeLinear"QuantizeLinear: com.microsoft + +onnx::Conv_497_quantized +onnx::Conv_497_scale +onnx::Conv_497_zero_point&onnx::Conv_497_DequantizeLinear_Outputonnx::Conv_497_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_498_quantized +onnx::Conv_498_quantized_scale +#onnx::Conv_498_quantized_zero_pointonnx::Conv_498onnx::Conv_498_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_500_quantized +onnx::Conv_500_scale +onnx::Conv_500_zero_point&onnx::Conv_500_DequantizeLinear_Outputonnx::Conv_500_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_501_quantized +onnx::Conv_501_quantized_scale +#onnx::Conv_501_quantized_zero_pointonnx::Conv_501onnx::Conv_501_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_503_quantized +onnx::Conv_503_scale +onnx::Conv_503_zero_point&onnx::Conv_503_DequantizeLinear_Outputonnx::Conv_503_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_504_quantized +onnx::Conv_504_quantized_scale +#onnx::Conv_504_quantized_zero_pointonnx::Conv_504onnx::Conv_504_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_506_quantized +onnx::Conv_506_scale +onnx::Conv_506_zero_point&onnx::Conv_506_DequantizeLinear_Outputonnx::Conv_506_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_507_quantized +onnx::Conv_507_quantized_scale +#onnx::Conv_507_quantized_zero_pointonnx::Conv_507onnx::Conv_507_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_509_quantized +onnx::Conv_509_scale +onnx::Conv_509_zero_point&onnx::Conv_509_DequantizeLinear_Outputonnx::Conv_509_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_510_quantized +onnx::Conv_510_quantized_scale +#onnx::Conv_510_quantized_zero_pointonnx::Conv_510onnx::Conv_510_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_512_quantized +onnx::Conv_512_scale +onnx::Conv_512_zero_point&onnx::Conv_512_DequantizeLinear_Outputonnx::Conv_512_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_513_quantized +onnx::Conv_513_quantized_scale +#onnx::Conv_513_quantized_zero_pointonnx::Conv_513onnx::Conv_513_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_515_quantized +onnx::Conv_515_scale +onnx::Conv_515_zero_point&onnx::Conv_515_DequantizeLinear_Outputonnx::Conv_515_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_516_quantized +onnx::Conv_516_quantized_scale +#onnx::Conv_516_quantized_zero_pointonnx::Conv_516onnx::Conv_516_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_518_quantized +onnx::Conv_518_scale +onnx::Conv_518_zero_point&onnx::Conv_518_DequantizeLinear_Outputonnx::Conv_518_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_519_quantized +onnx::Conv_519_quantized_scale +#onnx::Conv_519_quantized_zero_pointonnx::Conv_519onnx::Conv_519_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_521_quantized +onnx::Conv_521_scale +onnx::Conv_521_zero_point&onnx::Conv_521_DequantizeLinear_Outputonnx::Conv_521_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_522_quantized +onnx::Conv_522_quantized_scale +#onnx::Conv_522_quantized_zero_pointonnx::Conv_522onnx::Conv_522_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_524_quantized +onnx::Conv_524_scale +onnx::Conv_524_zero_point&onnx::Conv_524_DequantizeLinear_Outputonnx::Conv_524_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_525_quantized +onnx::Conv_525_quantized_scale +#onnx::Conv_525_quantized_zero_pointonnx::Conv_525onnx::Conv_525_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_527_quantized +onnx::Conv_527_scale +onnx::Conv_527_zero_point&onnx::Conv_527_DequantizeLinear_Outputonnx::Conv_527_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_528_quantized +onnx::Conv_528_quantized_scale +#onnx::Conv_528_quantized_zero_pointonnx::Conv_528onnx::Conv_528_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_530_quantized +onnx::Conv_530_scale +onnx::Conv_530_zero_point&onnx::Conv_530_DequantizeLinear_Outputonnx::Conv_530_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_531_quantized +onnx::Conv_531_quantized_scale +#onnx::Conv_531_quantized_zero_pointonnx::Conv_531onnx::Conv_531_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_533_quantized +onnx::Conv_533_scale +onnx::Conv_533_zero_point&onnx::Conv_533_DequantizeLinear_Outputonnx::Conv_533_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_534_quantized +onnx::Conv_534_quantized_scale +#onnx::Conv_534_quantized_zero_pointonnx::Conv_534onnx::Conv_534_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_536_quantized +onnx::Conv_536_scale +onnx::Conv_536_zero_point&onnx::Conv_536_DequantizeLinear_Outputonnx::Conv_536_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_537_quantized +onnx::Conv_537_quantized_scale +#onnx::Conv_537_quantized_zero_pointonnx::Conv_537onnx::Conv_537_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_539_quantized +onnx::Conv_539_scale +onnx::Conv_539_zero_point&onnx::Conv_539_DequantizeLinear_Outputonnx::Conv_539_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_540_quantized +onnx::Conv_540_quantized_scale +#onnx::Conv_540_quantized_zero_pointonnx::Conv_540onnx::Conv_540_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_542_quantized +onnx::Conv_542_scale +onnx::Conv_542_zero_point&onnx::Conv_542_DequantizeLinear_Outputonnx::Conv_542_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_543_quantized +onnx::Conv_543_quantized_scale +#onnx::Conv_543_quantized_zero_pointonnx::Conv_543onnx::Conv_543_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_545_quantized +onnx::Conv_545_scale +onnx::Conv_545_zero_point&onnx::Conv_545_DequantizeLinear_Outputonnx::Conv_545_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_546_quantized +onnx::Conv_546_quantized_scale +#onnx::Conv_546_quantized_zero_pointonnx::Conv_546onnx::Conv_546_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_548_quantized +onnx::Conv_548_scale +onnx::Conv_548_zero_point&onnx::Conv_548_DequantizeLinear_Outputonnx::Conv_548_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_549_quantized +onnx::Conv_549_quantized_scale +#onnx::Conv_549_quantized_zero_pointonnx::Conv_549onnx::Conv_549_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_551_quantized +onnx::Conv_551_scale +onnx::Conv_551_zero_point&onnx::Conv_551_DequantizeLinear_Outputonnx::Conv_551_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_552_quantized +onnx::Conv_552_quantized_scale +#onnx::Conv_552_quantized_zero_pointonnx::Conv_552onnx::Conv_552_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_554_quantized +onnx::Conv_554_scale +onnx::Conv_554_zero_point&onnx::Conv_554_DequantizeLinear_Outputonnx::Conv_554_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_555_quantized +onnx::Conv_555_quantized_scale +#onnx::Conv_555_quantized_zero_pointonnx::Conv_555onnx::Conv_555_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_557_quantized +onnx::Conv_557_scale +onnx::Conv_557_zero_point&onnx::Conv_557_DequantizeLinear_Outputonnx::Conv_557_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_558_quantized +onnx::Conv_558_quantized_scale +#onnx::Conv_558_quantized_zero_pointonnx::Conv_558onnx::Conv_558_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_560_quantized +onnx::Conv_560_scale +onnx::Conv_560_zero_point&onnx::Conv_560_DequantizeLinear_Outputonnx::Conv_560_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_561_quantized +onnx::Conv_561_quantized_scale +#onnx::Conv_561_quantized_zero_pointonnx::Conv_561onnx::Conv_561_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_563_quantized +onnx::Conv_563_scale +onnx::Conv_563_zero_point&onnx::Conv_563_DequantizeLinear_Outputonnx::Conv_563_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_564_quantized +onnx::Conv_564_quantized_scale +#onnx::Conv_564_quantized_zero_pointonnx::Conv_564onnx::Conv_564_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_566_quantized +onnx::Conv_566_scale +onnx::Conv_566_zero_point&onnx::Conv_566_DequantizeLinear_Outputonnx::Conv_566_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_567_quantized +onnx::Conv_567_quantized_scale +#onnx::Conv_567_quantized_zero_pointonnx::Conv_567onnx::Conv_567_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_569_quantized +onnx::Conv_569_scale +onnx::Conv_569_zero_point&onnx::Conv_569_DequantizeLinear_Outputonnx::Conv_569_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_570_quantized +onnx::Conv_570_quantized_scale +#onnx::Conv_570_quantized_zero_pointonnx::Conv_570onnx::Conv_570_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_572_quantized +onnx::Conv_572_scale +onnx::Conv_572_zero_point&onnx::Conv_572_DequantizeLinear_Outputonnx::Conv_572_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_573_quantized +onnx::Conv_573_quantized_scale +#onnx::Conv_573_quantized_zero_pointonnx::Conv_573onnx::Conv_573_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_575_quantized +onnx::Conv_575_scale +onnx::Conv_575_zero_point&onnx::Conv_575_DequantizeLinear_Outputonnx::Conv_575_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_576_quantized +onnx::Conv_576_quantized_scale +#onnx::Conv_576_quantized_zero_pointonnx::Conv_576onnx::Conv_576_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_578_quantized +onnx::Conv_578_scale +onnx::Conv_578_zero_point&onnx::Conv_578_DequantizeLinear_Outputonnx::Conv_578_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_579_quantized +onnx::Conv_579_quantized_scale +#onnx::Conv_579_quantized_zero_pointonnx::Conv_579onnx::Conv_579_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_581_quantized +onnx::Conv_581_scale +onnx::Conv_581_zero_point&onnx::Conv_581_DequantizeLinear_Outputonnx::Conv_581_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_582_quantized +onnx::Conv_582_quantized_scale +#onnx::Conv_582_quantized_zero_pointonnx::Conv_582onnx::Conv_582_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_584_quantized +onnx::Conv_584_scale +onnx::Conv_584_zero_point&onnx::Conv_584_DequantizeLinear_Outputonnx::Conv_584_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_585_quantized +onnx::Conv_585_quantized_scale +#onnx::Conv_585_quantized_zero_pointonnx::Conv_585onnx::Conv_585_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_587_quantized +onnx::Conv_587_scale +onnx::Conv_587_zero_point&onnx::Conv_587_DequantizeLinear_Outputonnx::Conv_587_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_588_quantized +onnx::Conv_588_quantized_scale +#onnx::Conv_588_quantized_zero_pointonnx::Conv_588onnx::Conv_588_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_590_quantized +onnx::Conv_590_scale +onnx::Conv_590_zero_point&onnx::Conv_590_DequantizeLinear_Outputonnx::Conv_590_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_591_quantized +onnx::Conv_591_quantized_scale +#onnx::Conv_591_quantized_zero_pointonnx::Conv_591onnx::Conv_591_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_593_quantized +onnx::Conv_593_scale +onnx::Conv_593_zero_point&onnx::Conv_593_DequantizeLinear_Outputonnx::Conv_593_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_594_quantized +onnx::Conv_594_quantized_scale +#onnx::Conv_594_quantized_zero_pointonnx::Conv_594onnx::Conv_594_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_596_quantized +onnx::Conv_596_scale +onnx::Conv_596_zero_point&onnx::Conv_596_DequantizeLinear_Outputonnx::Conv_596_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_597_quantized +onnx::Conv_597_quantized_scale +#onnx::Conv_597_quantized_zero_pointonnx::Conv_597onnx::Conv_597_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_599_quantized +onnx::Conv_599_scale +onnx::Conv_599_zero_point&onnx::Conv_599_DequantizeLinear_Outputonnx::Conv_599_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_600_quantized +onnx::Conv_600_quantized_scale +#onnx::Conv_600_quantized_zero_pointonnx::Conv_600onnx::Conv_600_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_602_quantized +onnx::Conv_602_scale +onnx::Conv_602_zero_point&onnx::Conv_602_DequantizeLinear_Outputonnx::Conv_602_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_603_quantized +onnx::Conv_603_quantized_scale +#onnx::Conv_603_quantized_zero_pointonnx::Conv_603onnx::Conv_603_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_605_quantized +onnx::Conv_605_scale +onnx::Conv_605_zero_point&onnx::Conv_605_DequantizeLinear_Outputonnx::Conv_605_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_606_quantized +onnx::Conv_606_quantized_scale +#onnx::Conv_606_quantized_zero_pointonnx::Conv_606onnx::Conv_606_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_608_quantized +onnx::Conv_608_scale +onnx::Conv_608_zero_point&onnx::Conv_608_DequantizeLinear_Outputonnx::Conv_608_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_609_quantized +onnx::Conv_609_quantized_scale +#onnx::Conv_609_quantized_zero_pointonnx::Conv_609onnx::Conv_609_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_611_quantized +onnx::Conv_611_scale +onnx::Conv_611_zero_point&onnx::Conv_611_DequantizeLinear_Outputonnx::Conv_611_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_612_quantized +onnx::Conv_612_quantized_scale +#onnx::Conv_612_quantized_zero_pointonnx::Conv_612onnx::Conv_612_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_614_quantized +onnx::Conv_614_scale +onnx::Conv_614_zero_point&onnx::Conv_614_DequantizeLinear_Outputonnx::Conv_614_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_615_quantized +onnx::Conv_615_quantized_scale +#onnx::Conv_615_quantized_zero_pointonnx::Conv_615onnx::Conv_615_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_617_quantized +onnx::Conv_617_scale +onnx::Conv_617_zero_point&onnx::Conv_617_DequantizeLinear_Outputonnx::Conv_617_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_618_quantized +onnx::Conv_618_quantized_scale +#onnx::Conv_618_quantized_zero_pointonnx::Conv_618onnx::Conv_618_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_620_quantized +onnx::Conv_620_scale +onnx::Conv_620_zero_point&onnx::Conv_620_DequantizeLinear_Outputonnx::Conv_620_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_621_quantized +onnx::Conv_621_quantized_scale +#onnx::Conv_621_quantized_zero_pointonnx::Conv_621onnx::Conv_621_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_623_quantized +onnx::Conv_623_scale +onnx::Conv_623_zero_point&onnx::Conv_623_DequantizeLinear_Outputonnx::Conv_623_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_624_quantized +onnx::Conv_624_quantized_scale +#onnx::Conv_624_quantized_zero_pointonnx::Conv_624onnx::Conv_624_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_626_quantized +onnx::Conv_626_scale +onnx::Conv_626_zero_point&onnx::Conv_626_DequantizeLinear_Outputonnx::Conv_626_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_627_quantized +onnx::Conv_627_quantized_scale +#onnx::Conv_627_quantized_zero_pointonnx::Conv_627onnx::Conv_627_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_629_quantized +onnx::Conv_629_scale +onnx::Conv_629_zero_point&onnx::Conv_629_DequantizeLinear_Outputonnx::Conv_629_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_630_quantized +onnx::Conv_630_quantized_scale +#onnx::Conv_630_quantized_zero_pointonnx::Conv_630onnx::Conv_630_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_632_quantized +onnx::Conv_632_scale +onnx::Conv_632_zero_point&onnx::Conv_632_DequantizeLinear_Outputonnx::Conv_632_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_633_quantized +onnx::Conv_633_quantized_scale +#onnx::Conv_633_quantized_zero_pointonnx::Conv_633onnx::Conv_633_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_635_quantized +onnx::Conv_635_scale +onnx::Conv_635_zero_point&onnx::Conv_635_DequantizeLinear_Outputonnx::Conv_635_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_636_quantized +onnx::Conv_636_quantized_scale +#onnx::Conv_636_quantized_zero_pointonnx::Conv_636onnx::Conv_636_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_638_quantized +onnx::Conv_638_scale +onnx::Conv_638_zero_point&onnx::Conv_638_DequantizeLinear_Outputonnx::Conv_638_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_639_quantized +onnx::Conv_639_quantized_scale +#onnx::Conv_639_quantized_zero_pointonnx::Conv_639onnx::Conv_639_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_641_quantized +onnx::Conv_641_scale +onnx::Conv_641_zero_point&onnx::Conv_641_DequantizeLinear_Outputonnx::Conv_641_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_642_quantized +onnx::Conv_642_quantized_scale +#onnx::Conv_642_quantized_zero_pointonnx::Conv_642onnx::Conv_642_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_644_quantized +onnx::Conv_644_scale +onnx::Conv_644_zero_point&onnx::Conv_644_DequantizeLinear_Outputonnx::Conv_644_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_645_quantized +onnx::Conv_645_quantized_scale +#onnx::Conv_645_quantized_zero_pointonnx::Conv_645onnx::Conv_645_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_647_quantized +onnx::Conv_647_scale +onnx::Conv_647_zero_point&onnx::Conv_647_DequantizeLinear_Outputonnx::Conv_647_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_648_quantized +onnx::Conv_648_quantized_scale +#onnx::Conv_648_quantized_zero_pointonnx::Conv_648onnx::Conv_648_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_650_quantized +onnx::Conv_650_scale +onnx::Conv_650_zero_point&onnx::Conv_650_DequantizeLinear_Outputonnx::Conv_650_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_651_quantized +onnx::Conv_651_quantized_scale +#onnx::Conv_651_quantized_zero_pointonnx::Conv_651onnx::Conv_651_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_653_quantized +onnx::Conv_653_scale +onnx::Conv_653_zero_point&onnx::Conv_653_DequantizeLinear_Outputonnx::Conv_653_DequantizeLinear"DequantizeLinear: com.microsoft + +onnx::Conv_654_quantized +onnx::Conv_654_quantized_scale +#onnx::Conv_654_quantized_zero_pointonnx::Conv_654onnx::Conv_654_DequantizeLinear"DequantizeLinear: com.microsoft + +input_QuantizeLinear_Output + input_scale +input_zero_pointinput_DequantizeLinear_Outputinput_DequantizeLinear"DequantizeLinear: com.microsoft + +input_DequantizeLinear_Output +&onnx::Conv_497_DequantizeLinear_Output +onnx::Conv_4982/resnet/embedder/embedder/activation/Relu_output_0*/resnet/embedder/embedder/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +2/resnet/embedder/embedder/activation/Relu_output_0 +8/resnet/embedder/embedder/activation/Relu_output_0_scale +=/resnet/embedder/embedder/activation/Relu_output_0_zero_pointH/resnet/embedder/embedder/activation/Relu_output_0_QuantizeLinear_OutputA/resnet/embedder/embedder/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +H/resnet/embedder/embedder/activation/Relu_output_0_QuantizeLinear_Output +8/resnet/embedder/embedder/activation/Relu_output_0_scale +=/resnet/embedder/embedder/activation/Relu_output_0_zero_pointJ/resnet/embedder/embedder/activation/Relu_output_0_DequantizeLinear_OutputC/resnet/embedder/embedder/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +J/resnet/embedder/embedder/activation/Relu_output_0_DequantizeLinear_Output(/resnet/embedder/pooler/MaxPool_output_0/resnet/embedder/pooler/MaxPool"MaxPool* + ceil_mode* + dilations@@* + kernel_shape@@* +pads@@@@* +strides@@ + +(/resnet/embedder/pooler/MaxPool_output_0 +8/resnet/embedder/embedder/activation/Relu_output_0_scale +=/resnet/embedder/embedder/activation/Relu_output_0_zero_point>/resnet/embedder/pooler/MaxPool_output_0_QuantizeLinear_Output7/resnet/embedder/pooler/MaxPool_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +>/resnet/embedder/pooler/MaxPool_output_0_QuantizeLinear_Output +8/resnet/embedder/embedder/activation/Relu_output_0_scale +=/resnet/embedder/embedder/activation/Relu_output_0_zero_point@/resnet/embedder/pooler/MaxPool_output_0_DequantizeLinear_Output9/resnet/embedder/pooler/MaxPool_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +@/resnet/embedder/pooler/MaxPool_output_0_DequantizeLinear_Output +&onnx::Conv_500_DequantizeLinear_Output +onnx::Conv_501H/resnet/encoder/stages.0/layers.0/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.0/layers.0/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +@/resnet/embedder/pooler/MaxPool_output_0_DequantizeLinear_Output +&onnx::Conv_509_DequantizeLinear_Output +onnx::Conv_510D/resnet/encoder/stages.0/layers.0/shortcut/convolution/Conv_output_0;/resnet/encoder/stages.0/layers.0/shortcut/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.0/layers.0/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.0/layers.0/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.0/layers.0/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.0/layers.0/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.0/layers.0/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +D/resnet/encoder/stages.0/layers.0/shortcut/convolution/Conv_output_0 +J/resnet/encoder/stages.0/layers.0/shortcut/convolution/Conv_output_0_scale +O/resnet/encoder/stages.0/layers.0/shortcut/convolution/Conv_output_0_zero_pointZ/resnet/encoder/stages.0/layers.0/shortcut/convolution/Conv_output_0_QuantizeLinear_OutputS/resnet/encoder/stages.0/layers.0/shortcut/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.0/layers.0/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.0/layers.0/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.0/layers.0/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.0/layers.0/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.0/layers.0/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +Z/resnet/encoder/stages.0/layers.0/shortcut/convolution/Conv_output_0_QuantizeLinear_Output +J/resnet/encoder/stages.0/layers.0/shortcut/convolution/Conv_output_0_scale +O/resnet/encoder/stages.0/layers.0/shortcut/convolution/Conv_output_0_zero_point\/resnet/encoder/stages.0/layers.0/shortcut/convolution/Conv_output_0_DequantizeLinear_OutputU/resnet/encoder/stages.0/layers.0/shortcut/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.0/layers.0/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_503_DequantizeLinear_Output +onnx::Conv_504H/resnet/encoder/stages.0/layers.0/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.0/layers.0/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.0/layers.0/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.0/layers.0/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.0/layers.0/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.0/layers.0/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.0/layers.0/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.0/layers.0/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.0/layers.0/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.0/layers.0/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.0/layers.0/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.0/layers.0/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.0/layers.0/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_506_DequantizeLinear_Output +onnx::Conv_507I/resnet/encoder/stages.0/layers.0/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.0/layers.0/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.0/layers.0/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.0/layers.0/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.0/layers.0/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.0/layers.0/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.0/layers.0/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.0/layers.0/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.0/layers.0/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.0/layers.0/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.0/layers.0/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.0/layers.0/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.0/layers.0/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +\/resnet/encoder/stages.0/layers.0/shortcut/convolution/Conv_output_0_DequantizeLinear_Output:/resnet/encoder/stages.0/layers.0/activation/Relu_output_0%/resnet/encoder/stages.0/layers.0/Add"Add + +:/resnet/encoder/stages.0/layers.0/activation/Relu_output_0 +@/resnet/encoder/stages.0/layers.0/activation/Relu_output_0_scale +E/resnet/encoder/stages.0/layers.0/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.0/layers.0/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.0/layers.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.0/layers.0/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.0/layers.0/activation/Relu_output_0_scale +E/resnet/encoder/stages.0/layers.0/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.0/layers.0/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.0/layers.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.0/layers.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_512_DequantizeLinear_Output +onnx::Conv_513H/resnet/encoder/stages.0/layers.1/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.0/layers.1/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.0/layers.1/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.0/layers.1/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.0/layers.1/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.0/layers.1/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.0/layers.1/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.0/layers.1/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.0/layers.1/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.0/layers.1/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.0/layers.1/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.0/layers.1/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.0/layers.1/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_515_DequantizeLinear_Output +onnx::Conv_516H/resnet/encoder/stages.0/layers.1/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.0/layers.1/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.0/layers.1/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.0/layers.1/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.0/layers.1/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.0/layers.1/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.0/layers.1/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.0/layers.1/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.0/layers.1/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.0/layers.1/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.0/layers.1/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.0/layers.1/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.0/layers.1/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_518_DequantizeLinear_Output +onnx::Conv_519I/resnet/encoder/stages.0/layers.1/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.0/layers.1/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.0/layers.1/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.0/layers.1/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.0/layers.1/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.0/layers.1/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.0/layers.1/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.0/layers.1/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.0/layers.1/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.0/layers.1/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.0/layers.1/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.0/layers.1/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.0/layers.1/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +R/resnet/encoder/stages.0/layers.0/activation/Relu_output_0_DequantizeLinear_Output:/resnet/encoder/stages.0/layers.1/activation/Relu_output_0%/resnet/encoder/stages.0/layers.1/Add"Add + +:/resnet/encoder/stages.0/layers.1/activation/Relu_output_0 +@/resnet/encoder/stages.0/layers.1/activation/Relu_output_0_scale +E/resnet/encoder/stages.0/layers.1/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.0/layers.1/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.0/layers.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.0/layers.1/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.0/layers.1/activation/Relu_output_0_scale +E/resnet/encoder/stages.0/layers.1/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.0/layers.1/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.0/layers.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.0/layers.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_521_DequantizeLinear_Output +onnx::Conv_522H/resnet/encoder/stages.0/layers.2/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.0/layers.2/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.0/layers.2/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.0/layers.2/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.0/layers.2/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.0/layers.2/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.0/layers.2/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.0/layers.2/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.0/layers.2/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.0/layers.2/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.0/layers.2/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.0/layers.2/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.0/layers.2/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_524_DequantizeLinear_Output +onnx::Conv_525H/resnet/encoder/stages.0/layers.2/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.0/layers.2/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.0/layers.2/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.0/layers.2/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.0/layers.2/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.0/layers.2/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.0/layers.2/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.0/layers.2/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.0/layers.2/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.0/layers.2/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.0/layers.2/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.0/layers.2/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.0/layers.2/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_527_DequantizeLinear_Output +onnx::Conv_528I/resnet/encoder/stages.0/layers.2/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.0/layers.2/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.0/layers.2/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.0/layers.2/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.0/layers.2/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.0/layers.2/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.0/layers.2/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.0/layers.2/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.0/layers.2/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.0/layers.2/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.0/layers.2/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.0/layers.2/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.0/layers.2/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +R/resnet/encoder/stages.0/layers.1/activation/Relu_output_0_DequantizeLinear_Output:/resnet/encoder/stages.0/layers.2/activation/Relu_output_0%/resnet/encoder/stages.0/layers.2/Add"Add + +:/resnet/encoder/stages.0/layers.2/activation/Relu_output_0 +@/resnet/encoder/stages.0/layers.2/activation/Relu_output_0_scale +E/resnet/encoder/stages.0/layers.2/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.0/layers.2/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.0/layers.2/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.0/layers.2/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.0/layers.2/activation/Relu_output_0_scale +E/resnet/encoder/stages.0/layers.2/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.0/layers.2/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.0/layers.2/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.0/layers.2/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_530_DequantizeLinear_Output +onnx::Conv_531H/resnet/encoder/stages.1/layers.0/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.1/layers.0/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +R/resnet/encoder/stages.0/layers.2/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_539_DequantizeLinear_Output +onnx::Conv_540D/resnet/encoder/stages.1/layers.0/shortcut/convolution/Conv_output_0;/resnet/encoder/stages.1/layers.0/shortcut/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.1/layers.0/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.1/layers.0/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.0/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.1/layers.0/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.1/layers.0/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +D/resnet/encoder/stages.1/layers.0/shortcut/convolution/Conv_output_0 +J/resnet/encoder/stages.1/layers.0/shortcut/convolution/Conv_output_0_scale +O/resnet/encoder/stages.1/layers.0/shortcut/convolution/Conv_output_0_zero_pointZ/resnet/encoder/stages.1/layers.0/shortcut/convolution/Conv_output_0_QuantizeLinear_OutputS/resnet/encoder/stages.1/layers.0/shortcut/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.1/layers.0/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.1/layers.0/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.0/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.1/layers.0/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.1/layers.0/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +Z/resnet/encoder/stages.1/layers.0/shortcut/convolution/Conv_output_0_QuantizeLinear_Output +J/resnet/encoder/stages.1/layers.0/shortcut/convolution/Conv_output_0_scale +O/resnet/encoder/stages.1/layers.0/shortcut/convolution/Conv_output_0_zero_point\/resnet/encoder/stages.1/layers.0/shortcut/convolution/Conv_output_0_DequantizeLinear_OutputU/resnet/encoder/stages.1/layers.0/shortcut/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.1/layers.0/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_533_DequantizeLinear_Output +onnx::Conv_534H/resnet/encoder/stages.1/layers.0/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.1/layers.0/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.1/layers.0/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.1/layers.0/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.0/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.1/layers.0/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.1/layers.0/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.1/layers.0/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.1/layers.0/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.0/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.1/layers.0/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.1/layers.0/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.1/layers.0/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_536_DequantizeLinear_Output +onnx::Conv_537I/resnet/encoder/stages.1/layers.0/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.1/layers.0/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.1/layers.0/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.1/layers.0/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.1/layers.0/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.1/layers.0/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.1/layers.0/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.1/layers.0/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.1/layers.0/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.1/layers.0/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.1/layers.0/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.1/layers.0/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.1/layers.0/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +\/resnet/encoder/stages.1/layers.0/shortcut/convolution/Conv_output_0_DequantizeLinear_Output:/resnet/encoder/stages.1/layers.0/activation/Relu_output_0%/resnet/encoder/stages.1/layers.0/Add"Add + +:/resnet/encoder/stages.1/layers.0/activation/Relu_output_0 +@/resnet/encoder/stages.1/layers.0/activation/Relu_output_0_scale +E/resnet/encoder/stages.1/layers.0/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.1/layers.0/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.1/layers.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.1/layers.0/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.1/layers.0/activation/Relu_output_0_scale +E/resnet/encoder/stages.1/layers.0/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.1/layers.0/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.1/layers.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.1/layers.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_542_DequantizeLinear_Output +onnx::Conv_543H/resnet/encoder/stages.1/layers.1/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.1/layers.1/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.1/layers.1/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.1/layers.1/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.1/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.1/layers.1/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.1/layers.1/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.1/layers.1/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.1/layers.1/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.1/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.1/layers.1/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.1/layers.1/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.1/layers.1/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_545_DequantizeLinear_Output +onnx::Conv_546H/resnet/encoder/stages.1/layers.1/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.1/layers.1/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.1/layers.1/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.1/layers.1/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.1/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.1/layers.1/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.1/layers.1/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.1/layers.1/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.1/layers.1/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.1/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.1/layers.1/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.1/layers.1/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.1/layers.1/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_548_DequantizeLinear_Output +onnx::Conv_549I/resnet/encoder/stages.1/layers.1/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.1/layers.1/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.1/layers.1/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.1/layers.1/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.1/layers.1/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.1/layers.1/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.1/layers.1/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.1/layers.1/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.1/layers.1/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.1/layers.1/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.1/layers.1/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.1/layers.1/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.1/layers.1/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +R/resnet/encoder/stages.1/layers.0/activation/Relu_output_0_DequantizeLinear_Output:/resnet/encoder/stages.1/layers.1/activation/Relu_output_0%/resnet/encoder/stages.1/layers.1/Add"Add + +:/resnet/encoder/stages.1/layers.1/activation/Relu_output_0 +@/resnet/encoder/stages.1/layers.1/activation/Relu_output_0_scale +E/resnet/encoder/stages.1/layers.1/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.1/layers.1/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.1/layers.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.1/layers.1/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.1/layers.1/activation/Relu_output_0_scale +E/resnet/encoder/stages.1/layers.1/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.1/layers.1/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.1/layers.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.1/layers.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_551_DequantizeLinear_Output +onnx::Conv_552H/resnet/encoder/stages.1/layers.2/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.1/layers.2/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.1/layers.2/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.1/layers.2/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.2/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.1/layers.2/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.1/layers.2/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.1/layers.2/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.1/layers.2/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.2/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.1/layers.2/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.1/layers.2/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.1/layers.2/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_554_DequantizeLinear_Output +onnx::Conv_555H/resnet/encoder/stages.1/layers.2/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.1/layers.2/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.1/layers.2/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.1/layers.2/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.2/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.1/layers.2/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.1/layers.2/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.1/layers.2/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.1/layers.2/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.2/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.1/layers.2/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.1/layers.2/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.1/layers.2/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_557_DequantizeLinear_Output +onnx::Conv_558I/resnet/encoder/stages.1/layers.2/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.1/layers.2/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.1/layers.2/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.1/layers.2/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.1/layers.2/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.1/layers.2/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.1/layers.2/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.1/layers.2/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.1/layers.2/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.1/layers.2/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.1/layers.2/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.1/layers.2/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.1/layers.2/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +R/resnet/encoder/stages.1/layers.1/activation/Relu_output_0_DequantizeLinear_Output:/resnet/encoder/stages.1/layers.2/activation/Relu_output_0%/resnet/encoder/stages.1/layers.2/Add"Add + +:/resnet/encoder/stages.1/layers.2/activation/Relu_output_0 +@/resnet/encoder/stages.1/layers.2/activation/Relu_output_0_scale +E/resnet/encoder/stages.1/layers.2/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.1/layers.2/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.1/layers.2/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.1/layers.2/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.1/layers.2/activation/Relu_output_0_scale +E/resnet/encoder/stages.1/layers.2/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.1/layers.2/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.1/layers.2/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.1/layers.2/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_560_DequantizeLinear_Output +onnx::Conv_561H/resnet/encoder/stages.1/layers.3/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.1/layers.3/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.1/layers.3/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.1/layers.3/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.3/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.1/layers.3/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.1/layers.3/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.1/layers.3/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.1/layers.3/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.3/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.1/layers.3/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.1/layers.3/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.1/layers.3/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_563_DequantizeLinear_Output +onnx::Conv_564H/resnet/encoder/stages.1/layers.3/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.1/layers.3/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.1/layers.3/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.1/layers.3/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.3/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.1/layers.3/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.1/layers.3/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.1/layers.3/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.1/layers.3/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.1/layers.3/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.1/layers.3/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.1/layers.3/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.1/layers.3/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_566_DequantizeLinear_Output +onnx::Conv_567I/resnet/encoder/stages.1/layers.3/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.1/layers.3/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.1/layers.3/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.1/layers.3/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.1/layers.3/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.1/layers.3/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.1/layers.3/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.1/layers.3/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.1/layers.3/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.1/layers.3/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.1/layers.3/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.1/layers.3/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.1/layers.3/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +R/resnet/encoder/stages.1/layers.2/activation/Relu_output_0_DequantizeLinear_Output:/resnet/encoder/stages.1/layers.3/activation/Relu_output_0%/resnet/encoder/stages.1/layers.3/Add"Add + +:/resnet/encoder/stages.1/layers.3/activation/Relu_output_0 +@/resnet/encoder/stages.1/layers.3/activation/Relu_output_0_scale +E/resnet/encoder/stages.1/layers.3/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.1/layers.3/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.1/layers.3/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.1/layers.3/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.1/layers.3/activation/Relu_output_0_scale +E/resnet/encoder/stages.1/layers.3/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.1/layers.3/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.1/layers.3/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.1/layers.3/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_569_DequantizeLinear_Output +onnx::Conv_570H/resnet/encoder/stages.2/layers.0/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.2/layers.0/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +R/resnet/encoder/stages.1/layers.3/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_578_DequantizeLinear_Output +onnx::Conv_579D/resnet/encoder/stages.2/layers.0/shortcut/convolution/Conv_output_0;/resnet/encoder/stages.2/layers.0/shortcut/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.2/layers.0/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.2/layers.0/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.0/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.2/layers.0/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.2/layers.0/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +D/resnet/encoder/stages.2/layers.0/shortcut/convolution/Conv_output_0 +J/resnet/encoder/stages.2/layers.0/shortcut/convolution/Conv_output_0_scale +O/resnet/encoder/stages.2/layers.0/shortcut/convolution/Conv_output_0_zero_pointZ/resnet/encoder/stages.2/layers.0/shortcut/convolution/Conv_output_0_QuantizeLinear_OutputS/resnet/encoder/stages.2/layers.0/shortcut/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.2/layers.0/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.2/layers.0/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.0/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.2/layers.0/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.2/layers.0/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +Z/resnet/encoder/stages.2/layers.0/shortcut/convolution/Conv_output_0_QuantizeLinear_Output +J/resnet/encoder/stages.2/layers.0/shortcut/convolution/Conv_output_0_scale +O/resnet/encoder/stages.2/layers.0/shortcut/convolution/Conv_output_0_zero_point\/resnet/encoder/stages.2/layers.0/shortcut/convolution/Conv_output_0_DequantizeLinear_OutputU/resnet/encoder/stages.2/layers.0/shortcut/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.2/layers.0/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_572_DequantizeLinear_Output +onnx::Conv_573H/resnet/encoder/stages.2/layers.0/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.2/layers.0/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.2/layers.0/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.2/layers.0/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.0/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.2/layers.0/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.2/layers.0/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.2/layers.0/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.2/layers.0/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.0/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.2/layers.0/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.2/layers.0/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.2/layers.0/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_575_DequantizeLinear_Output +onnx::Conv_576I/resnet/encoder/stages.2/layers.0/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.2/layers.0/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.2/layers.0/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.2/layers.0/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.2/layers.0/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.2/layers.0/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.2/layers.0/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.2/layers.0/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.2/layers.0/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.2/layers.0/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.2/layers.0/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.2/layers.0/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.2/layers.0/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +\/resnet/encoder/stages.2/layers.0/shortcut/convolution/Conv_output_0_DequantizeLinear_Output:/resnet/encoder/stages.2/layers.0/activation/Relu_output_0%/resnet/encoder/stages.2/layers.0/Add"Add + +:/resnet/encoder/stages.2/layers.0/activation/Relu_output_0 +@/resnet/encoder/stages.2/layers.0/activation/Relu_output_0_scale +E/resnet/encoder/stages.2/layers.0/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.2/layers.0/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.2/layers.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.2/layers.0/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.2/layers.0/activation/Relu_output_0_scale +E/resnet/encoder/stages.2/layers.0/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.2/layers.0/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.2/layers.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.2/layers.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_581_DequantizeLinear_Output +onnx::Conv_582H/resnet/encoder/stages.2/layers.1/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.2/layers.1/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.2/layers.1/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.2/layers.1/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.1/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.2/layers.1/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.2/layers.1/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.2/layers.1/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.2/layers.1/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.1/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.2/layers.1/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.2/layers.1/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.2/layers.1/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_584_DequantizeLinear_Output +onnx::Conv_585H/resnet/encoder/stages.2/layers.1/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.2/layers.1/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.2/layers.1/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.2/layers.1/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.1/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.2/layers.1/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.2/layers.1/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.2/layers.1/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.2/layers.1/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.1/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.2/layers.1/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.2/layers.1/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.2/layers.1/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_587_DequantizeLinear_Output +onnx::Conv_588I/resnet/encoder/stages.2/layers.1/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.2/layers.1/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.2/layers.1/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.2/layers.1/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.2/layers.1/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.2/layers.1/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.2/layers.1/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.2/layers.1/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.2/layers.1/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.2/layers.1/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.2/layers.1/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.2/layers.1/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.2/layers.1/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +R/resnet/encoder/stages.2/layers.0/activation/Relu_output_0_DequantizeLinear_Output:/resnet/encoder/stages.2/layers.1/activation/Relu_output_0%/resnet/encoder/stages.2/layers.1/Add"Add + +:/resnet/encoder/stages.2/layers.1/activation/Relu_output_0 +@/resnet/encoder/stages.2/layers.1/activation/Relu_output_0_scale +E/resnet/encoder/stages.2/layers.1/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.2/layers.1/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.2/layers.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.2/layers.1/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.2/layers.1/activation/Relu_output_0_scale +E/resnet/encoder/stages.2/layers.1/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.2/layers.1/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.2/layers.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.2/layers.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_590_DequantizeLinear_Output +onnx::Conv_591H/resnet/encoder/stages.2/layers.2/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.2/layers.2/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.2/layers.2/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.2/layers.2/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.2/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.2/layers.2/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.2/layers.2/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.2/layers.2/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.2/layers.2/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.2/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.2/layers.2/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.2/layers.2/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.2/layers.2/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_593_DequantizeLinear_Output +onnx::Conv_594H/resnet/encoder/stages.2/layers.2/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.2/layers.2/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.2/layers.2/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.2/layers.2/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.2/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.2/layers.2/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.2/layers.2/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.2/layers.2/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.2/layers.2/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.2/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.2/layers.2/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.2/layers.2/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.2/layers.2/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_596_DequantizeLinear_Output +onnx::Conv_597I/resnet/encoder/stages.2/layers.2/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.2/layers.2/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.2/layers.2/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.2/layers.2/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.2/layers.2/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.2/layers.2/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.2/layers.2/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.2/layers.2/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.2/layers.2/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.2/layers.2/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.2/layers.2/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.2/layers.2/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.2/layers.2/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +R/resnet/encoder/stages.2/layers.1/activation/Relu_output_0_DequantizeLinear_Output:/resnet/encoder/stages.2/layers.2/activation/Relu_output_0%/resnet/encoder/stages.2/layers.2/Add"Add + +:/resnet/encoder/stages.2/layers.2/activation/Relu_output_0 +@/resnet/encoder/stages.2/layers.2/activation/Relu_output_0_scale +E/resnet/encoder/stages.2/layers.2/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.2/layers.2/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.2/layers.2/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.2/layers.2/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.2/layers.2/activation/Relu_output_0_scale +E/resnet/encoder/stages.2/layers.2/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.2/layers.2/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.2/layers.2/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.2/layers.2/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_599_DequantizeLinear_Output +onnx::Conv_600H/resnet/encoder/stages.2/layers.3/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.2/layers.3/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.2/layers.3/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.2/layers.3/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.3/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.2/layers.3/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.2/layers.3/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.2/layers.3/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.2/layers.3/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.3/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.2/layers.3/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.2/layers.3/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.2/layers.3/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_602_DequantizeLinear_Output +onnx::Conv_603H/resnet/encoder/stages.2/layers.3/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.2/layers.3/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.2/layers.3/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.2/layers.3/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.3/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.2/layers.3/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.2/layers.3/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.2/layers.3/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.2/layers.3/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.3/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.2/layers.3/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.2/layers.3/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.2/layers.3/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_605_DequantizeLinear_Output +onnx::Conv_606I/resnet/encoder/stages.2/layers.3/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.2/layers.3/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.2/layers.3/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.2/layers.3/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.2/layers.3/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.2/layers.3/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.2/layers.3/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.2/layers.3/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.2/layers.3/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.2/layers.3/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.2/layers.3/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.2/layers.3/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.2/layers.3/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +R/resnet/encoder/stages.2/layers.2/activation/Relu_output_0_DequantizeLinear_Output:/resnet/encoder/stages.2/layers.3/activation/Relu_output_0%/resnet/encoder/stages.2/layers.3/Add"Add + +:/resnet/encoder/stages.2/layers.3/activation/Relu_output_0 +@/resnet/encoder/stages.2/layers.3/activation/Relu_output_0_scale +E/resnet/encoder/stages.2/layers.3/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.2/layers.3/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.2/layers.3/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.2/layers.3/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.2/layers.3/activation/Relu_output_0_scale +E/resnet/encoder/stages.2/layers.3/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.2/layers.3/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.2/layers.3/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.2/layers.3/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_608_DequantizeLinear_Output +onnx::Conv_609H/resnet/encoder/stages.2/layers.4/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.2/layers.4/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.2/layers.4/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.2/layers.4/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.4/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.2/layers.4/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.2/layers.4/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.2/layers.4/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.2/layers.4/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.4/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.2/layers.4/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.2/layers.4/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.2/layers.4/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_611_DequantizeLinear_Output +onnx::Conv_612H/resnet/encoder/stages.2/layers.4/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.2/layers.4/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.2/layers.4/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.2/layers.4/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.4/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.2/layers.4/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.2/layers.4/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.2/layers.4/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.2/layers.4/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.4/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.2/layers.4/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.2/layers.4/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.2/layers.4/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_614_DequantizeLinear_Output +onnx::Conv_615I/resnet/encoder/stages.2/layers.4/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.2/layers.4/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.2/layers.4/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.2/layers.4/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.2/layers.4/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.2/layers.4/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.2/layers.4/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.2/layers.4/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.2/layers.4/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.2/layers.4/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.2/layers.4/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.2/layers.4/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.2/layers.4/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +R/resnet/encoder/stages.2/layers.3/activation/Relu_output_0_DequantizeLinear_Output:/resnet/encoder/stages.2/layers.4/activation/Relu_output_0%/resnet/encoder/stages.2/layers.4/Add"Add + +:/resnet/encoder/stages.2/layers.4/activation/Relu_output_0 +@/resnet/encoder/stages.2/layers.4/activation/Relu_output_0_scale +E/resnet/encoder/stages.2/layers.4/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.2/layers.4/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.2/layers.4/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.2/layers.4/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.2/layers.4/activation/Relu_output_0_scale +E/resnet/encoder/stages.2/layers.4/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.2/layers.4/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.2/layers.4/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.2/layers.4/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_617_DequantizeLinear_Output +onnx::Conv_618H/resnet/encoder/stages.2/layers.5/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.2/layers.5/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.2/layers.5/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.2/layers.5/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.5/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.2/layers.5/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.2/layers.5/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.2/layers.5/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.2/layers.5/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.5/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.2/layers.5/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.2/layers.5/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.2/layers.5/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_620_DequantizeLinear_Output +onnx::Conv_621H/resnet/encoder/stages.2/layers.5/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.2/layers.5/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.2/layers.5/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.2/layers.5/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.5/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.2/layers.5/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.2/layers.5/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.2/layers.5/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.2/layers.5/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.2/layers.5/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.2/layers.5/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.2/layers.5/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.2/layers.5/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_623_DequantizeLinear_Output +onnx::Conv_624I/resnet/encoder/stages.2/layers.5/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.2/layers.5/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.2/layers.5/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.2/layers.5/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.2/layers.5/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.2/layers.5/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.2/layers.5/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.2/layers.5/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.2/layers.5/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.2/layers.5/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.2/layers.5/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.2/layers.5/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.2/layers.5/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +R/resnet/encoder/stages.2/layers.4/activation/Relu_output_0_DequantizeLinear_Output:/resnet/encoder/stages.2/layers.5/activation/Relu_output_0%/resnet/encoder/stages.2/layers.5/Add"Add + +:/resnet/encoder/stages.2/layers.5/activation/Relu_output_0 +@/resnet/encoder/stages.2/layers.5/activation/Relu_output_0_scale +E/resnet/encoder/stages.2/layers.5/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.2/layers.5/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.2/layers.5/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.2/layers.5/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.2/layers.5/activation/Relu_output_0_scale +E/resnet/encoder/stages.2/layers.5/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.2/layers.5/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.2/layers.5/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.2/layers.5/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_626_DequantizeLinear_Output +onnx::Conv_627H/resnet/encoder/stages.3/layers.0/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.3/layers.0/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +R/resnet/encoder/stages.2/layers.5/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_635_DequantizeLinear_Output +onnx::Conv_636D/resnet/encoder/stages.3/layers.0/shortcut/convolution/Conv_output_0;/resnet/encoder/stages.3/layers.0/shortcut/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.3/layers.0/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.3/layers.0/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.3/layers.0/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.3/layers.0/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.3/layers.0/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +D/resnet/encoder/stages.3/layers.0/shortcut/convolution/Conv_output_0 +J/resnet/encoder/stages.3/layers.0/shortcut/convolution/Conv_output_0_scale +O/resnet/encoder/stages.3/layers.0/shortcut/convolution/Conv_output_0_zero_pointZ/resnet/encoder/stages.3/layers.0/shortcut/convolution/Conv_output_0_QuantizeLinear_OutputS/resnet/encoder/stages.3/layers.0/shortcut/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.3/layers.0/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.3/layers.0/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.3/layers.0/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.3/layers.0/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.3/layers.0/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +Z/resnet/encoder/stages.3/layers.0/shortcut/convolution/Conv_output_0_QuantizeLinear_Output +J/resnet/encoder/stages.3/layers.0/shortcut/convolution/Conv_output_0_scale +O/resnet/encoder/stages.3/layers.0/shortcut/convolution/Conv_output_0_zero_point\/resnet/encoder/stages.3/layers.0/shortcut/convolution/Conv_output_0_DequantizeLinear_OutputU/resnet/encoder/stages.3/layers.0/shortcut/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.3/layers.0/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_629_DequantizeLinear_Output +onnx::Conv_630H/resnet/encoder/stages.3/layers.0/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.3/layers.0/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.3/layers.0/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.3/layers.0/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.3/layers.0/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.3/layers.0/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.3/layers.0/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.3/layers.0/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.3/layers.0/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.3/layers.0/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.3/layers.0/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.3/layers.0/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.3/layers.0/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_632_DequantizeLinear_Output +onnx::Conv_633I/resnet/encoder/stages.3/layers.0/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.3/layers.0/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.3/layers.0/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.3/layers.0/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.3/layers.0/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.3/layers.0/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.3/layers.0/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.3/layers.0/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.3/layers.0/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.3/layers.0/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.3/layers.0/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.3/layers.0/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.3/layers.0/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +\/resnet/encoder/stages.3/layers.0/shortcut/convolution/Conv_output_0_DequantizeLinear_Output:/resnet/encoder/stages.3/layers.0/activation/Relu_output_0%/resnet/encoder/stages.3/layers.0/Add"Add + +:/resnet/encoder/stages.3/layers.0/activation/Relu_output_0 +@/resnet/encoder/stages.3/layers.0/activation/Relu_output_0_scale +E/resnet/encoder/stages.3/layers.0/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.3/layers.0/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.3/layers.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.3/layers.0/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.3/layers.0/activation/Relu_output_0_scale +E/resnet/encoder/stages.3/layers.0/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.3/layers.0/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.3/layers.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.3/layers.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_638_DequantizeLinear_Output +onnx::Conv_639H/resnet/encoder/stages.3/layers.1/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.3/layers.1/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.3/layers.1/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.3/layers.1/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.3/layers.1/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.3/layers.1/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.3/layers.1/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.3/layers.1/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.3/layers.1/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.3/layers.1/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.3/layers.1/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.3/layers.1/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.3/layers.1/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_641_DequantizeLinear_Output +onnx::Conv_642H/resnet/encoder/stages.3/layers.1/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.3/layers.1/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.3/layers.1/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.3/layers.1/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.3/layers.1/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.3/layers.1/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.3/layers.1/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.3/layers.1/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.3/layers.1/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.3/layers.1/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.3/layers.1/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.3/layers.1/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.3/layers.1/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_644_DequantizeLinear_Output +onnx::Conv_645I/resnet/encoder/stages.3/layers.1/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.3/layers.1/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.3/layers.1/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.3/layers.1/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.3/layers.1/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.3/layers.1/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.3/layers.1/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.3/layers.1/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.3/layers.1/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.3/layers.1/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.3/layers.1/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.3/layers.1/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.3/layers.1/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +R/resnet/encoder/stages.3/layers.0/activation/Relu_output_0_DequantizeLinear_Output:/resnet/encoder/stages.3/layers.1/activation/Relu_output_0%/resnet/encoder/stages.3/layers.1/Add"Add + +:/resnet/encoder/stages.3/layers.1/activation/Relu_output_0 +@/resnet/encoder/stages.3/layers.1/activation/Relu_output_0_scale +E/resnet/encoder/stages.3/layers.1/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.3/layers.1/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.3/layers.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.3/layers.1/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.3/layers.1/activation/Relu_output_0_scale +E/resnet/encoder/stages.3/layers.1/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.3/layers.1/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.3/layers.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.3/layers.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_647_DequantizeLinear_Output +onnx::Conv_648H/resnet/encoder/stages.3/layers.2/layer/layer.0/activation/Relu_output_0@/resnet/encoder/stages.3/layers.2/layer/layer.0/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.3/layers.2/layer/layer.0/activation/Relu_output_0 +N/resnet/encoder/stages.3/layers.2/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.3/layers.2/layer/layer.0/activation/Relu_output_0_zero_point^/resnet/encoder/stages.3/layers.2/layer/layer.0/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.3/layers.2/layer/layer.0/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.3/layers.2/layer/layer.0/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.3/layers.2/layer/layer.0/activation/Relu_output_0_scale +S/resnet/encoder/stages.3/layers.2/layer/layer.0/activation/Relu_output_0_zero_point`/resnet/encoder/stages.3/layers.2/layer/layer.0/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.3/layers.2/layer/layer.0/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.3/layers.2/layer/layer.0/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_650_DequantizeLinear_Output +onnx::Conv_651H/resnet/encoder/stages.3/layers.2/layer/layer.1/activation/Relu_output_0@/resnet/encoder/stages.3/layers.2/layer/layer.1/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +H/resnet/encoder/stages.3/layers.2/layer/layer.1/activation/Relu_output_0 +N/resnet/encoder/stages.3/layers.2/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.3/layers.2/layer/layer.1/activation/Relu_output_0_zero_point^/resnet/encoder/stages.3/layers.2/layer/layer.1/activation/Relu_output_0_QuantizeLinear_OutputW/resnet/encoder/stages.3/layers.2/layer/layer.1/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +^/resnet/encoder/stages.3/layers.2/layer/layer.1/activation/Relu_output_0_QuantizeLinear_Output +N/resnet/encoder/stages.3/layers.2/layer/layer.1/activation/Relu_output_0_scale +S/resnet/encoder/stages.3/layers.2/layer/layer.1/activation/Relu_output_0_zero_point`/resnet/encoder/stages.3/layers.2/layer/layer.1/activation/Relu_output_0_DequantizeLinear_OutputY/resnet/encoder/stages.3/layers.2/layer/layer.1/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +`/resnet/encoder/stages.3/layers.2/layer/layer.1/activation/Relu_output_0_DequantizeLinear_Output +&onnx::Conv_653_DequantizeLinear_Output +onnx::Conv_654I/resnet/encoder/stages.3/layers.2/layer/layer.2/convolution/Conv_output_0@/resnet/encoder/stages.3/layers.2/layer/layer.2/convolution/Conv"Conv* + dilations@@* +group* + kernel_shape@@* +pads@@@@* +strides@@ + +I/resnet/encoder/stages.3/layers.2/layer/layer.2/convolution/Conv_output_0 +O/resnet/encoder/stages.3/layers.2/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.3/layers.2/layer/layer.2/convolution/Conv_output_0_zero_point_/resnet/encoder/stages.3/layers.2/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_OutputX/resnet/encoder/stages.3/layers.2/layer/layer.2/convolution/Conv_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +_/resnet/encoder/stages.3/layers.2/layer/layer.2/convolution/Conv_output_0_QuantizeLinear_Output +O/resnet/encoder/stages.3/layers.2/layer/layer.2/convolution/Conv_output_0_scale +T/resnet/encoder/stages.3/layers.2/layer/layer.2/convolution/Conv_output_0_zero_pointa/resnet/encoder/stages.3/layers.2/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_OutputZ/resnet/encoder/stages.3/layers.2/layer/layer.2/convolution/Conv_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +a/resnet/encoder/stages.3/layers.2/layer/layer.2/convolution/Conv_output_0_DequantizeLinear_Output +R/resnet/encoder/stages.3/layers.1/activation/Relu_output_0_DequantizeLinear_Output:/resnet/encoder/stages.3/layers.2/activation/Relu_output_0%/resnet/encoder/stages.3/layers.2/Add"Add + +:/resnet/encoder/stages.3/layers.2/activation/Relu_output_0 +@/resnet/encoder/stages.3/layers.2/activation/Relu_output_0_scale +E/resnet/encoder/stages.3/layers.2/activation/Relu_output_0_zero_pointP/resnet/encoder/stages.3/layers.2/activation/Relu_output_0_QuantizeLinear_OutputI/resnet/encoder/stages.3/layers.2/activation/Relu_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +P/resnet/encoder/stages.3/layers.2/activation/Relu_output_0_QuantizeLinear_Output +@/resnet/encoder/stages.3/layers.2/activation/Relu_output_0_scale +E/resnet/encoder/stages.3/layers.2/activation/Relu_output_0_zero_pointR/resnet/encoder/stages.3/layers.2/activation/Relu_output_0_DequantizeLinear_OutputK/resnet/encoder/stages.3/layers.2/activation/Relu_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +R/resnet/encoder/stages.3/layers.2/activation/Relu_output_0_DequantizeLinear_Output)/resnet/pooler/GlobalAveragePool_output_0 /resnet/pooler/GlobalAveragePool"GlobalAveragePool + +)/resnet/pooler/GlobalAveragePool_output_0 +//resnet/pooler/GlobalAveragePool_output_0_scale +4/resnet/pooler/GlobalAveragePool_output_0_zero_point?/resnet/pooler/GlobalAveragePool_output_0_QuantizeLinear_Output8/resnet/pooler/GlobalAveragePool_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +?/resnet/pooler/GlobalAveragePool_output_0_QuantizeLinear_Output +//resnet/pooler/GlobalAveragePool_output_0_scale +4/resnet/pooler/GlobalAveragePool_output_0_zero_pointA/resnet/pooler/GlobalAveragePool_output_0_DequantizeLinear_Output:/resnet/pooler/GlobalAveragePool_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +A/resnet/pooler/GlobalAveragePool_output_0_DequantizeLinear_Output)/classifier/classifier.0/Flatten_output_0 /classifier/classifier.0/Flatten"Flatten* +axis + +)/classifier/classifier.0/Flatten_output_0 +//classifier/classifier.0/Flatten_output_0_scale +4/classifier/classifier.0/Flatten_output_0_zero_point?/classifier/classifier.0/Flatten_output_0_QuantizeLinear_Output8/classifier/classifier.0/Flatten_output_0_QuantizeLinear"QuantizeLinear: com.microsoft + +?/classifier/classifier.0/Flatten_output_0_QuantizeLinear_Output +//classifier/classifier.0/Flatten_output_0_scale +4/classifier/classifier.0/Flatten_output_0_zero_pointA/classifier/classifier.0/Flatten_output_0_DequantizeLinear_Output:/classifier/classifier.0/Flatten_output_0_DequantizeLinear"DequantizeLinear: com.microsoft + +A/classifier/classifier.0/Flatten_output_0_DequantizeLinear_Output ++classifier.1.weight_DequantizeLinear_Output +classifier.1.biasoutput_QuantizeLinear_Input/classifier/classifier.1/Gemm"Gemm* +alpha?* +beta?* +transB + +output_QuantizeLinear_Input + output_scale +output_zero_pointoutput_QuantizeLinear_Outputoutput_QuantizeLinear"QuantizeLinear: com.microsoft + +output_QuantizeLinear_Output + output_scale +output_zero_pointoutputoutput_DequantizeLinear"DequantizeLinear: com.microsoft +main_graph**Binput_zero_point*"XA8B input_scale* *Bonnx::Conv_497_zero_point*"4:BO/resnet/encoder/stages.1/layers.2/layer/layer.2/convolution/Conv_output_0_scale* *Bonnx::Conv_557_zero_point*" y${%{M."3%T /AD, -`,#**Bonnx::Conv_498_quantized_scaleJܥ5***B#onnx::Conv_498_quantized_zero_point*@Bonnx::Conv_501_quantizedJ~CG oDD&(8̂*:Z$OG+: S&oi#ui;^m rb8qXu3NV,^1kC_,ggpN`[8z**Bonnx::Conv_501_quantized_scaleJ 7***B#onnx::Conv_501_quantized_zero_point*@Bonnx::Conv_504_quantizedJ[ +F n+!;r PTM[-}*%VNTQAK[rBi1aЊ +~+<~bN$TP $Wg:VK2]`8up/ij%y-U**Bonnx::Conv_504_quantized_scaleJݡ6***B#onnx::Conv_504_quantized_zero_point*bBonnx::Conv_507_quantizedj +locationmodel.onnx.dataj +offset25502912j +length1024p**Bonnx::Conv_507_quantized_scaleJ'7***B#onnx::Conv_507_quantized_zero_point*bBonnx::Conv_510_quantizedj +locationmodel.onnx.dataj +offset25503936j +length1024p**Bonnx::Conv_510_quantized_scaleJ ,7***B#onnx::Conv_510_quantized_zero_point*@Bonnx::Conv_513_quantizedJ} y$;CӯYiQ> N +- Yg Zcq rjOb#{6mZ ca2ʥWdz'H4 **Bonnx::Conv_513_quantized_scaleJ;5***B#onnx::Conv_513_quantized_zero_point*@Bonnx::Conv_516_quantizedJ/!_ @8r] B N-# +Ā0#M{`&LKb mh z͇p0xOߝR,}aŜ +Ih&l[4 TYq :;J;_n5+g)90 **Bonnx::Conv_516_quantized_scaleJ 6***B#onnx::Conv_516_quantized_zero_point*bBonnx::Conv_519_quantizedj +locationmodel.onnx.dataj +offset25504960j +length1024p**Bonnx::Conv_519_quantized_scaleJL6***B#onnx::Conv_519_quantized_zero_point*@Bonnx::Conv_522_quantizedJZ % P?[ +Cx-][ j5i!\@ l} sBN p4IԷ7; *MY2DSi[60L;:)l vT' +.@ `; +8Aj'**Bonnx::Conv_522_quantized_scaleJ>6***B#onnx::Conv_522_quantized_zero_point*@Bonnx::Conv_525_quantizedJ#`ahV0Mt% +u7 +n"w9 DDBg3gu,9E FMUHA')(gMPbT9t#+ S )P!|**Bonnx::Conv_525_quantized_scaleJ,6***B#onnx::Conv_525_quantized_zero_point*bBonnx::Conv_528_quantizedj +locationmodel.onnx.dataj +offset25505984j +length1024p**Bonnx::Conv_528_quantized_scaleJD*7***B#onnx::Conv_528_quantized_zero_point*Bonnx::Conv_531_quantizedJ k2Ym1  yP"l/_p'/?5PwSxcYYd"[M Z +EPvM%QAo=qLY}ybv*u)f5.}H H pK9e2'@9oMlj( a{5D?qEi;,aw\{(tXrZs{_m,ͫ`&bơ;**Bonnx::Conv_531_quantized_scaleJ6***B#onnx::Conv_531_quantized_zero_point*Bonnx::Conv_534_quantizedJ'> +_OAH->mWQj }a-'#d& ?mQC7b;**Bonnx::Conv_546_quantized_scaleJT6***B#onnx::Conv_546_quantized_zero_point*bBonnx::Conv_549_quantizedj +locationmodel.onnx.dataj +offset25511104j +length2048p**Bonnx::Conv_549_quantized_scaleJ7***B#onnx::Conv_549_quantized_zero_point*Bonnx::Conv_552_quantizedJڭe  u0+7sa< םM9k iMg 3 M 1hZʦ! At {A |50J>JEePg 0 Mz /[ yyfvS<AATZg_VH +|t rH_|ݭ`F ' ):nvp gwTT%2kj)`H T 9MB v b:ȢSH8S  M8Ms`ON ku**Bonnx::Conv_552_quantized_scaleJ5***B#onnx::Conv_552_quantized_zero_point*Bonnx::Conv_555_quantizedJ?Z̤]Z[mma\wqTr{E[KMJ'пobJB\*H".'9rjnrHJZ~>4>=>փ 7YuO uR6SZ|5A [7pZrV ++s;8Put! 8[uܢ?q72Yd`tBt%j4}%UP? p2 Vj>K5wN?^#k (k]Xy5gQ9-PZ8 +:Bu  !| ~<'a6+C xvaHV\k@Wqs?@v)tZ +4JO +xAł NFD**Bonnx::Conv_561_quantized_scaleJb6***B#onnx::Conv_561_quantized_zero_point*Bonnx::Conv_564_quantizedJYs)L6ߠ\ZeZft_Z\4͋!4IQP sڏs$X, +:Zh me*p Xk{IiSB%'M"^x!S?HS3!\] .}e geY[ pl9A}o:b +[2 + + Sh-Qi#ӗ{tO7 _Ԩ:=|$M} 4lz +l.&f, ;$]} +C**Bonnx::Conv_564_quantized_scaleJ3y46***B#onnx::Conv_564_quantized_zero_point*bBonnx::Conv_567_quantizedj +locationmodel.onnx.dataj +offset25515200j +length2048p**Bonnx::Conv_567_quantized_scaleJ_7***B#onnx::Conv_567_quantized_zero_point*bBonnx::Conv_570_quantizedj +locationmodel.onnx.dataj +offset25517248j +length1024p**Bonnx::Conv_570_quantized_scaleJR6***B#onnx::Conv_570_quantized_zero_point*bBonnx::Conv_573_quantizedj +locationmodel.onnx.dataj +offset25518272j +length1024p**Bonnx::Conv_573_quantized_scaleJ&A5***B#onnx::Conv_573_quantized_zero_point*bBonnx::Conv_576_quantizedj +locationmodel.onnx.dataj +offset25519296j +length4096p**Bonnx::Conv_576_quantized_scaleJ܏u6***B#onnx::Conv_576_quantized_zero_point*bBonnx::Conv_579_quantizedj +locationmodel.onnx.dataj +offset25523392j +length4096p**Bonnx::Conv_579_quantized_scaleJ7***B#onnx::Conv_579_quantized_zero_point*bBonnx::Conv_582_quantizedj +locationmodel.onnx.dataj +offset25527488j +length1024p**Bonnx::Conv_582_quantized_scaleJ6***B#onnx::Conv_582_quantized_zero_point*bBonnx::Conv_585_quantizedj +locationmodel.onnx.dataj +offset25528512j +length1024p**Bonnx::Conv_585_quantized_scaleJ|@6***B#onnx::Conv_585_quantized_zero_point*bBonnx::Conv_588_quantizedj +locationmodel.onnx.dataj +offset25529536j +length4096p**Bonnx::Conv_588_quantized_scaleJR6***B#onnx::Conv_588_quantized_zero_point*bBonnx::Conv_591_quantizedj +locationmodel.onnx.dataj +offset25533632j +length1024p**Bonnx::Conv_591_quantized_scaleJ\6***B#onnx::Conv_591_quantized_zero_point*bBonnx::Conv_594_quantizedj +locationmodel.onnx.dataj +offset25534656j +length1024p**Bonnx::Conv_594_quantized_scaleJ5***B#onnx::Conv_594_quantized_zero_point*bBonnx::Conv_597_quantizedj +locationmodel.onnx.dataj +offset25535680j +length4096p**Bonnx::Conv_597_quantized_scaleJ 7***B#onnx::Conv_597_quantized_zero_point*bBonnx::Conv_600_quantizedj +locationmodel.onnx.dataj +offset25539776j +length1024p**Bonnx::Conv_600_quantized_scaleJP6***B#onnx::Conv_600_quantized_zero_point*bBonnx::Conv_603_quantizedj +locationmodel.onnx.dataj +offset25540800j +length1024p**Bonnx::Conv_603_quantized_scaleJ5***B#onnx::Conv_603_quantized_zero_point*bBonnx::Conv_606_quantizedj +locationmodel.onnx.dataj +offset25541824j +length4096p**Bonnx::Conv_606_quantized_scaleJ4RV7***B#onnx::Conv_606_quantized_zero_point*bBonnx::Conv_609_quantizedj +locationmodel.onnx.dataj +offset25545920j +length1024p**Bonnx::Conv_609_quantized_scaleJ?6***B#onnx::Conv_609_quantized_zero_point*bBonnx::Conv_612_quantizedj +locationmodel.onnx.dataj +offset25546944j +length1024p**Bonnx::Conv_612_quantized_scaleJS& 6***B#onnx::Conv_612_quantized_zero_point*bBonnx::Conv_615_quantizedj +locationmodel.onnx.dataj +offset25547968j +length4096p**Bonnx::Conv_615_quantized_scaleJ+6***B#onnx::Conv_615_quantized_zero_point*bBonnx::Conv_618_quantizedj +locationmodel.onnx.dataj +offset25552064j +length1024p**Bonnx::Conv_618_quantized_scaleJ)6***B#onnx::Conv_618_quantized_zero_point*bBonnx::Conv_621_quantizedj +locationmodel.onnx.dataj +offset25553088j +length1024p**Bonnx::Conv_621_quantized_scaleJ})5***B#onnx::Conv_621_quantized_zero_point*bBonnx::Conv_624_quantizedj +locationmodel.onnx.dataj +offset25554112j +length4096p**Bonnx::Conv_624_quantized_scaleJk7***B#onnx::Conv_624_quantized_zero_point*bBonnx::Conv_627_quantizedj +locationmodel.onnx.dataj +offset25558208j +length2048p**Bonnx::Conv_627_quantized_scaleJC4d6***B#onnx::Conv_627_quantized_zero_point*bBonnx::Conv_630_quantizedj +locationmodel.onnx.dataj +offset25560256j +length2048p**Bonnx::Conv_630_quantized_scaleJ\ř6***B#onnx::Conv_630_quantized_zero_point*bBonnx::Conv_633_quantizedj +locationmodel.onnx.dataj +offset25562304j +length8192p**Bonnx::Conv_633_quantized_scaleJ*6***B#onnx::Conv_633_quantized_zero_point*bBonnx::Conv_636_quantizedj +locationmodel.onnx.dataj +offset25570496j +length8192p**Bonnx::Conv_636_quantized_scaleJpX6***B#onnx::Conv_636_quantized_zero_point*bBonnx::Conv_639_quantizedj +locationmodel.onnx.dataj +offset25578688j +length2048p**Bonnx::Conv_639_quantized_scaleJ") + file(WRITE "${CMAKE_BINARY_DIR}/Directory.Build.targets" "") +elseif(CMAKE_GENERATOR MATCHES "^Ninja") + if(NOT (DEFINED ENV{Platform})) + message(FATAL_ERROR "When using the Ninja generator, you must build from a platform-specific Developer Command Prompt.") + endif() +endif() + +project(WinMLSamples LANGUAGES CXX) + +include(FetchContent) + +FetchContent_Declare( + NuGetCMakePackage + GIT_REPOSITORY https://github.com/mschofie/NuGetCMakePackage + GIT_TAG 02ea486e68554e9fcd85b819cd86377a9899ae6b +) + +FetchContent_MakeAvailable(NuGetCMakePackage) + +add_nuget_packages( + PACKAGES + Microsoft.Windows.CppWinRT 2.0.240405.15 + Microsoft.Windows.ImplementationLibrary 1.0.240803.1 + Microsoft.WindowsAppSDK.Foundation 1.8.250906002 + Microsoft.WindowsAppSDK.InteractiveExperiences 1.8.250906004 + Microsoft.WindowsAppSDK.ML 1.8.2091 + Microsoft.WindowsAppSDK.Runtime 1.8.250916003 +) + +find_package(Microsoft.Windows.ImplementationLibrary CONFIG REQUIRED) +find_package(Microsoft.WindowsAppSDK.ML CONFIG REQUIRED) + +set(RESNET_MODEL_FILES + ${CMAKE_SOURCE_DIR}/../Resources/ResNet50/model.Labels.txt + ${CMAKE_SOURCE_DIR}/../Resources/ResNet50/model.LICENSE.txt + ${CMAKE_SOURCE_DIR}/../Resources/ResNet50/model.onnx + ${CMAKE_SOURCE_DIR}/../Resources/ResNet50/model.onnx.data +) + +set(RESOURCE_FILES + ${CMAKE_SOURCE_DIR}/Resources/dog.jpg +) + +macro(post_build_runtime_dll_copy target_name) + if(WIN32) + add_custom_command(TARGET ${target_name} POST_BUILD + COMMAND "${CMAKE_COMMAND};-E;$>,copy;$;$,true>" + COMMAND_EXPAND_LISTS + ) + endif() +endmacro() + +# Common configuration +# +include(./Configuration.cmake) + +link_libraries(Configuration) + +# Subdirectories +# +add_subdirectory(ResNetCommon) +add_subdirectory(ResNetConsoleDesktop) +add_subdirectory(ResNetConsoleDesktop.SelfContained) diff --git a/Samples/WindowsML/cpp-cmake/CMakePresets.json b/Samples/WindowsML/cpp-cmake/CMakePresets.json new file mode 100644 index 000000000..d86d26c24 --- /dev/null +++ b/Samples/WindowsML/cpp-cmake/CMakePresets.json @@ -0,0 +1,66 @@ +{ + "version": 3, + "cmakeMinimumRequired": { + "major": 3, + "minor": 31, + "patch": 0 + }, + "configurePresets": [ + { + "name": "windows", + "binaryDir": "${sourceDir}/__output/${presetName}", + "hidden": true, + "cacheVariables": { + "CMAKE_MSVC_DEBUG_INFORMATION_FORMAT": "Embedded", + "CMAKE_SYSTEM_VERSION": "10.0.26100.0", + "CPPWINRT_PROJECTION_ROOT_PATH": "${sourceDir}/__cppwinrt", + "CPPWINRT_VERSION": "2.0.250303.1", + "NUGET_PACKAGE_ROOT_PATH": "${sourceDir}/__packages" + } + }, + { + "name": "windows-vs", + "inherits": "windows", + "hidden": true, + "displayName": "Windows Visual Studio Generator presets", + "generator": "Visual Studio 17 2022" + }, + { + "name": "windows-vs-x64", + "inherits": "windows-vs", + "displayName": "Windows, Visual Studio Generator, x64", + "architecture": "x64" + }, + { + "name": "windows-vs-arm64", + "inherits": "windows-vs", + "displayName": "Windows, Visual Studio Generator, arm64", + "architecture": "arm64" + }, + { + "name": "windows-msvc", + "binaryDir": "${sourceDir}/__output/${presetName}-$env{Platform}", + "inherits": "windows", + "displayName": "Windows MSVC/Ninja Generator presets", + "description": "Windows MSVC Ninja Multi-Config Generator", + "generator": "Ninja Multi-Config", + "cacheVariables": { + "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" + } + } + ], + "buildPresets": [ + { + "name": "windows-vs-x64", + "configurePreset": "windows-vs-x64" + }, + { + "name": "windows-vs-arm64", + "configurePreset": "windows-vs-arm64" + }, + { + "name": "windows-msvc", + "configurePreset": "windows-msvc" + } + ] +} diff --git a/Samples/WindowsML/cpp-cmake/Configuration.cmake b/Samples/WindowsML/cpp-cmake/Configuration.cmake new file mode 100644 index 000000000..a1e3339e1 --- /dev/null +++ b/Samples/WindowsML/cpp-cmake/Configuration.cmake @@ -0,0 +1,35 @@ +#---------------------------------------------------------------------------------------------------------------------- +# +#---------------------------------------------------------------------------------------------------------------------- +add_library(Configuration INTERFACE) + +target_compile_definitions(Configuration + INTERFACE + UNICODE + _UNICODE + NOMINMAX + WIN32_LEAN_AND_MEAN +) + +target_compile_features(Configuration + INTERFACE + cxx_std_23 +) + +target_compile_options(Configuration + INTERFACE + $<$:/d1nodatetime> + $<$:/EHsc> + $<$:/W3> + $<$:/Zc:__cplusplus> + $<$:/Zc:preprocessor> + $<$:$<$>:/GL>> + $<$:$<$>:/O2>> +) + +target_link_options(Configuration + INTERFACE + $<$:/MANIFEST:NO> + $<$:$<$>:/LTCG>> + $<$:$<$>:/INCREMENTAL:NO>> +) diff --git a/Samples/WindowsML/cpp-cmake/ResNetCommon/CMakeLists.txt b/Samples/WindowsML/cpp-cmake/ResNetCommon/CMakeLists.txt new file mode 100644 index 000000000..1bd817663 --- /dev/null +++ b/Samples/WindowsML/cpp-cmake/ResNetCommon/CMakeLists.txt @@ -0,0 +1,24 @@ +#---------------------------------------------------------------------------------------------------------------------- +# +#---------------------------------------------------------------------------------------------------------------------- +project(ResNetCommon LANGUAGES CXX) + +add_library(ResNetCommon STATIC + ResNetModelHelper.cpp +) + +target_precompile_headers(ResNetCommon + PRIVATE + pch.h +) + +target_include_directories(ResNetCommon + PUBLIC + ./include +) + +target_link_libraries(ResNetCommon + PRIVATE + Microsoft.Windows.CppWinRT + Microsoft.Windows.ImplementationLibrary +) diff --git a/Samples/WindowsML/cpp-cmake/ResNetCommon/ResNetModelHelper.cpp b/Samples/WindowsML/cpp-cmake/ResNetCommon/ResNetModelHelper.cpp new file mode 100644 index 000000000..6fb1840e3 --- /dev/null +++ b/Samples/WindowsML/cpp-cmake/ResNetCommon/ResNetModelHelper.cpp @@ -0,0 +1,225 @@ +#include "ResNetModelHelper.hpp" + +// clang-format off +#include +#include +// clang-format on + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace winrt::Windows::Foundation::Collections; +using namespace winrt::Windows::Graphics::Imaging; +using namespace winrt::Windows::Media; +using namespace winrt::Windows::Storage::Streams; +using namespace winrt::Windows::Storage; +using winrt::Windows::Foundation::IAsyncOperation; +using winrt::Windows::Foundation::IMemoryBufferReference; + +namespace ResNetModelHelper +{ + std::filesystem::path GetExecutablePath() + { + auto filePath = wil::GetModuleFileNameW(); + std::filesystem::path fil{filePath.get()}; + return fil; + } + + IAsyncOperation LoadImageFileAsync(winrt::hstring filePath) + { + StorageFile file = co_await StorageFile::GetFileFromPathAsync(filePath); + auto stream = co_await file.OpenAsync(FileAccessMode::Read); + BitmapDecoder decoder = co_await BitmapDecoder::CreateAsync(stream); + SoftwareBitmap softwareBitmap = co_await decoder.GetSoftwareBitmapAsync(); + + co_return softwareBitmap; + } + + std::vector BindSoftwareBitmapAsTensor(SoftwareBitmap const& bitmap) + { + SoftwareBitmap bitmapBgra8 = SoftwareBitmap::Convert(bitmap, BitmapPixelFormat::Bgra8, BitmapAlphaMode::Ignore); + + winrt::Windows::Storage::Streams::InMemoryRandomAccessStream stream = InMemoryRandomAccessStream(); + + BitmapEncoder encoder = BitmapEncoder::CreateAsync(BitmapEncoder::BmpEncoderId(), stream).get(); + encoder.SetSoftwareBitmap(bitmapBgra8); + encoder.BitmapTransform().ScaledWidth(224); + encoder.BitmapTransform().ScaledHeight(224); + encoder.BitmapTransform().InterpolationMode(BitmapInterpolationMode::Fant); + encoder.FlushAsync().get(); + + stream.Seek(0); + BitmapDecoder decoder = BitmapDecoder::CreateAsync(stream).get(); + SoftwareBitmap resizedBitmap = + decoder.GetSoftwareBitmapAsync(BitmapPixelFormat::Bgra8, BitmapAlphaMode::Ignore).get(); + + BitmapBuffer bitmapBuffer = resizedBitmap.LockBuffer(BitmapBufferAccessMode::Read); + + IMemoryBufferReference reference = bitmapBuffer.CreateReference(); + + auto spByteAccess = reference.as<::Windows::Foundation::IMemoryBufferByteAccess>(); + uint8_t* pixelData = nullptr; + uint32_t pixelDataCapacity = 0; + + spByteAccess->GetBuffer(&pixelData, &pixelDataCapacity); + + const int64_t channels = 3; // RGB + const int64_t height = 224; + const int64_t width = 224; + + std::vector tensorShape = {1, channels, height, width}; + std::vector tensorData(channels * height * width); + + for (int y = 0; y < height; ++y) + { + for (int x = 0; x < width; ++x) + { + int idx = (y * width + x) * 4; // BGRA stride + int offset = y * width + x; + + // Normalize using mean=[0.485, 0.456, 0.406] and std=[0.229, 0.224, 0.225] + float r = static_cast(pixelData[idx + 2]) / 255.0f; + float g = static_cast(pixelData[idx + 1]) / 255.0f; + float b = static_cast(pixelData[idx + 0]) / 255.0f; + + tensorData[0 * height * width + offset] = (r - 0.485f) / 0.229f; + tensorData[1 * height * width + offset] = (g - 0.456f) / 0.224f; + tensorData[2 * height * width + offset] = (b - 0.406f) / 0.225f; + } + } + return tensorData; + } + + std::vector LoadLabels(const std::filesystem::path& labelsPath) + { + std::ifstream labelFile{labelsPath, std::ifstream::in}; + if (labelFile.fail()) + { + throw std::runtime_error("Unable to load file."); + } + + std::vector labels; + for (std::string line; std::getline(labelFile, line);) + { + labels.push_back(line); + } + + return labels; + } + + std::vector Softmax(const std::vector& logits) + { + std::vector exps(logits.size()); + float maxLogit = *std::max_element(logits.begin(), logits.end()); + + float sum = 0.0f; + for (size_t i = 0; i < logits.size(); ++i) + { + exps[i] = std::exp(logits[i] - maxLogit); // stability trick + sum += exps[i]; + } + + for (float& val : exps) + { + val /= sum; + } + + return exps; + } + /* Simple IEEE 754 half-precision (float16) conversion utility in C/C++. Can be replaced with half.hpp or other FP16 + * libraries if available. */ + uint16_t Float32ToFloat16(float value) + { + uint32_t asInt; + memcpy(&asInt, &value, sizeof(value)); + + uint32_t sign = (asInt >> 16) & 0x8000; + uint32_t exponent = ((asInt >> 23) & 0xFF) - 127 + 15; + uint32_t mantissa = asInt & 0x007FFFFF; + + if (exponent <= 0) + { + return static_cast(sign); + } + else if (exponent >= 31) + { + return static_cast(sign | 0x7C00); // INF + } + + uint16_t half = static_cast(sign | (exponent << 10) | (mantissa >> 13)); + return half; + } + + std::vector ConvertFloat32ToFloat16(const std::vector& float32Data) + { + std::vector float16Data(float32Data.size()); + for (size_t i = 0; i < float32Data.size(); ++i) + { + float16Data[i] = Float32ToFloat16(float32Data[i]); + } + return float16Data; + } + + float Float16ToFloat32(uint16_t value) + { + uint32_t sign = (value >> 15) & 0x1; + uint32_t exponent = (value >> 10) & 0x1F; + uint32_t mantissa = value & 0x3FF; + + if (exponent == 0) + { + return static_cast((sign ? -1 : 1) * 0.0f); + } + else if (exponent == 31) + { + return (sign ? -1 : 1) * (mantissa == 0 ? std::numeric_limits::infinity() : std::nanf("")); + } + + exponent = exponent + (127 - 15); // Bias correction + mantissa = mantissa << 13; // Shift mantissa to float position + + uint32_t result = (sign << 31) | (exponent << 23) | mantissa; + return *reinterpret_cast(&result); + } + + std::vector ConvertFloat16ToFloat32(const std::vector& float16Data) + { + std::vector float32Data(float16Data.size()); + for (size_t i = 0; i < float16Data.size(); ++i) + { + float32Data[i] = Float16ToFloat32(float16Data[i]); + } + return float32Data; + } + + void PrintResults(const std::vector& labels, const std::vector& results) + { + // Use softmax to convert logits to probabilities + std::vector probabilities = Softmax(results); + + // Sort the results + std::vector> topResults; + for (size_t i = 0; i < probabilities.size(); ++i) + { + topResults.emplace_back(probabilities[i], static_cast(i)); + } + std::sort(topResults.begin(), topResults.end(), std::greater<>()); + + // Print the top 5 results + for (size_t i = 0; i < std::min(5, topResults.size()); ++i) + { + const auto& [probability, index] = topResults[i]; + std::cout << labels[index] << " with confidence of " << probability << "\n"; + } + } +} diff --git a/Samples/WindowsML/cpp-cmake/ResNetCommon/include/ResNetModelHelper.hpp b/Samples/WindowsML/cpp-cmake/ResNetCommon/include/ResNetModelHelper.hpp new file mode 100644 index 000000000..96528f525 --- /dev/null +++ b/Samples/WindowsML/cpp-cmake/ResNetCommon/include/ResNetModelHelper.hpp @@ -0,0 +1,27 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +namespace ResNetModelHelper +{ + std::filesystem::path GetExecutablePath(); + + winrt::Windows::Foundation::IAsyncOperation LoadImageFileAsync(winrt::hstring filePath); + + std::vector BindSoftwareBitmapAsTensor(const winrt::Windows::Graphics::Imaging::SoftwareBitmap& bitmap); + + std::vector LoadLabels(const std::filesystem::path& labelsPath); + + std::vector Softmax(const std::vector& logits); + + std::vector ConvertFloat32ToFloat16(const std::vector& float32Data); + + std::vector ConvertFloat16ToFloat32(const std::vector& float16Data); + + void PrintResults(const std::vector& labels, const std::vector& results); +} diff --git a/Samples/WindowsML/cpp-cmake/ResNetCommon/pch.h b/Samples/WindowsML/cpp-cmake/ResNetCommon/pch.h new file mode 100644 index 000000000..499f83520 --- /dev/null +++ b/Samples/WindowsML/cpp-cmake/ResNetCommon/pch.h @@ -0,0 +1,24 @@ +#pragma once + +// clang-format off +#include +#include +#include +#include +#include +// clang-format on + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include diff --git a/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop.SelfContained/CMakeLists.txt b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop.SelfContained/CMakeLists.txt new file mode 100644 index 000000000..7ecdea51b --- /dev/null +++ b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop.SelfContained/CMakeLists.txt @@ -0,0 +1,27 @@ +#---------------------------------------------------------------------------------------------------------------------- +# +#---------------------------------------------------------------------------------------------------------------------- +project(ResNetConsoleDesktop.SelfContained LANGUAGES CXX) + +add_executable(ResNetConsoleDesktop.SelfContained + app.manifest + main.cpp +) + +target_precompile_headers(ResNetConsoleDesktop.SelfContained + PRIVATE + pch.h +) + +target_link_libraries(ResNetConsoleDesktop.SelfContained + PRIVATE + ResNetCommon + Microsoft.WindowsAppSDK.ML_SelfContained # Use 'self-contained' mode. + Microsoft.Windows.ImplementationLibrary +) + +post_build_runtime_dll_copy(ResNetConsoleDesktop.SelfContained) + +add_custom_command(TARGET ResNetConsoleDesktop.SelfContained POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy -t $ ${RESNET_MODEL_FILES} ${RESOURCE_FILES} +) diff --git a/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop.SelfContained/app.manifest b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop.SelfContained/app.manifest new file mode 100644 index 000000000..42684b7f2 --- /dev/null +++ b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop.SelfContained/app.manifest @@ -0,0 +1,16 @@ + + + + + true/pm + permonitorv2,permonitor,unaware + + + + + + + + + + diff --git a/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop.SelfContained/main.cpp b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop.SelfContained/main.cpp new file mode 100644 index 000000000..c6ab9d040 --- /dev/null +++ b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop.SelfContained/main.cpp @@ -0,0 +1,164 @@ +#include "ResNetModelHelper.hpp" +#include "winml/onnxruntime_c_api.h" + +#include +#include +#include +#include +#include +#include +#include + +#include + +int wmain(int argc, wchar_t* argv[]) noexcept +{ + std::ignore = argc; + std::ignore = argv; + + try + { + winrt::init_apartment(); + Ort::Env env(ORT_LOGGING_LEVEL_ERROR, "CppConsoleDesktop"); + + // Use WinML to download and register Execution Providers + winrt::Microsoft::Windows::AI::MachineLearning::ExecutionProviderCatalog catalog = + winrt::Microsoft::Windows::AI::MachineLearning::ExecutionProviderCatalog::GetDefault(); + auto providers = catalog.FindAllProviders(); + for (const auto& provider : providers) + { + std::wcout << L"Provider : " << std::wstring_view{provider.Name()} << L'\n'; + std::wcout << L" ReadyState : " << std::to_underlying(provider.ReadyState()) << L'\n'; + winrt::Windows::Foundation::IAsyncOperationWithProgress action = provider.EnsureReadyAsync(); + + action.Progress([](const auto& sender, double progress) { + std::wcout << L" Progress : " << progress << L"%\n"; + }); + + action.get(); + provider.TryRegister(); + } + + std::vector devices = env.GetEpDevices(); + std::wcout << L"ONNX providers registered: \n"; + for (const Ort::ConstEpDevice& device : devices) + { + std::cout << device.EpName() << "\n"; + } + + // Set the auto EP selection policy + Ort::SessionOptions sessionOptions; + sessionOptions.SetEpSelectionPolicy(OrtExecutionProviderDevicePolicy_PREFER_CPU); + + // Prepare paths for model and labels + const std::filesystem::path executableFolder = ResNetModelHelper::GetExecutablePath().parent_path(); + const std::filesystem::path modelPath = executableFolder / L"model.onnx"; + const std::filesystem::path labelsPath = executableFolder / L"model.Labels.txt"; + const std::filesystem::path inputImagePath = executableFolder / L"dog.jpg"; + const std::filesystem::path compiledModelPath = executableFolder / L"model_ctx.onnx"; + + bool isCompiledModelAvailable = std::filesystem::exists(compiledModelPath); + if (isCompiledModelAvailable) + { + std::wcout << L"Using compiled model: " << compiledModelPath.wstring() << L'\n'; + } + else + { + std::wcout << L"No compiled model found, attempting to create compiled model at " << compiledModelPath.wstring() << L'\n'; + + Ort::ModelCompilationOptions compile_options(env, sessionOptions); + compile_options.SetInputModelPath(modelPath.c_str()); + compile_options.SetOutputModelPath(compiledModelPath.c_str()); + + std::wcout << L"Starting compile, this may take a few moments...\n"; + Ort::Status compileStatus = Ort::CompileModel(env, compile_options); + if (compileStatus.IsOK()) + { + // Calculate the duration in minutes / seconds / milliseconds + std::wcout << L"Model compiled successfully!\n"; + isCompiledModelAvailable = std::filesystem::exists(compiledModelPath); + } + else + { + std::cerr << "Failed to compile model: " << compileStatus.GetErrorCode() << ", " + << compileStatus.GetErrorMessage() << std::endl; + std::wcerr << "Falling back to uncompiled model\n"; + } + } + std::filesystem::path modelPathToUse = isCompiledModelAvailable ? compiledModelPath : modelPath; + + // Create the session and load the model + Ort::Session session(env, modelPathToUse.c_str(), sessionOptions); + + // Load and Preprocess image + winrt::hstring imagePath{inputImagePath.c_str()}; + + auto inputInfo = session.GetInputTypeInfo(0).GetTensorTypeAndShapeInfo(); + auto inputType = inputInfo.GetElementType(); + + auto imageFrameResult = ResNetModelHelper::LoadImageFileAsync(imagePath); + auto inputTensorData = ResNetModelHelper::BindSoftwareBitmapAsTensor(imageFrameResult.get()); + + auto inputShape = std::array{1, 3, 224, 224}; + auto memoryInfo = Ort::MemoryInfo::CreateCpu(OrtArenaAllocator, OrtMemTypeDefault); + std::vector rawInputBytes; + + if (inputType == ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT16) + { + auto converted = ResNetModelHelper::ConvertFloat32ToFloat16(inputTensorData); + rawInputBytes.assign( + reinterpret_cast(converted.data()), + reinterpret_cast(converted.data()) + converted.size() * sizeof(uint16_t)); + } + else + { + rawInputBytes.assign( + reinterpret_cast(inputTensorData.data()), + reinterpret_cast(inputTensorData.data()) + inputTensorData.size() * sizeof(float)); + } + + OrtValue* ortValue = nullptr; + + Ort::ThrowOnError( + Ort::GetApi().CreateTensorWithDataAsOrtValue( + memoryInfo, rawInputBytes.data(), rawInputBytes.size(), inputShape.data(), inputShape.size(), inputType, &ortValue)); + Ort::Value inputTensor{ortValue}; + + // Get input/output names + Ort::AllocatorWithDefaultOptions allocator; + auto inputName = session.GetInputNameAllocated(0, allocator); + auto outputName = session.GetOutputNameAllocated(0, allocator); + std::array inputNames = {inputName.get()}; + std::array outputNames = {outputName.get()}; + + // Run inference + auto outputTensors = session.Run(Ort::RunOptions{nullptr}, inputNames.data(), &inputTensor, 1, outputNames.data(), 1); + + // Extract results + std::vector results; + if (inputType == ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT16) + { + auto outputData = outputTensors[0].GetTensorMutableData(); + size_t outputSize = outputTensors[0].GetTensorTypeAndShapeInfo().GetElementCount(); + std::vector outputFloat16(outputData, outputData + outputSize); + results = ResNetModelHelper::ConvertFloat16ToFloat32(outputFloat16); + } + else + { + auto outputData = outputTensors[0].GetTensorMutableData(); + size_t outputSize = outputTensors[0].GetTensorTypeAndShapeInfo().GetElementCount(); + results.assign(outputData, outputData + outputSize); + } + + // Load labels and print result + auto labels = ResNetModelHelper::LoadLabels(labelsPath); + ResNetModelHelper::PrintResults(labels, results); + } + catch (const std::exception& ex) + { + std::cerr << "Error: " << ex.what() << "\n"; + return -1; + } + + return 0; +} diff --git a/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop.SelfContained/pch.h b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop.SelfContained/pch.h new file mode 100644 index 000000000..2eff3c4f0 --- /dev/null +++ b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop.SelfContained/pch.h @@ -0,0 +1,24 @@ +#pragma once + +// clang-format off +#include +#include +#include +#include +// clang-format on + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include diff --git a/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop/CMakeLists.txt b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop/CMakeLists.txt new file mode 100644 index 000000000..0ec02612f --- /dev/null +++ b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop/CMakeLists.txt @@ -0,0 +1,27 @@ +#---------------------------------------------------------------------------------------------------------------------- +# +#---------------------------------------------------------------------------------------------------------------------- +project(ResNetConsoleDesktop LANGUAGES CXX) + +add_executable(ResNetConsoleDesktop + app.manifest + main.cpp +) + +target_precompile_headers(ResNetConsoleDesktop + PRIVATE + pch.h +) + +target_link_libraries(ResNetConsoleDesktop + PRIVATE + ResNetCommon + Microsoft.WindowsAppSDK.ML_Framework # Use 'framework' mode. + Microsoft.Windows.ImplementationLibrary +) + +post_build_runtime_dll_copy(ResNetConsoleDesktop) + +add_custom_command(TARGET ResNetConsoleDesktop POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy -t $ ${RESNET_MODEL_FILES} ${RESOURCE_FILES} +) diff --git a/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop/app.manifest b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop/app.manifest new file mode 100644 index 000000000..42684b7f2 --- /dev/null +++ b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop/app.manifest @@ -0,0 +1,16 @@ + + + + + true/pm + permonitorv2,permonitor,unaware + + + + + + + + + + diff --git a/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop/main.cpp b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop/main.cpp new file mode 100644 index 000000000..86e4321b3 --- /dev/null +++ b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop/main.cpp @@ -0,0 +1,173 @@ +#include "ResNetModelHelper.hpp" +#include "winml/onnxruntime_c_api.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +int wmain(int argc, wchar_t* argv[]) noexcept +{ + std::ignore = argc; + std::ignore = argv; + + try + { + // Initialize WinML runtime first. This will add the necessary package dependencies to the process, and initialize the OnnxRuntime. + Microsoft::Windows::AI::MachineLearning::WinMLRuntime winmlRuntime; + if (FAILED(winmlRuntime.GetHResult())) + { + std::cerr << "Failed to initialize WinML runtime: " << std::hex << winmlRuntime.GetHResult() << std::endl; + return -1; + } + + winrt::init_apartment(); + Ort::Env env(ORT_LOGGING_LEVEL_ERROR, "CppConsoleDesktop"); + + // Use WinML to download and register Execution Providers + winrt::Microsoft::Windows::AI::MachineLearning::ExecutionProviderCatalog catalog = + winrt::Microsoft::Windows::AI::MachineLearning::ExecutionProviderCatalog::GetDefault(); + auto providers = catalog.FindAllProviders(); + for (const auto& provider : providers) + { + std::wcout << L"Provider : " << std::wstring_view{provider.Name()} << L'\n'; + std::wcout << L" ReadyState : " << std::to_underlying(provider.ReadyState()) << L'\n'; + winrt::Windows::Foundation::IAsyncOperationWithProgress action = provider.EnsureReadyAsync(); + + action.Progress([](const auto& sender, double progress) { + std::wcout << L" Progress : " << progress << L"%\n"; + }); + + action.get(); + provider.TryRegister(); + } + + std::vector devices = env.GetEpDevices(); + std::wcout << L"ONNX providers registered: \n"; + for (const Ort::ConstEpDevice& device : devices) + { + std::cout << device.EpName() << "\n"; + } + + // Set the auto EP selection policy + Ort::SessionOptions sessionOptions; + sessionOptions.SetEpSelectionPolicy(OrtExecutionProviderDevicePolicy_PREFER_CPU); + + // Prepare paths for model and labels + const std::filesystem::path executableFolder = ResNetModelHelper::GetExecutablePath().parent_path(); + const std::filesystem::path modelPath = executableFolder / L"model.onnx"; + const std::filesystem::path labelsPath = executableFolder / L"model.Labels.txt"; + const std::filesystem::path inputImagePath = executableFolder / L"dog.jpg"; + const std::filesystem::path compiledModelPath = executableFolder / L"model_ctx.onnx"; + + bool isCompiledModelAvailable = std::filesystem::exists(compiledModelPath); + if (isCompiledModelAvailable) + { + std::wcout << L"Using compiled model: " << compiledModelPath.wstring() << L'\n'; + } + else + { + std::wcout << L"No compiled model found, attempting to create compiled model at " << compiledModelPath.wstring() << L'\n'; + + Ort::ModelCompilationOptions compile_options(env, sessionOptions); + compile_options.SetInputModelPath(modelPath.c_str()); + compile_options.SetOutputModelPath(compiledModelPath.c_str()); + + std::wcout << L"Starting compile, this may take a few moments...\n"; + Ort::Status compileStatus = Ort::CompileModel(env, compile_options); + if (compileStatus.IsOK()) + { + // Calculate the duration in minutes / seconds / milliseconds + std::wcout << L"Model compiled successfully!\n"; + isCompiledModelAvailable = std::filesystem::exists(compiledModelPath); + } + else + { + std::cerr << "Failed to compile model: " << compileStatus.GetErrorCode() << ", " + << compileStatus.GetErrorMessage() << std::endl; + std::wcerr << "Falling back to uncompiled model\n"; + } + } + std::filesystem::path modelPathToUse = isCompiledModelAvailable ? compiledModelPath : modelPath; + + // Create the session and load the model + Ort::Session session(env, modelPathToUse.c_str(), sessionOptions); + + // Load and Preprocess image + winrt::hstring imagePath{inputImagePath.c_str()}; + + auto inputInfo = session.GetInputTypeInfo(0).GetTensorTypeAndShapeInfo(); + auto inputType = inputInfo.GetElementType(); + + auto imageFrameResult = ResNetModelHelper::LoadImageFileAsync(imagePath); + auto inputTensorData = ResNetModelHelper::BindSoftwareBitmapAsTensor(imageFrameResult.get()); + + auto inputShape = std::array{1, 3, 224, 224}; + auto memoryInfo = Ort::MemoryInfo::CreateCpu(OrtArenaAllocator, OrtMemTypeDefault); + std::vector rawInputBytes; + + if (inputType == ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT16) + { + auto converted = ResNetModelHelper::ConvertFloat32ToFloat16(inputTensorData); + rawInputBytes.assign( + reinterpret_cast(converted.data()), + reinterpret_cast(converted.data()) + converted.size() * sizeof(uint16_t)); + } + else + { + rawInputBytes.assign( + reinterpret_cast(inputTensorData.data()), + reinterpret_cast(inputTensorData.data()) + inputTensorData.size() * sizeof(float)); + } + + OrtValue* ortValue = nullptr; + + Ort::ThrowOnError( + Ort::GetApi().CreateTensorWithDataAsOrtValue( + memoryInfo, rawInputBytes.data(), rawInputBytes.size(), inputShape.data(), inputShape.size(), inputType, &ortValue)); + Ort::Value inputTensor{ortValue}; + + // Get input/output names + Ort::AllocatorWithDefaultOptions allocator; + auto inputName = session.GetInputNameAllocated(0, allocator); + auto outputName = session.GetOutputNameAllocated(0, allocator); + std::array inputNames = {inputName.get()}; + std::array outputNames = {outputName.get()}; + + // Run inference + auto outputTensors = session.Run(Ort::RunOptions{nullptr}, inputNames.data(), &inputTensor, 1, outputNames.data(), 1); + + // Extract results + std::vector results; + if (inputType == ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT16) + { + auto outputData = outputTensors[0].GetTensorMutableData(); + size_t outputSize = outputTensors[0].GetTensorTypeAndShapeInfo().GetElementCount(); + std::vector outputFloat16(outputData, outputData + outputSize); + results = ResNetModelHelper::ConvertFloat16ToFloat32(outputFloat16); + } + else + { + auto outputData = outputTensors[0].GetTensorMutableData(); + size_t outputSize = outputTensors[0].GetTensorTypeAndShapeInfo().GetElementCount(); + results.assign(outputData, outputData + outputSize); + } + + // Load labels and print result + auto labels = ResNetModelHelper::LoadLabels(labelsPath); + ResNetModelHelper::PrintResults(labels, results); + } + catch (const std::exception& ex) + { + std::cerr << "Error: " << ex.what() << "\n"; + return -1; + } + + return 0; +} diff --git a/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop/pch.h b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop/pch.h new file mode 100644 index 000000000..2eff3c4f0 --- /dev/null +++ b/Samples/WindowsML/cpp-cmake/ResNetConsoleDesktop/pch.h @@ -0,0 +1,24 @@ +#pragma once + +// clang-format off +#include +#include +#include +#include +// clang-format on + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include diff --git a/Samples/WindowsML/cpp-cmake/Resources/dog.jpg b/Samples/WindowsML/cpp-cmake/Resources/dog.jpg new file mode 100644 index 000000000..3a20c37d3 Binary files /dev/null and b/Samples/WindowsML/cpp-cmake/Resources/dog.jpg differ diff --git a/Samples/WindowsML/cpp-cmake/readme.md b/Samples/WindowsML/cpp-cmake/readme.md new file mode 100644 index 000000000..5703d71ad --- /dev/null +++ b/Samples/WindowsML/cpp-cmake/readme.md @@ -0,0 +1,47 @@ +# Windows ML C++ CMake Samples + +## Overview + +This folder contains samples showing how to consume WindowsML from C++ using a CMake-based build. + +## Getting Started + +In addition to the requirements called out in [the repository README.md](../../../README.md), the CMake builds require CMake 3.31 or higher. You can install CMake on Windows using WinGet with: + +```powershell +winget install --id Kitware.CMake --source winget +``` + +To build the samples using Ninja, then Ninja needs to be installed. See for more details. You can install Ninja on Windows using WinGet with: + +```powershell +winget install --id Ninja-build.Ninja --source winget +``` + +## Building + +The samples use `CMakePresets.json` to describe the build and configuration presets that can be used. There are two types of presets, those that use the 'Visual Studio 17 2022' generator and those that use the 'Ninja Multi-Config' generator. Visual Studio generator presets can be built from any environment. The Ninja Multi-Config generator presets have to be built from a platform-specific Visual Studio command prompt. Create a platform-specific build prompt by running - for example: + +```cmd +C:\Program Files\Microsoft Visual Studio\2022\Enterprise\vc\Auxiliary\Build\vcvars64.bat +``` + +for an x64 build, or: + +```cmd +C:\Program Files\Microsoft Visual Studio\2022\Enterprise\vc\Auxiliary\Build\vcvarsamd64_arm64.bat +``` + +for an arm64 cross-compiling prompt on an x64 OS. + +In order to build a given preset, simply run the CMake 'configuration' step: + +```powershell +cmake --preset +``` + +Followed by the CMake 'build' step: + +```powershell +cmake --build --preset +```