{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["# Transfer Learning with ONNX\n", "\n", "The notebooks retrieve the already converted onnx model for [SqueezeNet](https://github.com/onnx/models/tree/master/vision/classification/squeezenet) and uses it in a pipeline created with [scikit-learn](https://scikit-learn.org/stable/)."]}, {"cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [{"data": {"text/html": ["
run previous cell, wait for 2 seconds
\n", ""], "text/plain": [""]}, "execution_count": 2, "metadata": {}, "output_type": "execute_result"}], "source": ["from jyquickhelper import add_notebook_menu\n", "add_notebook_menu()"]}, {"cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": ["%matplotlib inline"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Retrieve the ONNX model"]}, {"cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": ["import os\n", "from pyensae.datasource import download_data\n", "\n", "src = (\"https://s3.amazonaws.com/onnx-model-zoo/mobilenet/\"\n", " \"mobilenetv2-1.0/\")\n", "model_file = \"mobilenetv2-1.0.onnx\"\n", "src = \"https://s3.amazonaws.com/onnx-model-zoo/squeezenet/squeezenet1.1/\"\n", "model_file = \"squeezenet1.1.onnx\"\n", "\n", "if not os.path.exists(model_file):\n", " print(\"Download '{0}'...\".format(model_file))\n", " download_data(model_file, website=src)\n", " print(\"Done.\")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## An image"]}, {"cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": [""]}, "execution_count": 5, "metadata": {}, "output_type": "execute_result"}], "source": ["from PIL import Image\n", "\n", "img_path = \"800px-Tour_Eiffel_Wikimedia_Commons_(cropped).jpg\"\n", "image = Image.open(img_path)\n", "image.reduce(4)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## ImageNet classes\n", "\n", "Next cell is only about the list of class names associated to the *ImageNet* competition. Better to jump to the next part."]}, {"cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": ["class_names = {\n", " 0: 'tench, Tinca tinca',\n", " 1: 'goldfish, Carassius auratus',\n", " 2: 'great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias',\n", " 3: 'tiger shark, Galeocerdo cuvieri',\n", " 4: 'hammerhead, hammerhead shark',\n", " 5: 'electric ray, crampfish, numbfish, torpedo',\n", " 6: 'stingray',\n", " 7: 'cock',\n", " 8: 'hen',\n", " 9: 'ostrich, Struthio camelus',\n", " 10: 'brambling, Fringilla montifringilla',\n", " 11: 'goldfinch, Carduelis carduelis',\n", " 12: 'house finch, linnet, Carpodacus mexicanus',\n", " 13: 'junco, snowbird',\n", " 14: 'indigo bunting, indigo finch, indigo bird, Passerina cyanea',\n", " 15: 'robin, American robin, Turdus migratorius',\n", " 16: 'bulbul',\n", " 17: 'jay',\n", " 18: 'magpie',\n", " 19: 'chickadee',\n", " 20: 'water ouzel, dipper',\n", " 21: 'kite',\n", " 22: 'bald eagle, American eagle, Haliaeetus leucocephalus',\n", " 23: 'vulture',\n", " 24: 'great grey owl, great gray owl, Strix nebulosa',\n", " 25: 'European fire salamander, Salamandra salamandra',\n", " 26: 'common newt, Triturus vulgaris',\n", " 27: 'eft',\n", " 28: 'spotted salamander, Ambystoma maculatum',\n", " 29: 'axolotl, mud puppy, Ambystoma mexicanum',\n", " 30: 'bullfrog, Rana catesbeiana',\n", " 31: 'tree frog, tree-frog',\n", " 32: 'tailed frog, bell toad, ribbed toad, tailed toad, Ascaphus trui',\n", " 33: 'loggerhead, loggerhead turtle, Caretta caretta',\n", " 34: 'leatherback turtle, leatherback, leathery turtle, Dermochelys coriacea',\n", " 35: 'mud turtle',\n", " 36: 'terrapin',\n", " 37: 'box turtle, box tortoise',\n", " 38: 'banded gecko',\n", " 39: 'common iguana, iguana, Iguana iguana',\n", " 40: 'American chameleon, anole, Anolis carolinensis',\n", " 41: 'whiptail, whiptail lizard',\n", " 42: 'agama',\n", " 43: 'frilled lizard, Chlamydosaurus kingi',\n", " 44: 'alligator lizard',\n", " 45: 'Gila monster, Heloderma suspectum',\n", " 46: 'green lizard, Lacerta viridis',\n", " 47: 'African chameleon, Chamaeleo chamaeleon',\n", " 48: 'Komodo dragon, Komodo lizard, dragon lizard, giant lizard, Varanus komodoensis',\n", " 49: 'African crocodile, Nile crocodile, Crocodylus niloticus',\n", " 50: 'American alligator, Alligator mississipiensis',\n", " 51: 'triceratops',\n", " 52: 'thunder snake, worm snake, Carphophis amoenus',\n", " 53: 'ringneck snake, ring-necked snake, ring snake',\n", " 54: 'hognose snake, puff adder, sand viper',\n", " 55: 'green snake, grass snake',\n", " 56: 'king snake, kingsnake',\n", " 57: 'garter snake, grass snake',\n", " 58: 'water snake',\n", " 59: 'vine snake',\n", " 60: 'night snake, Hypsiglena torquata',\n", " 61: 'boa constrictor, Constrictor constrictor',\n", " 62: 'rock python, rock snake, Python sebae',\n", " 63: 'Indian cobra, Naja naja',\n", " 64: 'green mamba',\n", " 65: 'sea snake',\n", " 66: 'horned viper, cerastes, sand viper, horned asp, Cerastes cornutus',\n", " 67: 'diamondback, diamondback rattlesnake, Crotalus adamanteus',\n", " 68: 'sidewinder, horned rattlesnake, Crotalus cerastes',\n", " 69: 'trilobite',\n", " 70: 'harvestman, daddy longlegs, Phalangium opilio',\n", " 71: 'scorpion',\n", " 72: 'black and gold garden spider, Argiope aurantia',\n", " 73: 'barn spider, Araneus cavaticus',\n", " 74: 'garden spider, Aranea diademata',\n", " 75: 'black widow, Latrodectus mactans',\n", " 76: 'tarantula',\n", " 77: 'wolf spider, hunting spider',\n", " 78: 'tick',\n", " 79: 'centipede',\n", " 80: 'black grouse',\n", " 81: 'ptarmigan',\n", " 82: 'ruffed grouse, partridge, Bonasa umbellus',\n", " 83: 'prairie chicken, prairie grouse, prairie fowl',\n", " 84: 'peacock',\n", " 85: 'quail',\n", " 86: 'partridge',\n", " 87: 'African grey, African gray, Psittacus erithacus',\n", " 88: 'macaw',\n", " 89: 'sulphur-crested cockatoo, Kakatoe galerita, Cacatua galerita',\n", " 90: 'lorikeet',\n", " 91: 'coucal',\n", " 92: 'bee eater',\n", " 93: 'hornbill',\n", " 94: 'hummingbird',\n", " 95: 'jacamar',\n", " 96: 'toucan',\n", " 97: 'drake',\n", " 98: 'red-breasted merganser, Mergus serrator',\n", " 99: 'goose',\n", " 100: 'black swan, Cygnus atratus',\n", " 101: 'tusker',\n", " 102: 'echidna, spiny anteater, anteater',\n", " 103: 'platypus, duckbill, duckbilled platypus, duck-billed platypus, Ornithorhynchus anatinus',\n", " 104: 'wallaby, brush kangaroo',\n", " 105: 'koala, koala bear, kangaroo bear, native bear, Phascolarctos cinereus',\n", " 106: 'wombat',\n", " 107: 'jellyfish',\n", " 108: 'sea anemone, anemone',\n", " 109: 'brain coral',\n", " 110: 'flatworm, platyhelminth',\n", " 111: 'nematode, nematode worm, roundworm',\n", " 112: 'conch',\n", " 113: 'snail',\n", " 114: 'slug',\n", " 115: 'sea slug, nudibranch',\n", " 116: 'chiton, coat-of-mail shell, sea cradle, polyplacophore',\n", " 117: 'chambered nautilus, pearly nautilus, nautilus',\n", " 118: 'Dungeness crab, Cancer magister',\n", " 119: 'rock crab, Cancer irroratus',\n", " 120: 'fiddler crab',\n", " 121: 'king crab, Alaska crab, Alaskan king crab, Alaska king crab, Paralithodes camtschatica',\n", " 122: 'American lobster, Northern lobster, Maine lobster, Homarus americanus',\n", " 123: 'spiny lobster, langouste, rock lobster, crawfish, crayfish, sea crawfish',\n", " 124: 'crayfish, crawfish, crawdad, crawdaddy',\n", " 125: 'hermit crab',\n", " 126: 'isopod',\n", " 127: 'white stork, Ciconia ciconia',\n", " 128: 'black stork, Ciconia nigra',\n", " 129: 'spoonbill',\n", " 130: 'flamingo',\n", " 131: 'little blue heron, Egretta caerulea',\n", " 132: 'American egret, great white heron, Egretta albus',\n", " 133: 'bittern',\n", " 134: 'crane',\n", " 135: 'limpkin, Aramus pictus',\n", " 136: 'European gallinule, Porphyrio porphyrio',\n", " 137: 'American coot, marsh hen, mud hen, water hen, Fulica americana',\n", " 138: 'bustard',\n", " 139: 'ruddy turnstone, Arenaria interpres',\n", " 140: 'red-backed sandpiper, dunlin, Erolia alpina',\n", " 141: 'redshank, Tringa totanus',\n", " 142: 'dowitcher',\n", " 143: 'oystercatcher, oyster catcher',\n", " 144: 'pelican',\n", " 145: 'king penguin, Aptenodytes patagonica',\n", " 146: 'albatross, mollymawk',\n", " 147: 'grey whale, gray whale, devilfish, Eschrichtius gibbosus, Eschrichtius robustus',\n", " 148: 'killer whale, killer, orca, grampus, sea wolf, Orcinus orca',\n", " 149: 'dugong, Dugong dugon',\n", " 150: 'sea lion',\n", " 151: 'Chihuahua',\n", " 152: 'Japanese spaniel',\n", " 153: 'Maltese dog, Maltese terrier, Maltese',\n", " 154: 'Pekinese, Pekingese, Peke',\n", " 155: 'Shih-Tzu',\n", " 156: 'Blenheim spaniel',\n", " 157: 'papillon',\n", " 158: 'toy terrier',\n", " 159: 'Rhodesian ridgeback',\n", " 160: 'Afghan hound, Afghan',\n", " 161: 'basset, basset hound',\n", " 162: 'beagle',\n", " 163: 'bloodhound, sleuthhound',\n", " 164: 'bluetick',\n", " 165: 'black-and-tan coonhound',\n", " 166: 'Walker hound, Walker foxhound',\n", " 167: 'English foxhound',\n", " 168: 'redbone',\n", " 169: 'borzoi, Russian wolfhound',\n", " 170: 'Irish wolfhound',\n", " 171: 'Italian greyhound',\n", " 172: 'whippet',\n", " 173: 'Ibizan hound, Ibizan Podenco',\n", " 174: 'Norwegian elkhound, elkhound',\n", " 175: 'otterhound, otter hound',\n", " 176: 'Saluki, gazelle hound',\n", " 177: 'Scottish deerhound, deerhound',\n", " 178: 'Weimaraner',\n", " 179: 'Staffordshire bullterrier, Staffordshire bull terrier',\n", " 180: 'American Staffordshire terrier, Staffordshire terrier, American pit bull terrier, pit bull terrier',\n", " 181: 'Bedlington terrier',\n", " 182: 'Border terrier',\n", " 183: 'Kerry blue terrier',\n", " 184: 'Irish terrier',\n", " 185: 'Norfolk terrier',\n", " 186: 'Norwich terrier',\n", " 187: 'Yorkshire terrier',\n", " 188: 'wire-haired fox terrier',\n", " 189: 'Lakeland terrier',\n", " 190: 'Sealyham terrier, Sealyham',\n", " 191: 'Airedale, Airedale terrier',\n", " 192: 'cairn, cairn terrier',\n", " 193: 'Australian terrier',\n", " 194: 'Dandie Dinmont, Dandie Dinmont terrier',\n", " 195: 'Boston bull, Boston terrier',\n", " 196: 'miniature schnauzer',\n", " 197: 'giant schnauzer',\n", " 198: 'standard schnauzer',\n", " 199: 'Scotch terrier, Scottish terrier, Scottie',\n", " 200: 'Tibetan terrier, chrysanthemum dog',\n", " 201: 'silky terrier, Sydney silky',\n", " 202: 'soft-coated wheaten terrier',\n", " 203: 'West Highland white terrier',\n", " 204: 'Lhasa, Lhasa apso',\n", " 205: 'flat-coated retriever',\n", " 206: 'curly-coated retriever',\n", " 207: 'golden retriever',\n", " 208: 'Labrador retriever',\n", " 209: 'Chesapeake Bay retriever',\n", " 210: 'German short-haired pointer',\n", " 211: 'vizsla, Hungarian pointer',\n", " 212: 'English setter',\n", " 213: 'Irish setter, red setter',\n", " 214: 'Gordon setter',\n", " 215: 'Brittany spaniel',\n", " 216: 'clumber, clumber spaniel',\n", " 217: 'English springer, English springer spaniel',\n", " 218: 'Welsh springer spaniel',\n", " 219: 'cocker spaniel, English cocker spaniel, cocker',\n", " 220: 'Sussex spaniel',\n", " 221: 'Irish water spaniel',\n", " 222: 'kuvasz',\n", " 223: 'schipperke',\n", " 224: 'groenendael',\n", " 225: 'malinois',\n", " 226: 'briard',\n", " 227: 'kelpie',\n", " 228: 'komondor',\n", " 229: 'Old English sheepdog, bobtail',\n", " 230: 'Shetland sheepdog, Shetland sheep dog, Shetland',\n", " 231: 'collie',\n", " 232: 'Border collie',\n", " 233: 'Bouvier des Flandres, Bouviers des Flandres',\n", " 234: 'Rottweiler',\n", " 235: 'German shepherd, German shepherd dog, German police dog, alsatian',\n", " 236: 'Doberman, Doberman pinscher',\n", " 237: 'miniature pinscher',\n", " 238: 'Greater Swiss Mountain dog',\n", " 239: 'Bernese mountain dog',\n", " 240: 'Appenzeller',\n", " 241: 'EntleBucher',\n", " 242: 'boxer',\n", " 243: 'bull mastiff',\n", " 244: 'Tibetan mastiff',\n", " 245: 'French bulldog',\n", " 246: 'Great Dane',\n", " 247: 'Saint Bernard, St Bernard',\n", " 248: 'Eskimo dog, husky',\n", " 249: 'malamute, malemute, Alaskan malamute',\n", " 250: 'Siberian husky',\n", " 251: 'dalmatian, coach dog, carriage dog',\n", " 252: 'affenpinscher, monkey pinscher, monkey dog',\n", " 253: 'basenji',\n", " 254: 'pug, pug-dog',\n", " 255: 'Leonberg',\n", " 256: 'Newfoundland, Newfoundland dog',\n", " 257: 'Great Pyrenees',\n", " 258: 'Samoyed, Samoyede',\n", " 259: 'Pomeranian',\n", " 260: 'chow, chow chow',\n", " 261: 'keeshond',\n", " 262: 'Brabancon griffon',\n", " 263: 'Pembroke, Pembroke Welsh corgi',\n", " 264: 'Cardigan, Cardigan Welsh corgi',\n", " 265: 'toy poodle',\n", " 266: 'miniature poodle',\n", " 267: 'standard poodle',\n", " 268: 'Mexican hairless',\n", " 269: 'timber wolf, grey wolf, gray wolf, Canis lupus',\n", " 270: 'white wolf, Arctic wolf, Canis lupus tundrarum',\n", " 271: 'red wolf, maned wolf, Canis rufus, Canis niger',\n", " 272: 'coyote, prairie wolf, brush wolf, Canis latrans',\n", " 273: 'dingo, warrigal, warragal, Canis dingo',\n", " 274: 'dhole, Cuon alpinus',\n", " 275: 'African hunting dog, hyena dog, Cape hunting dog, Lycaon pictus',\n", " 276: 'hyena, hyaena',\n", " 277: 'red fox, Vulpes vulpes',\n", " 278: 'kit fox, Vulpes macrotis',\n", " 279: 'Arctic fox, white fox, Alopex lagopus',\n", " 280: 'grey fox, gray fox, Urocyon cinereoargenteus',\n", " 281: 'tabby, tabby cat',\n", " 282: 'tiger cat',\n", " 283: 'Persian cat',\n", " 284: 'Siamese cat, Siamese',\n", " 285: 'Egyptian cat',\n", " 286: 'cougar, puma, catamount, mountain lion, painter, panther, Felis concolor',\n", " 287: 'lynx, catamount',\n", " 288: 'leopard, Panthera pardus',\n", " 289: 'snow leopard, ounce, Panthera uncia',\n", " 290: 'jaguar, panther, Panthera onca, Felis onca',\n", " 291: 'lion, king of beasts, Panthera leo',\n", " 292: 'tiger, Panthera tigris',\n", " 293: 'cheetah, chetah, Acinonyx jubatus',\n", " 294: 'brown bear, bruin, Ursus arctos',\n", " 295: 'American black bear, black bear, Ursus americanus, Euarctos americanus',\n", " 296: 'ice bear, polar bear, Ursus Maritimus, Thalarctos maritimus',\n", " 297: 'sloth bear, Melursus ursinus, Ursus ursinus',\n", " 298: 'mongoose',\n", " 299: 'meerkat, mierkat',\n", " 300: 'tiger beetle',\n", " 301: 'ladybug, ladybeetle, lady beetle, ladybird, ladybird beetle',\n", " 302: 'ground beetle, carabid beetle',\n", " 303: 'long-horned beetle, longicorn, longicorn beetle',\n", " 304: 'leaf beetle, chrysomelid',\n", " 305: 'dung beetle',\n", " 306: 'rhinoceros beetle',\n", " 307: 'weevil',\n", " 308: 'fly',\n", " 309: 'bee',\n", " 310: 'ant, emmet, pismire',\n", " 311: 'grasshopper, hopper',\n", " 312: 'cricket',\n", " 313: 'walking stick, walkingstick, stick insect',\n", " 314: 'cockroach, roach',\n", " 315: 'mantis, mantid',\n", " 316: 'cicada, cicala',\n", " 317: 'leafhopper',\n", " 318: 'lacewing, lacewing fly',\n", " 319: \"dragonfly, darning needle, devil's darning needle, sewing needle, snake feeder, snake doctor, mosquito hawk, skeeter hawk\",\n", " 320: 'damselfly',\n", " 321: 'admiral',\n", " 322: 'ringlet, ringlet butterfly',\n", " 323: 'monarch, monarch butterfly, milkweed butterfly, Danaus plexippus',\n", " 324: 'cabbage butterfly',\n", " 325: 'sulphur butterfly, sulfur butterfly',\n", " 326: 'lycaenid, lycaenid butterfly',\n", " 327: 'starfish, sea star',\n", " 328: 'sea urchin',\n", " 329: 'sea cucumber, holothurian',\n", " 330: 'wood rabbit, cottontail, cottontail rabbit',\n", " 331: 'hare',\n", " 332: 'Angora, Angora rabbit',\n", " 333: 'hamster',\n", " 334: 'porcupine, hedgehog',\n", " 335: 'fox squirrel, eastern fox squirrel, Sciurus niger',\n", " 336: 'marmot',\n", " 337: 'beaver',\n", " 338: 'guinea pig, Cavia cobaya',\n", " 339: 'sorrel',\n", " 340: 'zebra',\n", " 341: 'hog, pig, grunter, squealer, Sus scrofa',\n", " 342: 'wild boar, boar, Sus scrofa',\n", " 343: 'warthog',\n", " 344: 'hippopotamus, hippo, river horse, Hippopotamus amphibius',\n", " 345: 'ox',\n", " 346: 'water buffalo, water ox, Asiatic buffalo, Bubalus bubalis',\n", " 347: 'bison',\n", " 348: 'ram, tup',\n", " 349: 'bighorn, bighorn sheep, cimarron, Rocky Mountain bighorn, Rocky Mountain sheep, Ovis canadensis',\n", " 350: 'ibex, Capra ibex',\n", " 351: 'hartebeest',\n", " 352: 'impala, Aepyceros melampus',\n", " 353: 'gazelle',\n", " 354: 'Arabian camel, dromedary, Camelus dromedarius',\n", " 355: 'llama',\n", " 356: 'weasel',\n", " 357: 'mink',\n", " 358: 'polecat, fitch, foulmart, foumart, Mustela putorius',\n", " 359: 'black-footed ferret, ferret, Mustela nigripes',\n", " 360: 'otter',\n", " 361: 'skunk, polecat, wood pussy',\n", " 362: 'badger',\n", " 363: 'armadillo',\n", " 364: 'three-toed sloth, ai, Bradypus tridactylus',\n", " 365: 'orangutan, orang, orangutang, Pongo pygmaeus',\n", " 366: 'gorilla, Gorilla gorilla',\n", " 367: 'chimpanzee, chimp, Pan troglodytes',\n", " 368: 'gibbon, Hylobates lar',\n", " 369: 'siamang, Hylobates syndactylus, Symphalangus syndactylus',\n", " 370: 'guenon, guenon monkey',\n", " 371: 'patas, hussar monkey, Erythrocebus patas',\n", " 372: 'baboon',\n", " 373: 'macaque',\n", " 374: 'langur',\n", " 375: 'colobus, colobus monkey',\n", " 376: 'proboscis monkey, Nasalis larvatus',\n", " 377: 'marmoset',\n", " 378: 'capuchin, ringtail, Cebus capucinus',\n", " 379: 'howler monkey, howler',\n", " 380: 'titi, titi monkey',\n", " 381: 'spider monkey, Ateles geoffroyi',\n", " 382: 'squirrel monkey, Saimiri sciureus',\n", " 383: 'Madagascar cat, ring-tailed lemur, Lemur catta',\n", " 384: 'indri, indris, Indri indri, Indri brevicaudatus',\n", " 385: 'Indian elephant, Elephas maximus',\n", " 386: 'African elephant, Loxodonta africana',\n", " 387: 'lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens',\n", " 388: 'giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca',\n", " 389: 'barracouta, snoek',\n", " 390: 'eel',\n", " 391: 'coho, cohoe, coho salmon, blue jack, silver salmon, Oncorhynchus kisutch',\n", " 392: 'rock beauty, Holocanthus tricolor',\n", " 393: 'anemone fish',\n", " 394: 'sturgeon',\n", " 395: 'gar, garfish, garpike, billfish, Lepisosteus osseus',\n", " 396: 'lionfish',\n", " 397: 'puffer, pufferfish, blowfish, globefish',\n", " 398: 'abacus',\n", " 399: 'abaya',\n", " 400: \"academic gown, academic robe, judge's robe\",\n", " 401: 'accordion, piano accordion, squeeze box',\n", " 402: 'acoustic guitar',\n", " 403: 'aircraft carrier, carrier, flattop, attack aircraft carrier',\n", " 404: 'airliner',\n", " 405: 'airship, dirigible',\n", " 406: 'altar',\n", " 407: 'ambulance',\n", " 408: 'amphibian, amphibious vehicle',\n", " 409: 'analog clock',\n", " 410: 'apiary, bee house',\n", " 411: 'apron',\n", " 412: 'ashcan, trash can, garbage can, wastebin, ash bin, ash-bin, ashbin, dustbin, trash barrel, trash bin',\n", " 413: 'assault rifle, assault gun',\n", " 414: 'backpack, back pack, knapsack, packsack, rucksack, haversack',\n", " 415: 'bakery, bakeshop, bakehouse',\n", " 416: 'balance beam, beam',\n", " 417: 'balloon',\n", " 418: 'ballpoint, ballpoint pen, ballpen, Biro',\n", " 419: 'Band Aid',\n", " 420: 'banjo',\n", " 421: 'bannister, banister, balustrade, balusters, handrail',\n", " 422: 'barbell',\n", " 423: 'barber chair',\n", " 424: 'barbershop',\n", " 425: 'barn',\n", " 426: 'barometer',\n", " 427: 'barrel, cask',\n", " 428: 'barrow, garden cart, lawn cart, wheelbarrow',\n", " 429: 'baseball',\n", " 430: 'basketball',\n", " 431: 'bassinet',\n", " 432: 'bassoon',\n", " 433: 'bathing cap, swimming cap',\n", " 434: 'bath towel',\n", " 435: 'bathtub, bathing tub, bath, tub',\n", " 436: 'beach wagon, station wagon, wagon, estate car, beach waggon, station waggon, waggon',\n", " 437: 'beacon, lighthouse, beacon light, pharos',\n", " 438: 'beaker',\n", " 439: 'bearskin, busby, shako',\n", " 440: 'beer bottle',\n", " 441: 'beer glass',\n", " 442: 'bell cote, bell cot',\n", " 443: 'bib',\n", " 444: 'bicycle-built-for-two, tandem bicycle, tandem',\n", " 445: 'bikini, two-piece',\n", " 446: 'binder, ring-binder',\n", " 447: 'binoculars, field glasses, opera glasses',\n", " 448: 'birdhouse',\n", " 449: 'boathouse',\n", " 450: 'bobsled, bobsleigh, bob',\n", " 451: 'bolo tie, bolo, bola tie, bola',\n", " 452: 'bonnet, poke bonnet',\n", " 453: 'bookcase',\n", " 454: 'bookshop, bookstore, bookstall',\n", " 455: 'bottlecap',\n", " 456: 'bow',\n", " 457: 'bow tie, bow-tie, bowtie',\n", " 458: 'brass, memorial tablet, plaque',\n", " 459: 'brassiere, bra, bandeau',\n", " 460: 'breakwater, groin, groyne, mole, bulwark, seawall, jetty',\n", " 461: 'breastplate, aegis, egis',\n", " 462: 'broom',\n", " 463: 'bucket, pail',\n", " 464: 'buckle',\n", " 465: 'bulletproof vest',\n", " 466: 'bullet train, bullet',\n", " 467: 'butcher shop, meat market',\n", " 468: 'cab, hack, taxi, taxicab',\n", " 469: 'caldron, cauldron',\n", " 470: 'candle, taper, wax light',\n", " 471: 'cannon',\n", " 472: 'canoe',\n", " 473: 'can opener, tin opener',\n", " 474: 'cardigan',\n", " 475: 'car mirror',\n", " 476: 'carousel, carrousel, merry-go-round, roundabout, whirligig',\n", " 477: \"carpenter's kit, tool kit\",\n", " 478: 'carton',\n", " 479: 'car wheel',\n", " 480: 'cash machine, cash dispenser, automated teller machine, automatic teller machine, automated teller, automatic teller, ATM',\n", " 481: 'cassette',\n", " 482: 'cassette player',\n", " 483: 'castle',\n", " 484: 'catamaran',\n", " 485: 'CD player',\n", " 486: 'cello, violoncello',\n", " 487: 'cellular telephone, cellular phone, cellphone, cell, mobile phone',\n", " 488: 'chain',\n", " 489: 'chainlink fence',\n", " 490: 'chain mail, ring mail, mail, chain armor, chain armour, ring armor, ring armour',\n", " 491: 'chain saw, chainsaw',\n", " 492: 'chest',\n", " 493: 'chiffonier, commode',\n", " 494: 'chime, bell, gong',\n", " 495: 'china cabinet, china closet',\n", " 496: 'Christmas stocking',\n", " 497: 'church, church building',\n", " 498: 'cinema, movie theater, movie theatre, movie house, picture palace',\n", " 499: 'cleaver, meat cleaver, chopper',\n", " 500: 'cliff dwelling',\n", " 501: 'cloak',\n", " 502: 'clog, geta, patten, sabot',\n", " 503: 'cocktail shaker',\n", " 504: 'coffee mug',\n", " 505: 'coffeepot',\n", " 506: 'coil, spiral, volute, whorl, helix',\n", " 507: 'combination lock',\n", " 508: 'computer keyboard, keypad',\n", " 509: 'confectionery, confectionary, candy store',\n", " 510: 'container ship, containership, container vessel',\n", " 511: 'convertible',\n", " 512: 'corkscrew, bottle screw',\n", " 513: 'cornet, horn, trumpet, trump',\n", " 514: 'cowboy boot',\n", " 515: 'cowboy hat, ten-gallon hat',\n", " 516: 'cradle',\n", " 517: 'crane',\n", " 518: 'crash helmet',\n", " 519: 'crate',\n", " 520: 'crib, cot',\n", " 521: 'Crock Pot',\n", " 522: 'croquet ball',\n", " 523: 'crutch',\n", " 524: 'cuirass',\n", " 525: 'dam, dike, dyke',\n", " 526: 'desk',\n", " 527: 'desktop computer',\n", " 528: 'dial telephone, dial phone',\n", " 529: 'diaper, nappy, napkin',\n", " 530: 'digital clock',\n", " 531: 'digital watch',\n", " 532: 'dining table, board',\n", " 533: 'dishrag, dishcloth',\n", " 534: 'dishwasher, dish washer, dishwashing machine',\n", " 535: 'disk brake, disc brake',\n", " 536: 'dock, dockage, docking facility',\n", " 537: 'dogsled, dog sled, dog sleigh',\n", " 538: 'dome',\n", " 539: 'doormat, welcome mat',\n", " 540: 'drilling platform, offshore rig',\n", " 541: 'drum, membranophone, tympan',\n", " 542: 'drumstick',\n", " 543: 'dumbbell',\n", " 544: 'Dutch oven',\n", " 545: 'electric fan, blower',\n", " 546: 'electric guitar',\n", " 547: 'electric locomotive',\n", " 548: 'entertainment center',\n", " 549: 'envelope',\n", " 550: 'espresso maker',\n", " 551: 'face powder',\n", " 552: 'feather boa, boa',\n", " 553: 'file, file cabinet, filing cabinet',\n", " 554: 'fireboat',\n", " 555: 'fire engine, fire truck',\n", " 556: 'fire screen, fireguard',\n", " 557: 'flagpole, flagstaff',\n", " 558: 'flute, transverse flute',\n", " 559: 'folding chair',\n", " 560: 'football helmet',\n", " 561: 'forklift',\n", " 562: 'fountain',\n", " 563: 'fountain pen',\n", " 564: 'four-poster',\n", " 565: 'freight car',\n", " 566: 'French horn, horn',\n", " 567: 'frying pan, frypan, skillet',\n", " 568: 'fur coat',\n", " 569: 'garbage truck, dustcart',\n", " 570: 'gasmask, respirator, gas helmet',\n", " 571: 'gas pump, gasoline pump, petrol pump, island dispenser',\n", " 572: 'goblet',\n", " 573: 'go-kart',\n", " 574: 'golf ball',\n", " 575: 'golfcart, golf cart',\n", " 576: 'gondola',\n", " 577: 'gong, tam-tam',\n", " 578: 'gown',\n", " 579: 'grand piano, grand',\n", " 580: 'greenhouse, nursery, glasshouse',\n", " 581: 'grille, radiator grille',\n", " 582: 'grocery store, grocery, food market, market',\n", " 583: 'guillotine',\n", " 584: 'hair slide',\n", " 585: 'hair spray',\n", " 586: 'half track',\n", " 587: 'hammer',\n", " 588: 'hamper',\n", " 589: 'hand blower, blow dryer, blow drier, hair dryer, hair drier',\n", " 590: 'hand-held computer, hand-held microcomputer',\n", " 591: 'handkerchief, hankie, hanky, hankey',\n", " 592: 'hard disc, hard disk, fixed disk',\n", " 593: 'harmonica, mouth organ, harp, mouth harp',\n", " 594: 'harp',\n", " 595: 'harvester, reaper',\n", " 596: 'hatchet',\n", " 597: 'holster',\n", " 598: 'home theater, home theatre',\n", " 599: 'honeycomb',\n", " 600: 'hook, claw',\n", " 601: 'hoopskirt, crinoline',\n", " 602: 'horizontal bar, high bar',\n", " 603: 'horse cart, horse-cart',\n", " 604: 'hourglass',\n", " 605: 'iPod',\n", " 606: 'iron, smoothing iron',\n", " 607: \"jack-o'-lantern\",\n", " 608: 'jean, blue jean, denim',\n", " 609: 'jeep, landrover',\n", " 610: 'jersey, T-shirt, tee shirt',\n", " 611: 'jigsaw puzzle',\n", " 612: 'jinrikisha, ricksha, rickshaw',\n", " 613: 'joystick',\n", " 614: 'kimono',\n", " 615: 'knee pad',\n", " 616: 'knot',\n", " 617: 'lab coat, laboratory coat',\n", " 618: 'ladle',\n", " 619: 'lampshade, lamp shade',\n", " 620: 'laptop, laptop computer',\n", " 621: 'lawn mower, mower',\n", " 622: 'lens cap, lens cover',\n", " 623: 'letter opener, paper knife, paperknife',\n", " 624: 'library',\n", " 625: 'lifeboat',\n", " 626: 'lighter, light, igniter, ignitor',\n", " 627: 'limousine, limo',\n", " 628: 'liner, ocean liner',\n", " 629: 'lipstick, lip rouge',\n", " 630: 'Loafer',\n", " 631: 'lotion',\n", " 632: 'loudspeaker, speaker, speaker unit, loudspeaker system, speaker system',\n", " 633: \"loupe, jeweler's loupe\",\n", " 634: 'lumbermill, sawmill',\n", " 635: 'magnetic compass',\n", " 636: 'mailbag, postbag',\n", " 637: 'mailbox, letter box',\n", " 638: 'maillot',\n", " 639: 'maillot, tank suit',\n", " 640: 'manhole cover',\n", " 641: 'maraca',\n", " 642: 'marimba, xylophone',\n", " 643: 'mask',\n", " 644: 'matchstick',\n", " 645: 'maypole',\n", " 646: 'maze, labyrinth',\n", " 647: 'measuring cup',\n", " 648: 'medicine chest, medicine cabinet',\n", " 649: 'megalith, megalithic structure',\n", " 650: 'microphone, mike',\n", " 651: 'microwave, microwave oven',\n", " 652: 'military uniform',\n", " 653: 'milk can',\n", " 654: 'minibus',\n", " 655: 'miniskirt, mini',\n", " 656: 'minivan',\n", " 657: 'missile',\n", " 658: 'mitten',\n", " 659: 'mixing bowl',\n", " 660: 'mobile home, manufactured home',\n", " 661: 'Model T',\n", " 662: 'modem',\n", " 663: 'monastery',\n", " 664: 'monitor',\n", " 665: 'moped',\n", " 666: 'mortar',\n", " 667: 'mortarboard',\n", " 668: 'mosque',\n", " 669: 'mosquito net',\n", " 670: 'motor scooter, scooter',\n", " 671: 'mountain bike, all-terrain bike, off-roader',\n", " 672: 'mountain tent',\n", " 673: 'mouse, computer mouse',\n", " 674: 'mousetrap',\n", " 675: 'moving van',\n", " 676: 'muzzle',\n", " 677: 'nail',\n", " 678: 'neck brace',\n", " 679: 'necklace',\n", " 680: 'nipple',\n", " 681: 'notebook, notebook computer',\n", " 682: 'obelisk',\n", " 683: 'oboe, hautboy, hautbois',\n", " 684: 'ocarina, sweet potato',\n", " 685: 'odometer, hodometer, mileometer, milometer',\n", " 686: 'oil filter',\n", " 687: 'organ, pipe organ',\n", " 688: 'oscilloscope, scope, cathode-ray oscilloscope, CRO',\n", " 689: 'overskirt',\n", " 690: 'oxcart',\n", " 691: 'oxygen mask',\n", " 692: 'packet',\n", " 693: 'paddle, boat paddle',\n", " 694: 'paddlewheel, paddle wheel',\n", " 695: 'padlock',\n", " 696: 'paintbrush',\n", " 697: \"pajama, pyjama, pj's, jammies\",\n", " 698: 'palace',\n", " 699: 'panpipe, pandean pipe, syrinx',\n", " 700: 'paper towel',\n", " 701: 'parachute, chute',\n", " 702: 'parallel bars, bars',\n", " 703: 'park bench',\n", " 704: 'parking meter',\n", " 705: 'passenger car, coach, carriage',\n", " 706: 'patio, terrace',\n", " 707: 'pay-phone, pay-station',\n", " 708: 'pedestal, plinth, footstall',\n", " 709: 'pencil box, pencil case',\n", " 710: 'pencil sharpener',\n", " 711: 'perfume, essence',\n", " 712: 'Petri dish',\n", " 713: 'photocopier',\n", " 714: 'pick, plectrum, plectron',\n", " 715: 'pickelhaube',\n", " 716: 'picket fence, paling',\n", " 717: 'pickup, pickup truck',\n", " 718: 'pier',\n", " 719: 'piggy bank, penny bank',\n", " 720: 'pill bottle',\n", " 721: 'pillow',\n", " 722: 'ping-pong ball',\n", " 723: 'pinwheel',\n", " 724: 'pirate, pirate ship',\n", " 725: 'pitcher, ewer',\n", " 726: \"plane, carpenter's plane, woodworking plane\",\n", " 727: 'planetarium',\n", " 728: 'plastic bag',\n", " 729: 'plate rack',\n", " 730: 'plow, plough',\n", " 731: \"plunger, plumber's helper\",\n", " 732: 'Polaroid camera, Polaroid Land camera',\n", " 733: 'pole',\n", " 734: 'police van, police wagon, paddy wagon, patrol wagon, wagon, black Maria',\n", " 735: 'poncho',\n", " 736: 'pool table, billiard table, snooker table',\n", " 737: 'pop bottle, soda bottle',\n", " 738: 'pot, flowerpot',\n", " 739: \"potter's wheel\",\n", " 740: 'power drill',\n", " 741: 'prayer rug, prayer mat',\n", " 742: 'printer',\n", " 743: 'prison, prison house',\n", " 744: 'projectile, missile',\n", " 745: 'projector',\n", " 746: 'puck, hockey puck',\n", " 747: 'punching bag, punch bag, punching ball, punchball',\n", " 748: 'purse',\n", " 749: 'quill, quill pen',\n", " 750: 'quilt, comforter, comfort, puff',\n", " 751: 'racer, race car, racing car',\n", " 752: 'racket, racquet',\n", " 753: 'radiator',\n", " 754: 'radio, wireless',\n", " 755: 'radio telescope, radio reflector',\n", " 756: 'rain barrel',\n", " 757: 'recreational vehicle, RV, R.V.',\n", " 758: 'reel',\n", " 759: 'reflex camera',\n", " 760: 'refrigerator, icebox',\n", " 761: 'remote control, remote',\n", " 762: 'restaurant, eating house, eating place, eatery',\n", " 763: 'revolver, six-gun, six-shooter',\n", " 764: 'rifle',\n", " 765: 'rocking chair, rocker',\n", " 766: 'rotisserie',\n", " 767: 'rubber eraser, rubber, pencil eraser',\n", " 768: 'rugby ball',\n", " 769: 'rule, ruler',\n", " 770: 'running shoe',\n", " 771: 'safe',\n", " 772: 'safety pin',\n", " 773: 'saltshaker, salt shaker',\n", " 774: 'sandal',\n", " 775: 'sarong',\n", " 776: 'sax, saxophone',\n", " 777: 'scabbard',\n", " 778: 'scale, weighing machine',\n", " 779: 'school bus',\n", " 780: 'schooner',\n", " 781: 'scoreboard',\n", " 782: 'screen, CRT screen',\n", " 783: 'screw',\n", " 784: 'screwdriver',\n", " 785: 'seat belt, seatbelt',\n", " 786: 'sewing machine',\n", " 787: 'shield, buckler',\n", " 788: 'shoe shop, shoe-shop, shoe store',\n", " 789: 'shoji',\n", " 790: 'shopping basket',\n", " 791: 'shopping cart',\n", " 792: 'shovel',\n", " 793: 'shower cap',\n", " 794: 'shower curtain',\n", " 795: 'ski',\n", " 796: 'ski mask',\n", " 797: 'sleeping bag',\n", " 798: 'slide rule, slipstick',\n", " 799: 'sliding door',\n", " 800: 'slot, one-armed bandit',\n", " 801: 'snorkel',\n", " 802: 'snowmobile',\n", " 803: 'snowplow, snowplough',\n", " 804: 'soap dispenser',\n", " 805: 'soccer ball',\n", " 806: 'sock',\n", " 807: 'solar dish, solar collector, solar furnace',\n", " 808: 'sombrero',\n", " 809: 'soup bowl',\n", " 810: 'space bar',\n", " 811: 'space heater',\n", " 812: 'space shuttle',\n", " 813: 'spatula',\n", " 814: 'speedboat',\n", " 815: \"spider web, spider's web\",\n", " 816: 'spindle',\n", " 817: 'sports car, sport car',\n", " 818: 'spotlight, spot',\n", " 819: 'stage',\n", " 820: 'steam locomotive',\n", " 821: 'steel arch bridge',\n", " 822: 'steel drum',\n", " 823: 'stethoscope',\n", " 824: 'stole',\n", " 825: 'stone wall',\n", " 826: 'stopwatch, stop watch',\n", " 827: 'stove',\n", " 828: 'strainer',\n", " 829: 'streetcar, tram, tramcar, trolley, trolley car',\n", " 830: 'stretcher',\n", " 831: 'studio couch, day bed',\n", " 832: 'stupa, tope',\n", " 833: 'submarine, pigboat, sub, U-boat',\n", " 834: 'suit, suit of clothes',\n", " 835: 'sundial',\n", " 836: 'sunglass',\n", " 837: 'sunglasses, dark glasses, shades',\n", " 838: 'sunscreen, sunblock, sun blocker',\n", " 839: 'suspension bridge',\n", " 840: 'swab, swob, mop',\n", " 841: 'sweatshirt',\n", " 842: 'swimming trunks, bathing trunks',\n", " 843: 'swing',\n", " 844: 'switch, electric switch, electrical switch',\n", " 845: 'syringe',\n", " 846: 'table lamp',\n", " 847: 'tank, army tank, armored combat vehicle, armoured combat vehicle',\n", " 848: 'tape player',\n", " 849: 'teapot',\n", " 850: 'teddy, teddy bear',\n", " 851: 'television, television system',\n", " 852: 'tennis ball',\n", " 853: 'thatch, thatched roof',\n", " 854: 'theater curtain, theatre curtain',\n", " 855: 'thimble',\n", " 856: 'thresher, thrasher, threshing machine',\n", " 857: 'throne',\n", " 858: 'tile roof',\n", " 859: 'toaster',\n", " 860: 'tobacco shop, tobacconist shop, tobacconist',\n", " 861: 'toilet seat',\n", " 862: 'torch',\n", " 863: 'totem pole',\n", " 864: 'tow truck, tow car, wrecker',\n", " 865: 'toyshop',\n", " 866: 'tractor',\n", " 867: 'trailer truck, tractor trailer, trucking rig, rig, articulated lorry, semi',\n", " 868: 'tray',\n", " 869: 'trench coat',\n", " 870: 'tricycle, trike, velocipede',\n", " 871: 'trimaran',\n", " 872: 'tripod',\n", " 873: 'triumphal arch',\n", " 874: 'trolleybus, trolley coach, trackless trolley',\n", " 875: 'trombone',\n", " 876: 'tub, vat',\n", " 877: 'turnstile',\n", " 878: 'typewriter keyboard',\n", " 879: 'umbrella',\n", " 880: 'unicycle, monocycle',\n", " 881: 'upright, upright piano',\n", " 882: 'vacuum, vacuum cleaner',\n", " 883: 'vase',\n", " 884: 'vault',\n", " 885: 'velvet',\n", " 886: 'vending machine',\n", " 887: 'vestment',\n", " 888: 'viaduct',\n", " 889: 'violin, fiddle',\n", " 890: 'volleyball',\n", " 891: 'waffle iron',\n", " 892: 'wall clock',\n", " 893: 'wallet, billfold, notecase, pocketbook',\n", " 894: 'wardrobe, closet, press',\n", " 895: 'warplane, military plane',\n", " 896: 'washbasin, handbasin, washbowl, lavabo, wash-hand basin',\n", " 897: 'washer, automatic washer, washing machine',\n", " 898: 'water bottle',\n", " 899: 'water jug',\n", " 900: 'water tower',\n", " 901: 'whiskey jug',\n", " 902: 'whistle',\n", " 903: 'wig',\n", " 904: 'window screen',\n", " 905: 'window shade',\n", " 906: 'Windsor tie',\n", " 907: 'wine bottle',\n", " 908: 'wing',\n", " 909: 'wok',\n", " 910: 'wooden spoon',\n", " 911: 'wool, woolen, woollen',\n", " 912: 'worm fence, snake fence, snake-rail fence, Virginia fence',\n", " 913: 'wreck',\n", " 914: 'yawl',\n", " 915: 'yurt',\n", " 916: 'web site, website, internet site, site',\n", " 917: 'comic book',\n", " 918: 'crossword puzzle, crossword',\n", " 919: 'street sign',\n", " 920: 'traffic light, traffic signal, stoplight',\n", " 921: 'book jacket, dust cover, dust jacket, dust wrapper',\n", " 922: 'menu',\n", " 923: 'plate',\n", " 924: 'guacamole',\n", " 925: 'consomme',\n", " 926: 'hot pot, hotpot',\n", " 927: 'trifle',\n", " 928: 'ice cream, icecream',\n", " 929: 'ice lolly, lolly, lollipop, popsicle',\n", " 930: 'French loaf',\n", " 931: 'bagel, beigel',\n", " 932: 'pretzel',\n", " 933: 'cheeseburger',\n", " 934: 'hotdog, hot dog, red hot',\n", " 935: 'mashed potato',\n", " 936: 'head cabbage',\n", " 937: 'broccoli',\n", " 938: 'cauliflower',\n", " 939: 'zucchini, courgette',\n", " 940: 'spaghetti squash',\n", " 941: 'acorn squash',\n", " 942: 'butternut squash',\n", " 943: 'cucumber, cuke',\n", " 944: 'artichoke, globe artichoke',\n", " 945: 'bell pepper',\n", " 946: 'cardoon',\n", " 947: 'mushroom',\n", " 948: 'Granny Smith',\n", " 949: 'strawberry',\n", " 950: 'orange',\n", " 951: 'lemon',\n", " 952: 'fig',\n", " 953: 'pineapple, ananas',\n", " 954: 'banana',\n", " 955: 'jackfruit, jak, jack',\n", " 956: 'custard apple',\n", " 957: 'pomegranate',\n", " 958: 'hay',\n", " 959: 'carbonara',\n", " 960: 'chocolate sauce, chocolate syrup',\n", " 961: 'dough',\n", " 962: 'meat loaf, meatloaf',\n", " 963: 'pizza, pizza pie',\n", " 964: 'potpie',\n", " 965: 'burrito',\n", " 966: 'red wine',\n", " 967: 'espresso',\n", " 968: 'cup',\n", " 969: 'eggnog',\n", " 970: 'alp',\n", " 971: 'bubble',\n", " 972: 'cliff, drop, drop-off',\n", " 973: 'coral reef',\n", " 974: 'geyser',\n", " 975: 'lakeside, lakeshore',\n", " 976: 'promontory, headland, head, foreland',\n", " 977: 'sandbar, sand bar',\n", " 978: 'seashore, coast, seacoast, sea-coast',\n", " 979: 'valley, vale',\n", " 980: 'volcano',\n", " 981: 'ballplayer, baseball player',\n", " 982: 'groom, bridegroom',\n", " 983: 'scuba diver',\n", " 984: 'rapeseed',\n", " 985: 'daisy',\n", " 986: \"yellow lady's slipper, yellow lady-slipper, Cypripedium calceolus, Cypripedium parviflorum\",\n", " 987: 'corn',\n", " 988: 'acorn',\n", " 989: 'hip, rose hip, rosehip',\n", " 990: 'buckeye, horse chestnut, conker',\n", " 991: 'coral fungus',\n", " 992: 'agaric',\n", " 993: 'gyromitra',\n", " 994: 'stinkhorn, carrion fungus',\n", " 995: 'earthstar',\n", " 996: 'hen-of-the-woods, hen of the woods, Polyporus frondosus, Grifola frondosa',\n", " 997: 'bolete',\n", " 998: 'ear, spike, capitulum',\n", " 999: 'toilet tissue, toilet paper, bathroom tissue'}"]}, {"cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": ["names_list = list(range(max(class_names) + 1))\n", "for k, v in class_names.items():\n", " names_list[k] = v"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Preprocessing, zooming, predicting"]}, {"cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [{"data": {"text/plain": ["((1, 3, 224, 224), 0.0, 0.9843137)"]}, "execution_count": 8, "metadata": {}, "output_type": "execute_result"}], "source": ["import numpy\n", "\n", "\n", "def preprocess(img):\n", " img2 = img.resize((224, 224))\n", " X = numpy.asarray(img2).transpose((2, 0, 1))\n", " X = X[numpy.newaxis, :3, :, :] / 255.0\n", " return X.astype(numpy.float32)\n", "\n", "\n", "image_data = preprocess(image)\n", "image_data.shape, image_data.min(), image_data.max()"]}, {"cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": ["from onnxruntime import InferenceSession\n", "sess = InferenceSession(\"squeezenet1.1.onnx\")"]}, {"cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [{"data": {"text/plain": ["(['data'], ['squeezenet0_flatten0_reshape0'])"]}, "execution_count": 10, "metadata": {}, "output_type": "execute_result"}], "source": ["([_.name for _ in sess.get_inputs()],\n", " [_.name for _ in sess.get_outputs()])"]}, {"cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [{"data": {"text/plain": ["((1, 1000),\n", " [(3.0617495, 'tench, Tinca tinca'),\n", " (2.026736, 'goldfish, Carassius auratus'),\n", " (3.3874047,\n", " 'great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias'),\n", " (4.0234704, 'tiger shark, Galeocerdo cuvieri'),\n", " (3.2848926, 'hammerhead, hammerhead shark')])"]}, "execution_count": 11, "metadata": {}, "output_type": "execute_result"}], "source": ["pred = sess.run(None, {'data': image_data})\n", "pred[0].shape, list(zip(pred[0][0, :5], names_list))"]}, {"cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [{"data": {"text/plain": ["[(18.077364, 'monastery'),\n", " (18.1407, 'mosque'),\n", " (18.739332, 'church, church building'),\n", " (18.902193, 'bell cote, bell cot'),\n", " (19.789839, 'stupa, tope')]"]}, "execution_count": 12, "metadata": {}, "output_type": "execute_result"}], "source": ["named_pred = list(zip(pred[0][0, :], names_list))\n", "named_pred.sort()\n", "named_pred[-5:]"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Transfer Learning\n", "\n", "The class [OnnxTransformer](http://www.xavierdupre.fr/app/mlprodict/helpsphinx/mlprodict/sklapi/onnx_transformer.html?highlight=onnxtransformer#mlprodict.sklapi.onnx_transformer.OnnxTransformer) wraps a runtime into a class which follows scikit-learn API."]}, {"cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": ["from onnxruntime import InferenceSession\n", "sess = InferenceSession(\"squeezenet1.1.onnx\")"]}, {"cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [{"data": {"text/plain": ["[]"]}, "execution_count": 14, "metadata": {}, "output_type": "execute_result"}], "source": ["list(sess.get_inputs())"]}, {"cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [{"data": {"text/plain": ["(1, 3, 224, 224)"]}, "execution_count": 15, "metadata": {}, "output_type": "execute_result"}], "source": ["image_data.shape"]}, {"cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": []}, {"cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": []}, {"cell_type": "code", "execution_count": 17, "metadata": {"scrolled": false}, "outputs": [{"data": {"text/plain": ["[(18.077364, 'monastery'),\n", " (18.1407, 'mosque'),\n", " (18.739332, 'church, church building'),\n", " (18.902193, 'bell cote, bell cot'),\n", " (19.789839, 'stupa, tope')]"]}, "execution_count": 18, "metadata": {}, "output_type": "execute_result"}], "source": ["from mlprodict.sklapi import OnnxTransformer\n", "\n", "with open(model_file, 'rb') as f:\n", " content = f.read()\n", "\n", "tr = OnnxTransformer(content, runtime='onnxruntime1')\n", "tr.fit(None)\n", "onx_pred = tr.transform(image_data)\n", "named_onx_red = list(zip(onx_pred[0, :], names_list))\n", "named_onx_red.sort()\n", "named_onx_red[-5:]"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Let's normalize the probabilities within a pipeline."]}, {"cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": ["from sklearn.pipeline import Pipeline\n", "from sklearn.preprocessing import Normalizer\n", "\n", "pipe = Pipeline([\n", " ('squeeze', tr),\n", " ('scaler', Normalizer(norm='l1'))\n", "])\n", "\n", "pipe.fit(image_data);"]}, {"cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [{"data": {"text/plain": ["[(0.003157723, 'monastery'),\n", " (0.0031687862, 'mosque'),\n", " (0.0032733544, 'church, church building'),\n", " (0.0033018026, 'bell cote, bell cot'),\n", " (0.0034568552, 'stupa, tope')]"]}, "execution_count": 20, "metadata": {}, "output_type": "execute_result"}], "source": ["onx_pred = pipe.transform(image_data)\n", "named_onx_pred = list(zip(onx_pred[0, :], names_list))\n", "named_onx_pred.sort()\n", "named_onx_pred[-5:]"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Merge ONNX graphs in a pipeline"]}, {"cell_type": "markdown", "metadata": {}, "source": ["The output probabilities are now normalized. What if we want to merge the ONNX got from the model zoo and the added normalizer..."]}, {"cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": []}, {"cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": ["from mlprodict.onnx_conv import to_onnx\n", "new_onnx = to_onnx(pipe, image_data)"]}, {"cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": ["from mlprodict.onnxrt import OnnxInference\n", "\n", "try:\n", " oinf_merged = OnnxInference(new_onnx, runtime=\"onnxruntime1\")\n", "except RuntimeError as e:\n", " print(e)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["The previous error is due to the fact the downloaded ONNX file was saved in a different opset. We need to reuse this one for the conversion of the whole pipeline."]}, {"cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [{"data": {"text/plain": ["{'': 7}"]}, "execution_count": 24, "metadata": {}, "output_type": "execute_result"}], "source": ["tr.opsets"]}, {"cell_type": "markdown", "metadata": {}, "source": ["We convert again."]}, {"cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": ["new_onnx = to_onnx(pipe, image_data, target_opset=12)"]}, {"cell_type": "code", "execution_count": 25, "metadata": {"scrolled": false}, "outputs": [], "source": ["oinf_merged = OnnxInference(new_onnx, runtime=\"onnxruntime1\")\n", "res = oinf_merged.run({'X': image_data})\n", "pred_prob = res[\"variable\"]"]}, {"cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [{"data": {"text/plain": ["{'': 7}"]}, "execution_count": 27, "metadata": {}, "output_type": "execute_result"}], "source": ["tr.opsets"]}, {"cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [{"data": {"text/plain": ["[(0.0031577228, 'monastery'),\n", " (0.003168786, 'mosque'),\n", " (0.0032733541, 'church, church building'),\n", " (0.0033018023, 'bell cote, bell cot'),\n", " (0.0034568547, 'stupa, tope')]"]}, "execution_count": 28, "metadata": {}, "output_type": "execute_result"}], "source": ["named_onx_pred_prob = list(zip(pred_prob[0, :], names_list))\n", "named_onx_pred_prob.sort()\n", "named_onx_pred_prob[-5:]"]}, {"cell_type": "code", "execution_count": 28, "metadata": {"scrolled": false}, "outputs": [], "source": ["# oinf_merged.to_sequence() # Conv, Relu, DropOut, MaxPool, AveragePool"]}, {"cell_type": "code", "execution_count": 29, "metadata": {"scrolled": false}, "outputs": [], "source": ["# oinfpy = OnnxInference(new_onnx, runtime=\"python\")\n", "# res = oinfpy.run({'X': image_data})\n", "# pred_prob = res[\"variable\"]"]}, {"cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": []}], "metadata": {"kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"}, "language_info": {"codemirror_mode": {"name": "ipython", "version": 3}, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.2"}}, "nbformat": 4, "nbformat_minor": 4}