├── README.md ├── app.py ├── clf.py ├── image ├── dog.jpg ├── snake.jpg ├── snip_dog.PNG └── snip_snake.PNG ├── imagenet_classes.txt └── requirements.txt /README.md: -------------------------------------------------------------------------------- 1 | # Image Classification Web Application :cat: :dog: 2 | 3 | ## Medium Post 4 | Check out my Medium post "Create an Image Classification Web App using PyTorch and Streamlit" [here](https://towardsdatascience.com/create-an-image-classification-web-app-using-pytorch-and-streamlit-f043ddf00c24?source=friends_link&sk=a55e2d36eb8103aefdbb6420daa4cb7a). 5 | 6 | ## Table of Content 7 | * [Overview](#overview) 8 | * [Motivation](#motivation) 9 | * [Procedure](#procedure) 10 | * [Model](#model) 11 | * [Installation](#installation) 12 | 13 | 14 | ## Overview 15 | This is a simple image classification web application, using both Streamlit and PyTorch. 16 | 17 | ## Motivation 18 | For people who are not experts at Django or Flask, Streamlit can be a good alternative to build custom Python web apps for data science. I chose image classification as the task here because computer vision is one of the most popular areas of AI currently, powered by the advancement of deep learning algorithms. 19 | 20 | ## Procedure 21 | * Install Streamlit 22 | * Build UI 23 | * Build Model 24 | * Test Results 25 | * Next Steps 26 | 27 | ## Model 28 | I have chosen the pretrained ResNet101 model to perform classification. 29 | 30 | ## Installation 31 | ```bash 32 | pip install -r requirements.txt 33 | ``` 34 | 35 | -------------------------------------------------------------------------------- /app.py: -------------------------------------------------------------------------------- 1 | import streamlit as st 2 | from PIL import Image 3 | from clf import predict 4 | 5 | st.set_option('deprecation.showfileUploaderEncoding', False) 6 | 7 | st.title("Dehao's Simple Image Classification App") 8 | st.write("") 9 | 10 | file_up = st.file_uploader("Upload an image", type="jpg") 11 | 12 | if file_up is not None: 13 | image = Image.open(file_up) 14 | st.image(image, caption='Uploaded Image.', use_column_width=True) 15 | st.write("") 16 | st.write("Just a second...") 17 | labels = predict(file_up) 18 | 19 | # print out the top 5 prediction labels with scores 20 | for i in labels: 21 | st.write("Prediction (index, name)", i[0], ", Score: ", i[1]) 22 | -------------------------------------------------------------------------------- /clf.py: -------------------------------------------------------------------------------- 1 | from torchvision import models, transforms 2 | import torch 3 | from PIL import Image 4 | 5 | def predict(image_path): 6 | resnet = models.resnet101(pretrained=True) 7 | 8 | #https://pytorch.org/docs/stable/torchvision/models.html 9 | transform = transforms.Compose([ 10 | transforms.Resize(256), 11 | transforms.CenterCrop(224), 12 | transforms.ToTensor(), 13 | transforms.Normalize( 14 | mean=[0.485, 0.456, 0.406], 15 | std=[0.229, 0.224, 0.225] 16 | )]) 17 | 18 | img = Image.open(image_path) 19 | batch_t = torch.unsqueeze(transform(img), 0) 20 | 21 | resnet.eval() 22 | out = resnet(batch_t) 23 | 24 | with open('imagenet_classes.txt') as f: 25 | classes = [line.strip() for line in f.readlines()] 26 | 27 | prob = torch.nn.functional.softmax(out, dim=1)[0] * 100 28 | _, indices = torch.sort(out, descending=True) 29 | return [(classes[idx], prob[idx].item()) for idx in indices[0][:5]] 30 | -------------------------------------------------------------------------------- /image/dog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dehaoterryzhang/Image_Classification_App/1117761c2691f872a025c7b58ee85fa8b08badc9/image/dog.jpg -------------------------------------------------------------------------------- /image/snake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dehaoterryzhang/Image_Classification_App/1117761c2691f872a025c7b58ee85fa8b08badc9/image/snake.jpg -------------------------------------------------------------------------------- /image/snip_dog.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dehaoterryzhang/Image_Classification_App/1117761c2691f872a025c7b58ee85fa8b08badc9/image/snip_dog.PNG -------------------------------------------------------------------------------- /image/snip_snake.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dehaoterryzhang/Image_Classification_App/1117761c2691f872a025c7b58ee85fa8b08badc9/image/snip_snake.PNG -------------------------------------------------------------------------------- /imagenet_classes.txt: -------------------------------------------------------------------------------- 1 | 0, tench 2 | 1, goldfish 3 | 2, great_white_shark 4 | 3, tiger_shark 5 | 4, hammerhead 6 | 5, electric_ray 7 | 6, stingray 8 | 7, cock 9 | 8, hen 10 | 9, ostrich 11 | 10, brambling 12 | 11, goldfinch 13 | 12, house_finch 14 | 13, junco 15 | 14, indigo_bunting 16 | 15, robin 17 | 16, bulbul 18 | 17, jay 19 | 18, magpie 20 | 19, chickadee 21 | 20, water_ouzel 22 | 21, kite 23 | 22, bald_eagle 24 | 23, vulture 25 | 24, great_grey_owl 26 | 25, European_fire_salamander 27 | 26, common_newt 28 | 27, eft 29 | 28, spotted_salamander 30 | 29, axolotl 31 | 30, bullfrog 32 | 31, tree_frog 33 | 32, tailed_frog 34 | 33, loggerhead 35 | 34, leatherback_turtle 36 | 35, mud_turtle 37 | 36, terrapin 38 | 37, box_turtle 39 | 38, banded_gecko 40 | 39, common_iguana 41 | 40, American_chameleon 42 | 41, whiptail 43 | 42, agama 44 | 43, frilled_lizard 45 | 44, alligator_lizard 46 | 45, Gila_monster 47 | 46, green_lizard 48 | 47, African_chameleon 49 | 48, Komodo_dragon 50 | 49, African_crocodile 51 | 50, American_alligator 52 | 51, triceratops 53 | 52, thunder_snake 54 | 53, ringneck_snake 55 | 54, hognose_snake 56 | 55, green_snake 57 | 56, king_snake 58 | 57, garter_snake 59 | 58, water_snake 60 | 59, vine_snake 61 | 60, night_snake 62 | 61, boa_constrictor 63 | 62, rock_python 64 | 63, Indian_cobra 65 | 64, green_mamba 66 | 65, sea_snake 67 | 66, horned_viper 68 | 67, diamondback 69 | 68, sidewinder 70 | 69, trilobite 71 | 70, harvestman 72 | 71, scorpion 73 | 72, black_and_gold_garden_spider 74 | 73, barn_spider 75 | 74, garden_spider 76 | 75, black_widow 77 | 76, tarantula 78 | 77, wolf_spider 79 | 78, tick 80 | 79, centipede 81 | 80, black_grouse 82 | 81, ptarmigan 83 | 82, ruffed_grouse 84 | 83, prairie_chicken 85 | 84, peacock 86 | 85, quail 87 | 86, partridge 88 | 87, African_grey 89 | 88, macaw 90 | 89, sulphur-crested_cockatoo 91 | 90, lorikeet 92 | 91, coucal 93 | 92, bee_eater 94 | 93, hornbill 95 | 94, hummingbird 96 | 95, jacamar 97 | 96, toucan 98 | 97, drake 99 | 98, red-breasted_merganser 100 | 99, goose 101 | 100, black_swan 102 | 101, tusker 103 | 102, echidna 104 | 103, platypus 105 | 104, wallaby 106 | 105, koala 107 | 106, wombat 108 | 107, jellyfish 109 | 108, sea_anemone 110 | 109, brain_coral 111 | 110, flatworm 112 | 111, nematode 113 | 112, conch 114 | 113, snail 115 | 114, slug 116 | 115, sea_slug 117 | 116, chiton 118 | 117, chambered_nautilus 119 | 118, Dungeness_crab 120 | 119, rock_crab 121 | 120, fiddler_crab 122 | 121, king_crab 123 | 122, American_lobster 124 | 123, spiny_lobster 125 | 124, crayfish 126 | 125, hermit_crab 127 | 126, isopod 128 | 127, white_stork 129 | 128, black_stork 130 | 129, spoonbill 131 | 130, flamingo 132 | 131, little_blue_heron 133 | 132, American_egret 134 | 133, bittern 135 | 134, crane 136 | 135, limpkin 137 | 136, European_gallinule 138 | 137, American_coot 139 | 138, bustard 140 | 139, ruddy_turnstone 141 | 140, red-backed_sandpiper 142 | 141, redshank 143 | 142, dowitcher 144 | 143, oystercatcher 145 | 144, pelican 146 | 145, king_penguin 147 | 146, albatross 148 | 147, grey_whale 149 | 148, killer_whale 150 | 149, dugong 151 | 150, sea_lion 152 | 151, Chihuahua 153 | 152, Japanese_spaniel 154 | 153, Maltese_dog 155 | 154, Pekinese 156 | 155, Shih-Tzu 157 | 156, Blenheim_spaniel 158 | 157, papillon 159 | 158, toy_terrier 160 | 159, Rhodesian_ridgeback 161 | 160, Afghan_hound 162 | 161, basset 163 | 162, beagle 164 | 163, bloodhound 165 | 164, bluetick 166 | 165, black-and-tan_coonhound 167 | 166, Walker_hound 168 | 167, English_foxhound 169 | 168, redbone 170 | 169, borzoi 171 | 170, Irish_wolfhound 172 | 171, Italian_greyhound 173 | 172, whippet 174 | 173, Ibizan_hound 175 | 174, Norwegian_elkhound 176 | 175, otterhound 177 | 176, Saluki 178 | 177, Scottish_deerhound 179 | 178, Weimaraner 180 | 179, Staffordshire_bullterrier 181 | 180, American_Staffordshire_terrier 182 | 181, Bedlington_terrier 183 | 182, Border_terrier 184 | 183, Kerry_blue_terrier 185 | 184, Irish_terrier 186 | 185, Norfolk_terrier 187 | 186, Norwich_terrier 188 | 187, Yorkshire_terrier 189 | 188, wire-haired_fox_terrier 190 | 189, Lakeland_terrier 191 | 190, Sealyham_terrier 192 | 191, Airedale 193 | 192, cairn 194 | 193, Australian_terrier 195 | 194, Dandie_Dinmont 196 | 195, Boston_bull 197 | 196, miniature_schnauzer 198 | 197, giant_schnauzer 199 | 198, standard_schnauzer 200 | 199, Scotch_terrier 201 | 200, Tibetan_terrier 202 | 201, silky_terrier 203 | 202, soft-coated_wheaten_terrier 204 | 203, West_Highland_white_terrier 205 | 204, Lhasa 206 | 205, flat-coated_retriever 207 | 206, curly-coated_retriever 208 | 207, golden_retriever 209 | 208, Labrador_retriever 210 | 209, Chesapeake_Bay_retriever 211 | 210, German_short-haired_pointer 212 | 211, vizsla 213 | 212, English_setter 214 | 213, Irish_setter 215 | 214, Gordon_setter 216 | 215, Brittany_spaniel 217 | 216, clumber 218 | 217, English_springer 219 | 218, Welsh_springer_spaniel 220 | 219, cocker_spaniel 221 | 220, Sussex_spaniel 222 | 221, Irish_water_spaniel 223 | 222, kuvasz 224 | 223, schipperke 225 | 224, groenendael 226 | 225, malinois 227 | 226, briard 228 | 227, kelpie 229 | 228, komondor 230 | 229, Old_English_sheepdog 231 | 230, Shetland_sheepdog 232 | 231, collie 233 | 232, Border_collie 234 | 233, Bouvier_des_Flandres 235 | 234, Rottweiler 236 | 235, German_shepherd 237 | 236, Doberman 238 | 237, miniature_pinscher 239 | 238, Greater_Swiss_Mountain_dog 240 | 239, Bernese_mountain_dog 241 | 240, Appenzeller 242 | 241, EntleBucher 243 | 242, boxer 244 | 243, bull_mastiff 245 | 244, Tibetan_mastiff 246 | 245, French_bulldog 247 | 246, Great_Dane 248 | 247, Saint_Bernard 249 | 248, Eskimo_dog 250 | 249, malamute 251 | 250, Siberian_husky 252 | 251, dalmatian 253 | 252, affenpinscher 254 | 253, basenji 255 | 254, pug 256 | 255, Leonberg 257 | 256, Newfoundland 258 | 257, Great_Pyrenees 259 | 258, Samoyed 260 | 259, Pomeranian 261 | 260, chow 262 | 261, keeshond 263 | 262, Brabancon_griffon 264 | 263, Pembroke 265 | 264, Cardigan 266 | 265, toy_poodle 267 | 266, miniature_poodle 268 | 267, standard_poodle 269 | 268, Mexican_hairless 270 | 269, timber_wolf 271 | 270, white_wolf 272 | 271, red_wolf 273 | 272, coyote 274 | 273, dingo 275 | 274, dhole 276 | 275, African_hunting_dog 277 | 276, hyena 278 | 277, red_fox 279 | 278, kit_fox 280 | 279, Arctic_fox 281 | 280, grey_fox 282 | 281, tabby 283 | 282, tiger_cat 284 | 283, Persian_cat 285 | 284, Siamese_cat 286 | 285, Egyptian_cat 287 | 286, cougar 288 | 287, lynx 289 | 288, leopard 290 | 289, snow_leopard 291 | 290, jaguar 292 | 291, lion 293 | 292, tiger 294 | 293, cheetah 295 | 294, brown_bear 296 | 295, American_black_bear 297 | 296, ice_bear 298 | 297, sloth_bear 299 | 298, mongoose 300 | 299, meerkat 301 | 300, tiger_beetle 302 | 301, ladybug 303 | 302, ground_beetle 304 | 303, long-horned_beetle 305 | 304, leaf_beetle 306 | 305, dung_beetle 307 | 306, rhinoceros_beetle 308 | 307, weevil 309 | 308, fly 310 | 309, bee 311 | 310, ant 312 | 311, grasshopper 313 | 312, cricket 314 | 313, walking_stick 315 | 314, cockroach 316 | 315, mantis 317 | 316, cicada 318 | 317, leafhopper 319 | 318, lacewing 320 | 319, dragonfly 321 | 320, damselfly 322 | 321, admiral 323 | 322, ringlet 324 | 323, monarch 325 | 324, cabbage_butterfly 326 | 325, sulphur_butterfly 327 | 326, lycaenid 328 | 327, starfish 329 | 328, sea_urchin 330 | 329, sea_cucumber 331 | 330, wood_rabbit 332 | 331, hare 333 | 332, Angora 334 | 333, hamster 335 | 334, porcupine 336 | 335, fox_squirrel 337 | 336, marmot 338 | 337, beaver 339 | 338, guinea_pig 340 | 339, sorrel 341 | 340, zebra 342 | 341, hog 343 | 342, wild_boar 344 | 343, warthog 345 | 344, hippopotamus 346 | 345, ox 347 | 346, water_buffalo 348 | 347, bison 349 | 348, ram 350 | 349, bighorn 351 | 350, ibex 352 | 351, hartebeest 353 | 352, impala 354 | 353, gazelle 355 | 354, Arabian_camel 356 | 355, llama 357 | 356, weasel 358 | 357, mink 359 | 358, polecat 360 | 359, black-footed_ferret 361 | 360, otter 362 | 361, skunk 363 | 362, badger 364 | 363, armadillo 365 | 364, three-toed_sloth 366 | 365, orangutan 367 | 366, gorilla 368 | 367, chimpanzee 369 | 368, gibbon 370 | 369, siamang 371 | 370, guenon 372 | 371, patas 373 | 372, baboon 374 | 373, macaque 375 | 374, langur 376 | 375, colobus 377 | 376, proboscis_monkey 378 | 377, marmoset 379 | 378, capuchin 380 | 379, howler_monkey 381 | 380, titi 382 | 381, spider_monkey 383 | 382, squirrel_monkey 384 | 383, Madagascar_cat 385 | 384, indri 386 | 385, Indian_elephant 387 | 386, African_elephant 388 | 387, lesser_panda 389 | 388, giant_panda 390 | 389, barracouta 391 | 390, eel 392 | 391, coho 393 | 392, rock_beauty 394 | 393, anemone_fish 395 | 394, sturgeon 396 | 395, gar 397 | 396, lionfish 398 | 397, puffer 399 | 398, abacus 400 | 399, abaya 401 | 400, academic_gown 402 | 401, accordion 403 | 402, acoustic_guitar 404 | 403, aircraft_carrier 405 | 404, airliner 406 | 405, airship 407 | 406, altar 408 | 407, ambulance 409 | 408, amphibian 410 | 409, analog_clock 411 | 410, apiary 412 | 411, apron 413 | 412, ashcan 414 | 413, assault_rifle 415 | 414, backpack 416 | 415, bakery 417 | 416, balance_beam 418 | 417, balloon 419 | 418, ballpoint 420 | 419, Band_Aid 421 | 420, banjo 422 | 421, bannister 423 | 422, barbell 424 | 423, barber_chair 425 | 424, barbershop 426 | 425, barn 427 | 426, barometer 428 | 427, barrel 429 | 428, barrow 430 | 429, baseball 431 | 430, basketball 432 | 431, bassinet 433 | 432, bassoon 434 | 433, bathing_cap 435 | 434, bath_towel 436 | 435, bathtub 437 | 436, beach_wagon 438 | 437, beacon 439 | 438, beaker 440 | 439, bearskin 441 | 440, beer_bottle 442 | 441, beer_glass 443 | 442, bell_cote 444 | 443, bib 445 | 444, bicycle-built-for-two 446 | 445, bikini 447 | 446, binder 448 | 447, binoculars 449 | 448, birdhouse 450 | 449, boathouse 451 | 450, bobsled 452 | 451, bolo_tie 453 | 452, bonnet 454 | 453, bookcase 455 | 454, bookshop 456 | 455, bottlecap 457 | 456, bow 458 | 457, bow_tie 459 | 458, brass 460 | 459, brassiere 461 | 460, breakwater 462 | 461, breastplate 463 | 462, broom 464 | 463, bucket 465 | 464, buckle 466 | 465, bulletproof_vest 467 | 466, bullet_train 468 | 467, butcher_shop 469 | 468, cab 470 | 469, caldron 471 | 470, candle 472 | 471, cannon 473 | 472, canoe 474 | 473, can_opener 475 | 474, cardigan 476 | 475, car_mirror 477 | 476, carousel 478 | 477, carpenter's_kit 479 | 478, carton 480 | 479, car_wheel 481 | 480, cash_machine 482 | 481, cassette 483 | 482, cassette_player 484 | 483, castle 485 | 484, catamaran 486 | 485, CD_player 487 | 486, cello 488 | 487, cellular_telephone 489 | 488, chain 490 | 489, chainlink_fence 491 | 490, chain_mail 492 | 491, chain_saw 493 | 492, chest 494 | 493, chiffonier 495 | 494, chime 496 | 495, china_cabinet 497 | 496, Christmas_stocking 498 | 497, church 499 | 498, cinema 500 | 499, cleaver 501 | 500, cliff_dwelling 502 | 501, cloak 503 | 502, clog 504 | 503, cocktail_shaker 505 | 504, coffee_mug 506 | 505, coffeepot 507 | 506, coil 508 | 507, combination_lock 509 | 508, computer_keyboard 510 | 509, confectionery 511 | 510, container_ship 512 | 511, convertible 513 | 512, corkscrew 514 | 513, cornet 515 | 514, cowboy_boot 516 | 515, cowboy_hat 517 | 516, cradle 518 | 517, crane 519 | 518, crash_helmet 520 | 519, crate 521 | 520, crib 522 | 521, Crock_Pot 523 | 522, croquet_ball 524 | 523, crutch 525 | 524, cuirass 526 | 525, dam 527 | 526, desk 528 | 527, desktop_computer 529 | 528, dial_telephone 530 | 529, diaper 531 | 530, digital_clock 532 | 531, digital_watch 533 | 532, dining_table 534 | 533, dishrag 535 | 534, dishwasher 536 | 535, disk_brake 537 | 536, dock 538 | 537, dogsled 539 | 538, dome 540 | 539, doormat 541 | 540, drilling_platform 542 | 541, drum 543 | 542, drumstick 544 | 543, dumbbell 545 | 544, Dutch_oven 546 | 545, electric_fan 547 | 546, electric_guitar 548 | 547, electric_locomotive 549 | 548, entertainment_center 550 | 549, envelope 551 | 550, espresso_maker 552 | 551, face_powder 553 | 552, feather_boa 554 | 553, file 555 | 554, fireboat 556 | 555, fire_engine 557 | 556, fire_screen 558 | 557, flagpole 559 | 558, flute 560 | 559, folding_chair 561 | 560, football_helmet 562 | 561, forklift 563 | 562, fountain 564 | 563, fountain_pen 565 | 564, four-poster 566 | 565, freight_car 567 | 566, French_horn 568 | 567, frying_pan 569 | 568, fur_coat 570 | 569, garbage_truck 571 | 570, gasmask 572 | 571, gas_pump 573 | 572, goblet 574 | 573, go-kart 575 | 574, golf_ball 576 | 575, golfcart 577 | 576, gondola 578 | 577, gong 579 | 578, gown 580 | 579, grand_piano 581 | 580, greenhouse 582 | 581, grille 583 | 582, grocery_store 584 | 583, guillotine 585 | 584, hair_slide 586 | 585, hair_spray 587 | 586, half_track 588 | 587, hammer 589 | 588, hamper 590 | 589, hand_blower 591 | 590, hand-held_computer 592 | 591, handkerchief 593 | 592, hard_disc 594 | 593, harmonica 595 | 594, harp 596 | 595, harvester 597 | 596, hatchet 598 | 597, holster 599 | 598, home_theater 600 | 599, honeycomb 601 | 600, hook 602 | 601, hoopskirt 603 | 602, horizontal_bar 604 | 603, horse_cart 605 | 604, hourglass 606 | 605, iPod 607 | 606, iron 608 | 607, jack-o'-lantern 609 | 608, jean 610 | 609, jeep 611 | 610, jersey 612 | 611, jigsaw_puzzle 613 | 612, jinrikisha 614 | 613, joystick 615 | 614, kimono 616 | 615, knee_pad 617 | 616, knot 618 | 617, lab_coat 619 | 618, ladle 620 | 619, lampshade 621 | 620, laptop 622 | 621, lawn_mower 623 | 622, lens_cap 624 | 623, letter_opener 625 | 624, library 626 | 625, lifeboat 627 | 626, lighter 628 | 627, limousine 629 | 628, liner 630 | 629, lipstick 631 | 630, Loafer 632 | 631, lotion 633 | 632, loudspeaker 634 | 633, loupe 635 | 634, lumbermill 636 | 635, magnetic_compass 637 | 636, mailbag 638 | 637, mailbox 639 | 638, maillot 640 | 639, maillot 641 | 640, manhole_cover 642 | 641, maraca 643 | 642, marimba 644 | 643, mask 645 | 644, matchstick 646 | 645, maypole 647 | 646, maze 648 | 647, measuring_cup 649 | 648, medicine_chest 650 | 649, megalith 651 | 650, microphone 652 | 651, microwave 653 | 652, military_uniform 654 | 653, milk_can 655 | 654, minibus 656 | 655, miniskirt 657 | 656, minivan 658 | 657, missile 659 | 658, mitten 660 | 659, mixing_bowl 661 | 660, mobile_home 662 | 661, Model_T 663 | 662, modem 664 | 663, monastery 665 | 664, monitor 666 | 665, moped 667 | 666, mortar 668 | 667, mortarboard 669 | 668, mosque 670 | 669, mosquito_net 671 | 670, motor_scooter 672 | 671, mountain_bike 673 | 672, mountain_tent 674 | 673, mouse 675 | 674, mousetrap 676 | 675, moving_van 677 | 676, muzzle 678 | 677, nail 679 | 678, neck_brace 680 | 679, necklace 681 | 680, nipple 682 | 681, notebook 683 | 682, obelisk 684 | 683, oboe 685 | 684, ocarina 686 | 685, odometer 687 | 686, oil_filter 688 | 687, organ 689 | 688, oscilloscope 690 | 689, overskirt 691 | 690, oxcart 692 | 691, oxygen_mask 693 | 692, packet 694 | 693, paddle 695 | 694, paddlewheel 696 | 695, padlock 697 | 696, paintbrush 698 | 697, pajama 699 | 698, palace 700 | 699, panpipe 701 | 700, paper_towel 702 | 701, parachute 703 | 702, parallel_bars 704 | 703, park_bench 705 | 704, parking_meter 706 | 705, passenger_car 707 | 706, patio 708 | 707, pay-phone 709 | 708, pedestal 710 | 709, pencil_box 711 | 710, pencil_sharpener 712 | 711, perfume 713 | 712, Petri_dish 714 | 713, photocopier 715 | 714, pick 716 | 715, pickelhaube 717 | 716, picket_fence 718 | 717, pickup 719 | 718, pier 720 | 719, piggy_bank 721 | 720, pill_bottle 722 | 721, pillow 723 | 722, ping-pong_ball 724 | 723, pinwheel 725 | 724, pirate 726 | 725, pitcher 727 | 726, plane 728 | 727, planetarium 729 | 728, plastic_bag 730 | 729, plate_rack 731 | 730, plow 732 | 731, plunger 733 | 732, Polaroid_camera 734 | 733, pole 735 | 734, police_van 736 | 735, poncho 737 | 736, pool_table 738 | 737, pop_bottle 739 | 738, pot 740 | 739, potter's_wheel 741 | 740, power_drill 742 | 741, prayer_rug 743 | 742, printer 744 | 743, prison 745 | 744, projectile 746 | 745, projector 747 | 746, puck 748 | 747, punching_bag 749 | 748, purse 750 | 749, quill 751 | 750, quilt 752 | 751, racer 753 | 752, racket 754 | 753, radiator 755 | 754, radio 756 | 755, radio_telescope 757 | 756, rain_barrel 758 | 757, recreational_vehicle 759 | 758, reel 760 | 759, reflex_camera 761 | 760, refrigerator 762 | 761, remote_control 763 | 762, restaurant 764 | 763, revolver 765 | 764, rifle 766 | 765, rocking_chair 767 | 766, rotisserie 768 | 767, rubber_eraser 769 | 768, rugby_ball 770 | 769, rule 771 | 770, running_shoe 772 | 771, safe 773 | 772, safety_pin 774 | 773, saltshaker 775 | 774, sandal 776 | 775, sarong 777 | 776, sax 778 | 777, scabbard 779 | 778, scale 780 | 779, school_bus 781 | 780, schooner 782 | 781, scoreboard 783 | 782, screen 784 | 783, screw 785 | 784, screwdriver 786 | 785, seat_belt 787 | 786, sewing_machine 788 | 787, shield 789 | 788, shoe_shop 790 | 789, shoji 791 | 790, shopping_basket 792 | 791, shopping_cart 793 | 792, shovel 794 | 793, shower_cap 795 | 794, shower_curtain 796 | 795, ski 797 | 796, ski_mask 798 | 797, sleeping_bag 799 | 798, slide_rule 800 | 799, sliding_door 801 | 800, slot 802 | 801, snorkel 803 | 802, snowmobile 804 | 803, snowplow 805 | 804, soap_dispenser 806 | 805, soccer_ball 807 | 806, sock 808 | 807, solar_dish 809 | 808, sombrero 810 | 809, soup_bowl 811 | 810, space_bar 812 | 811, space_heater 813 | 812, space_shuttle 814 | 813, spatula 815 | 814, speedboat 816 | 815, spider_web 817 | 816, spindle 818 | 817, sports_car 819 | 818, spotlight 820 | 819, stage 821 | 820, steam_locomotive 822 | 821, steel_arch_bridge 823 | 822, steel_drum 824 | 823, stethoscope 825 | 824, stole 826 | 825, stone_wall 827 | 826, stopwatch 828 | 827, stove 829 | 828, strainer 830 | 829, streetcar 831 | 830, stretcher 832 | 831, studio_couch 833 | 832, stupa 834 | 833, submarine 835 | 834, suit 836 | 835, sundial 837 | 836, sunglass 838 | 837, sunglasses 839 | 838, sunscreen 840 | 839, suspension_bridge 841 | 840, swab 842 | 841, sweatshirt 843 | 842, swimming_trunks 844 | 843, swing 845 | 844, switch 846 | 845, syringe 847 | 846, table_lamp 848 | 847, tank 849 | 848, tape_player 850 | 849, teapot 851 | 850, teddy 852 | 851, television 853 | 852, tennis_ball 854 | 853, thatch 855 | 854, theater_curtain 856 | 855, thimble 857 | 856, thresher 858 | 857, throne 859 | 858, tile_roof 860 | 859, toaster 861 | 860, tobacco_shop 862 | 861, toilet_seat 863 | 862, torch 864 | 863, totem_pole 865 | 864, tow_truck 866 | 865, toyshop 867 | 866, tractor 868 | 867, trailer_truck 869 | 868, tray 870 | 869, trench_coat 871 | 870, tricycle 872 | 871, trimaran 873 | 872, tripod 874 | 873, triumphal_arch 875 | 874, trolleybus 876 | 875, trombone 877 | 876, tub 878 | 877, turnstile 879 | 878, typewriter_keyboard 880 | 879, umbrella 881 | 880, unicycle 882 | 881, upright 883 | 882, vacuum 884 | 883, vase 885 | 884, vault 886 | 885, velvet 887 | 886, vending_machine 888 | 887, vestment 889 | 888, viaduct 890 | 889, violin 891 | 890, volleyball 892 | 891, waffle_iron 893 | 892, wall_clock 894 | 893, wallet 895 | 894, wardrobe 896 | 895, warplane 897 | 896, washbasin 898 | 897, washer 899 | 898, water_bottle 900 | 899, water_jug 901 | 900, water_tower 902 | 901, whiskey_jug 903 | 902, whistle 904 | 903, wig 905 | 904, window_screen 906 | 905, window_shade 907 | 906, Windsor_tie 908 | 907, wine_bottle 909 | 908, wing 910 | 909, wok 911 | 910, wooden_spoon 912 | 911, wool 913 | 912, worm_fence 914 | 913, wreck 915 | 914, yawl 916 | 915, yurt 917 | 916, web_site 918 | 917, comic_book 919 | 918, crossword_puzzle 920 | 919, street_sign 921 | 920, traffic_light 922 | 921, book_jacket 923 | 922, menu 924 | 923, plate 925 | 924, guacamole 926 | 925, consomme 927 | 926, hot_pot 928 | 927, trifle 929 | 928, ice_cream 930 | 929, ice_lolly 931 | 930, French_loaf 932 | 931, bagel 933 | 932, pretzel 934 | 933, cheeseburger 935 | 934, hotdog 936 | 935, mashed_potato 937 | 936, head_cabbage 938 | 937, broccoli 939 | 938, cauliflower 940 | 939, zucchini 941 | 940, spaghetti_squash 942 | 941, acorn_squash 943 | 942, butternut_squash 944 | 943, cucumber 945 | 944, artichoke 946 | 945, bell_pepper 947 | 946, cardoon 948 | 947, mushroom 949 | 948, Granny_Smith 950 | 949, strawberry 951 | 950, orange 952 | 951, lemon 953 | 952, fig 954 | 953, pineapple 955 | 954, banana 956 | 955, jackfruit 957 | 956, custard_apple 958 | 957, pomegranate 959 | 958, hay 960 | 959, carbonara 961 | 960, chocolate_sauce 962 | 961, dough 963 | 962, meat_loaf 964 | 963, pizza 965 | 964, potpie 966 | 965, burrito 967 | 966, red_wine 968 | 967, espresso 969 | 968, cup 970 | 969, eggnog 971 | 970, alp 972 | 971, bubble 973 | 972, cliff 974 | 973, coral_reef 975 | 974, geyser 976 | 975, lakeside 977 | 976, promontory 978 | 977, sandbar 979 | 978, seashore 980 | 979, valley 981 | 980, volcano 982 | 981, ballplayer 983 | 982, groom 984 | 983, scuba_diver 985 | 984, rapeseed 986 | 985, daisy 987 | 986, yellow_lady's_slipper 988 | 987, corn 989 | 988, acorn 990 | 989, hip 991 | 990, buckeye 992 | 991, coral_fungus 993 | 992, agaric 994 | 993, gyromitra 995 | 994, stinkhorn 996 | 995, earthstar 997 | 996, hen-of-the-woods 998 | 997, bolete 999 | 998, ear 1000 | 999, toilet_tissue -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | altair==4.1.0 2 | appdirs==1.4.4 3 | astor==0.8.1 4 | attrs==19.3.0 5 | backcall==0.2.0 6 | base58==2.0.1 7 | bleach==3.3.0 8 | blinker==1.4 9 | boto3==1.14.30 10 | botocore==1.17.30 11 | cachetools==4.1.1 12 | certifi==2020.6.20 13 | chardet==3.0.4 14 | click==7.1.2 15 | colorama==0.4.3 16 | decorator==4.4.2 17 | defusedxml==0.6.0 18 | distlib==0.3.1 19 | docutils==0.15.2 20 | entrypoints==0.3 21 | enum-compat==0.0.3 22 | filelock==3.0.12 23 | future==0.18.2 24 | idna==2.10 25 | ipykernel==5.3.4 26 | ipython==8.10.0 27 | ipython-genutils==0.2.0 28 | ipywidgets==7.5.1 29 | itsdangerous==1.1.0 30 | jedi==0.17.2 31 | Jinja2==2.11.3 32 | jmespath==0.10.0 33 | jsonschema==3.2.0 34 | jupyter-client==6.1.6 35 | jupyter-core==4.6.3 36 | MarkupSafe==1.1.1 37 | mistune==0.8.4 38 | nbconvert==5.6.1 39 | nbformat==5.0.7 40 | notebook==6.4.12 41 | numpy==1.22.0 42 | packaging==20.4 43 | pandas==1.0.5 44 | pandocfilters==1.4.2 45 | parso==0.7.1 46 | pathtools==0.1.2 47 | pickleshare==0.7.5 48 | Pillow==9.0.1 49 | prometheus-client==0.8.0 50 | prompt-toolkit==3.0.5 51 | protobuf==3.15.0 52 | pyarrow==1.0.0 53 | pydeck==0.4.0 54 | Pygments==2.7.4 55 | pyparsing==2.4.7 56 | pyrsistent==0.16.0 57 | python-dateutil==2.8.1 58 | pytz==2020.1 59 | pywin32==301 60 | pywinpty==0.5.7 61 | PyYAML==5.4 62 | pyzmq==19.0.1 63 | requests==2.24.0 64 | s3transfer==0.3.3 65 | Send2Trash==1.5.0 66 | six==1.15.0 67 | streamlit==0.64.0 68 | terminado==0.8.3 69 | testpath==0.4.4 70 | toml==0.10.1 71 | toolz==0.10.0 72 | torch==1.6.0 73 | torchvision==0.7.0 74 | tornado==6.0.4 75 | traitlets==4.3.3 76 | tzlocal==2.1 77 | urllib3==1.26.5 78 | validators==0.16.0 79 | watchdog==0.10.3 80 | wcwidth==0.2.5 81 | webencodings==0.5.1 82 | Werkzeug==2.2.3 83 | widgetsnbextension==3.5.1 84 | --------------------------------------------------------------------------------