taufiqdp commited on
Commit
7a9cb7c
1 Parent(s): b46ba89

initial commit

Browse files
Files changed (5) hide show
  1. .gitattributes +1 -0
  2. ShuffleNetV2.pt +3 -0
  3. app.py +68 -0
  4. class-names.txt +525 -0
  5. requirements.txt +3 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ ShuffleNetV2.pt filter=lfs diff=lfs merge=lfs -text
ShuffleNetV2.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:da308ad05bcab5c1efdbcdf61175b59e462975269ba1935b378401b93e21068f
3
+ size 12274561
app.py ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import torchvision
3
+ import gradio as gr
4
+ import pathlib
5
+ import random
6
+
7
+ from torch import nn
8
+ from typing import Tuple, Dict
9
+ from PIL import Image
10
+ from timeit import default_timer as timer
11
+ from typing import Tuple, Dict
12
+
13
+
14
+ device = 'cuda' if torch.cuda.is_available() else 'cpu'
15
+
16
+ with open('class-names.txt', 'r') as f:
17
+ class_names = f.read().split('\n')[:-1]
18
+
19
+ def load_model() -> Tuple[torch.nn.Module, torchvision.transforms.Compose]:
20
+ weights = torchvision.models.ShuffleNet_V2_X1_5_Weights.IMAGENET1K_V1
21
+ shufflenet_transforms = weights.transforms()
22
+ shufflenet = torchvision.models.shufflenet_v2_x1_5(weights=weights)
23
+ shufflenet.fc = nn.Linear(in_features=1024, out_features=len(class_names), bias=True)
24
+
25
+ state_dict = torch.load('ShuffleNetV2.pt', map_location=device)
26
+ shufflenet.load_state_dict(state_dict)
27
+
28
+ return shufflenet, shufflenet_transforms
29
+
30
+ model, transforms = load_model()
31
+
32
+
33
+ def predict(img) -> Tuple[Dict, float]:
34
+ start = timer()
35
+ model.to(device)
36
+ model.eval()
37
+ with torch.inference_mode():
38
+ transformed_img = transforms(img).to(device)
39
+
40
+ logits = model(transformed_img.unsqueeze(dim=0))
41
+ pred_prob = torch.softmax(logits, dim=1)
42
+ pred_dict = {class_names[i]:pred_prob.squeeze(0)[i].item() for i in range(len(class_names))}
43
+
44
+ pred_time = round(timer() - start, 5)
45
+
46
+ return pred_dict, pred_time
47
+
48
+
49
+ example_paths = list(pathlib.Path('examples').glob("*/*.jpg"))
50
+ example_list = [[str(filepath)] for filepath in random.sample(example_paths, k=6)]
51
+
52
+
53
+ title = 'Birds Species Classifier 🐦'
54
+ description = 'A [ShuffleNetV2](https://pytorch.org/vision/main/models/shufflenetv2.html) feature extractor computer vision model to classify images of [525 species birds](https://www.kaggle.com/datasets/gpiosenka/100-bird-species/).'
55
+
56
+
57
+ demo = gr.Interface(
58
+ fn=predict,
59
+ inputs=gr.Image(type='pil'),
60
+ outputs=[gr.Label(num_top_classes=3, label='Predictions'),
61
+ gr.Number(label="Prediction time (s)")],
62
+ description=description,
63
+ title=title,
64
+ allow_flagging='never',
65
+ examples=example_list
66
+ )
67
+
68
+ demo.launch(debug=False)
class-names.txt ADDED
@@ -0,0 +1,525 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Abbotts Babbler
2
+ Abbotts Booby
3
+ Abyssinian Ground Hornbill
4
+ African Crowned Crane
5
+ African Emerald Cuckoo
6
+ African Firefinch
7
+ African Oyster Catcher
8
+ African Pied Hornbill
9
+ African Pygmy Goose
10
+ Albatross
11
+ Alberts Towhee
12
+ Alexandrine Parakeet
13
+ Alpine Chough
14
+ Altamira Yellowthroat
15
+ American Avocet
16
+ American Bittern
17
+ American Coot
18
+ American Dipper
19
+ American Flamingo
20
+ American Goldfinch
21
+ American Kestrel
22
+ American Pipit
23
+ American Redstart
24
+ American Robin
25
+ American Wigeon
26
+ Amethyst Woodstar
27
+ Andean Goose
28
+ Andean Lapwing
29
+ Andean Siskin
30
+ Anhinga
31
+ Anianiau
32
+ Annas Hummingbird
33
+ Antbird
34
+ Antillean Euphonia
35
+ Apapane
36
+ Apostlebird
37
+ Araripe Manakin
38
+ Ashy Storm Petrel
39
+ Ashy Thrushbird
40
+ Asian Crested Ibis
41
+ Asian Dollard Bird
42
+ Asian Green Bee Eater
43
+ Asian Openbill Stork
44
+ Auckland Shaq
45
+ Austral Canastero
46
+ Australasian Figbird
47
+ Avadavat
48
+ Azaras Spinetail
49
+ Azure Breasted Pitta
50
+ Azure Jay
51
+ Azure Tanager
52
+ Azure Tit
53
+ Baikal Teal
54
+ Bald Eagle
55
+ Bald Ibis
56
+ Bali Starling
57
+ Baltimore Oriole
58
+ Bananaquit
59
+ Band Tailed Guan
60
+ Banded Broadbill
61
+ Banded Pita
62
+ Banded Stilt
63
+ Bar-Tailed Godwit
64
+ Barn Owl
65
+ Barn Swallow
66
+ Barred Puffbird
67
+ Barrows Goldeneye
68
+ Bay-Breasted Warbler
69
+ Bearded Barbet
70
+ Bearded Bellbird
71
+ Bearded Reedling
72
+ Belted Kingfisher
73
+ Bird Of Paradise
74
+ Black And Yellow Broadbill
75
+ Black Baza
76
+ Black Breasted Puffbird
77
+ Black Cockato
78
+ Black Faced Spoonbill
79
+ Black Francolin
80
+ Black Headed Caique
81
+ Black Necked Stilt
82
+ Black Skimmer
83
+ Black Swan
84
+ Black Tail Crake
85
+ Black Throated Bushtit
86
+ Black Throated Huet
87
+ Black Throated Warbler
88
+ Black Vented Shearwater
89
+ Black Vulture
90
+ Black-Capped Chickadee
91
+ Black-Necked Grebe
92
+ Black-Throated Sparrow
93
+ Blackburniam Warbler
94
+ Blonde Crested Woodpecker
95
+ Blood Pheasant
96
+ Blue Coau
97
+ Blue Dacnis
98
+ Blue Gray Gnatcatcher
99
+ Blue Grosbeak
100
+ Blue Grouse
101
+ Blue Heron
102
+ Blue Malkoha
103
+ Blue Throated Piping Guan
104
+ Blue Throated Toucanet
105
+ Bobolink
106
+ Bornean Bristlehead
107
+ Bornean Leafbird
108
+ Bornean Pheasant
109
+ Brandt Cormarant
110
+ Brewers Blackbird
111
+ Brown Crepper
112
+ Brown Headed Cowbird
113
+ Brown Noody
114
+ Brown Thrasher
115
+ Bufflehead
116
+ Bulwers Pheasant
117
+ Burchells Courser
118
+ Bush Turkey
119
+ Caatinga Cacholote
120
+ Cabots Tragopan
121
+ Cactus Wren
122
+ California Condor
123
+ California Gull
124
+ California Quail
125
+ Campo Flicker
126
+ Canary
127
+ Canvasback
128
+ Cape Glossy Starling
129
+ Cape Longclaw
130
+ Cape May Warbler
131
+ Cape Rock Thrush
132
+ Capped Heron
133
+ Capuchinbird
134
+ Carmine Bee-Eater
135
+ Caspian Tern
136
+ Cassowary
137
+ Cedar Waxwing
138
+ Cerulean Warbler
139
+ Chara De Collar
140
+ Chattering Lory
141
+ Chestnet Bellied Euphonia
142
+ Chestnut Winged Cuckoo
143
+ Chinese Bamboo Partridge
144
+ Chinese Pond Heron
145
+ Chipping Sparrow
146
+ Chucao Tapaculo
147
+ Chukar Partridge
148
+ Cinnamon Attila
149
+ Cinnamon Flycatcher
150
+ Cinnamon Teal
151
+ Clarks Grebe
152
+ Clarks Nutcracker
153
+ Cock Of The Rock
154
+ Cockatoo
155
+ Collared Aracari
156
+ Collared Crescentchest
157
+ Common Firecrest
158
+ Common Grackle
159
+ Common House Martin
160
+ Common Iora
161
+ Common Loon
162
+ Common Poorwill
163
+ Common Starling
164
+ Coppersmith Barbet
165
+ Coppery Tailed Coucal
166
+ Crab Plover
167
+ Crane Hawk
168
+ Cream Colored Woodpecker
169
+ Crested Auklet
170
+ Crested Caracara
171
+ Crested Coua
172
+ Crested Fireback
173
+ Crested Kingfisher
174
+ Crested Nuthatch
175
+ Crested Oropendola
176
+ Crested Serpent Eagle
177
+ Crested Shriketit
178
+ Crested Wood Partridge
179
+ Crimson Chat
180
+ Crimson Sunbird
181
+ Crow
182
+ Cuban Tody
183
+ Cuban Trogon
184
+ Curl Crested Aracuri
185
+ D-Arnauds Barbet
186
+ Dalmatian Pelican
187
+ Darjeeling Woodpecker
188
+ Dark Eyed Junco
189
+ Daurian Redstart
190
+ Demoiselle Crane
191
+ Double Barred Finch
192
+ Double Brested Cormarant
193
+ Double Eyed Fig Parrot
194
+ Downy Woodpecker
195
+ Dunlin
196
+ Dusky Lory
197
+ Dusky Robin
198
+ Eared Pita
199
+ Eastern Bluebird
200
+ Eastern Bluebonnet
201
+ Eastern Golden Weaver
202
+ Eastern Meadowlark
203
+ Eastern Rosella
204
+ Eastern Towee
205
+ Eastern Wip Poor Will
206
+ Eastern Yellow Robin
207
+ Ecuadorian Hillstar
208
+ Egyptian Goose
209
+ Elegant Trogon
210
+ Elliots Pheasant
211
+ Emerald Tanager
212
+ Emperor Penguin
213
+ Emu
214
+ Enggano Myna
215
+ Eurasian Bullfinch
216
+ Eurasian Golden Oriole
217
+ Eurasian Magpie
218
+ European Goldfinch
219
+ European Turtle Dove
220
+ Evening Grosbeak
221
+ Fairy Bluebird
222
+ Fairy Penguin
223
+ Fairy Tern
224
+ Fan Tailed Widow
225
+ Fasciated Wren
226
+ Fiery Minivet
227
+ Fiordland Penguin
228
+ Fire Tailled Myzornis
229
+ Flame Bowerbird
230
+ Flame Tanager
231
+ Forest Wagtail
232
+ Frigate
233
+ Frill Back Pigeon
234
+ Gambels Quail
235
+ Gang Gang Cockatoo
236
+ Gila Woodpecker
237
+ Gilded Flicker
238
+ Glossy Ibis
239
+ Go Away Bird
240
+ Gold Wing Warbler
241
+ Golden Bower Bird
242
+ Golden Cheeked Warbler
243
+ Golden Chlorophonia
244
+ Golden Eagle
245
+ Golden Parakeet
246
+ Golden Pheasant
247
+ Golden Pipit
248
+ Gouldian Finch
249
+ Grandala
250
+ Gray Catbird
251
+ Gray Kingbird
252
+ Gray Partridge
253
+ Great Argus
254
+ Great Gray Owl
255
+ Great Jacamar
256
+ Great Kiskadee
257
+ Great Potoo
258
+ Great Tinamou
259
+ Great Xenops
260
+ Greater Pewee
261
+ Greater Prairie Chicken
262
+ Greator Sage Grouse
263
+ Green Broadbill
264
+ Green Jay
265
+ Green Magpie
266
+ Green Winged Dove
267
+ Grey Cuckooshrike
268
+ Grey Headed Chachalaca
269
+ Grey Headed Fish Eagle
270
+ Grey Plover
271
+ Groved Billed Ani
272
+ Guinea Turaco
273
+ Guineafowl
274
+ Gurneys Pitta
275
+ Gyrfalcon
276
+ Hamerkop
277
+ Harlequin Duck
278
+ Harlequin Quail
279
+ Harpy Eagle
280
+ Hawaiian Goose
281
+ Hawfinch
282
+ Helmet Vanga
283
+ Hepatic Tanager
284
+ Himalayan Bluetail
285
+ Himalayan Monal
286
+ Hoatzin
287
+ Hooded Merganser
288
+ Hoopoes
289
+ Horned Guan
290
+ Horned Lark
291
+ Horned Sungem
292
+ House Finch
293
+ House Sparrow
294
+ Hyacinth Macaw
295
+ Iberian Magpie
296
+ Ibisbill
297
+ Imperial Shaq
298
+ Inca Tern
299
+ Indian Bustard
300
+ Indian Pitta
301
+ Indian Roller
302
+ Indian Vulture
303
+ Indigo Bunting
304
+ Indigo Flycatcher
305
+ Inland Dotterel
306
+ Ivory Billed Aracari
307
+ Ivory Gull
308
+ Iwi
309
+ Jabiru
310
+ Jack Snipe
311
+ Jacobin Pigeon
312
+ Jandaya Parakeet
313
+ Japanese Robin
314
+ Java Sparrow
315
+ Jocotoco Antpitta
316
+ Kagu
317
+ Kakapo
318
+ Killdear
319
+ King Eider
320
+ King Vulture
321
+ Kiwi
322
+ Knob Billed Duck
323
+ Kookaburra
324
+ Lark Bunting
325
+ Laughing Gull
326
+ Lazuli Bunting
327
+ Lesser Adjutant
328
+ Lilac Roller
329
+ Limpkin
330
+ Little Auk
331
+ Loggerhead Shrike
332
+ Long-Eared Owl
333
+ Looney Birds
334
+ Lucifer Hummingbird
335
+ Magpie Goose
336
+ Malabar Hornbill
337
+ Malachite Kingfisher
338
+ Malagasy White Eye
339
+ Maleo
340
+ Mallard Duck
341
+ Mandrin Duck
342
+ Mangrove Cuckoo
343
+ Marabou Stork
344
+ Masked Bobwhite
345
+ Masked Booby
346
+ Masked Lapwing
347
+ Mckays Bunting
348
+ Merlin
349
+ Mikado Pheasant
350
+ Military Macaw
351
+ Mourning Dove
352
+ Myna
353
+ Nicobar Pigeon
354
+ Noisy Friarbird
355
+ Northern Beardless Tyrannulet
356
+ Northern Cardinal
357
+ Northern Flicker
358
+ Northern Fulmar
359
+ Northern Gannet
360
+ Northern Goshawk
361
+ Northern Jacana
362
+ Northern Mockingbird
363
+ Northern Parula
364
+ Northern Red Bishop
365
+ Northern Shoveler
366
+ Ocellated Turkey
367
+ Oilbird
368
+ Okinawa Rail
369
+ Orange Breasted Trogon
370
+ Orange Brested Bunting
371
+ Oriental Bay Owl
372
+ Ornate Hawk Eagle
373
+ Osprey
374
+ Ostrich
375
+ Ovenbird
376
+ Oyster Catcher
377
+ Painted Bunting
378
+ Palila
379
+ Palm Nut Vulture
380
+ Paradise Tanager
381
+ Parakett Auklet
382
+ Parus Major
383
+ Patagonian Sierra Finch
384
+ Peacock
385
+ Peregrine Falcon
386
+ Phainopepla
387
+ Philippine Eagle
388
+ Pink Robin
389
+ Plush Crested Jay
390
+ Pomarine Jaeger
391
+ Puffin
392
+ Puna Teal
393
+ Purple Finch
394
+ Purple Gallinule
395
+ Purple Martin
396
+ Purple Swamphen
397
+ Pygmy Kingfisher
398
+ Pyrrhuloxia
399
+ Quetzal
400
+ Rainbow Lorikeet
401
+ Razorbill
402
+ Red Bearded Bee Eater
403
+ Red Bellied Pitta
404
+ Red Billed Tropicbird
405
+ Red Browed Finch
406
+ Red Crossbill
407
+ Red Faced Cormorant
408
+ Red Faced Warbler
409
+ Red Fody
410
+ Red Headed Duck
411
+ Red Headed Woodpecker
412
+ Red Knot
413
+ Red Legged Honeycreeper
414
+ Red Naped Trogon
415
+ Red Shouldered Hawk
416
+ Red Tailed Hawk
417
+ Red Tailed Thrush
418
+ Red Winged Blackbird
419
+ Red Wiskered Bulbul
420
+ Regent Bowerbird
421
+ Ring-Necked Pheasant
422
+ Roadrunner
423
+ Rock Dove
424
+ Rose Breasted Cockatoo
425
+ Rose Breasted Grosbeak
426
+ Roseate Spoonbill
427
+ Rosy Faced Lovebird
428
+ Rough Leg Buzzard
429
+ Royal Flycatcher
430
+ Ruby Crowned Kinglet
431
+ Ruby Throated Hummingbird
432
+ Ruddy Shelduck
433
+ Rudy Kingfisher
434
+ Rufous Kingfisher
435
+ Rufous Trepe
436
+ Rufuos Motmot
437
+ Samatran Thrush
438
+ Sand Martin
439
+ Sandhill Crane
440
+ Satyr Tragopan
441
+ Says Phoebe
442
+ Scarlet Crowned Fruit Dove
443
+ Scarlet Faced Liocichla
444
+ Scarlet Ibis
445
+ Scarlet Macaw
446
+ Scarlet Tanager
447
+ Shoebill
448
+ Short Billed Dowitcher
449
+ Smiths Longspur
450
+ Snow Goose
451
+ Snow Partridge
452
+ Snowy Egret
453
+ Snowy Owl
454
+ Snowy Plover
455
+ Snowy Sheathbill
456
+ Sora
457
+ Spangled Cotinga
458
+ Splendid Wren
459
+ Spoon Biled Sandpiper
460
+ Spotted Catbird
461
+ Spotted Whistling Duck
462
+ Squacco Heron
463
+ Sri Lanka Blue Magpie
464
+ Steamer Duck
465
+ Stork Billed Kingfisher
466
+ Striated Caracara
467
+ Striped Owl
468
+ Stripped Manakin
469
+ Stripped Swallow
470
+ Sunbittern
471
+ Superb Starling
472
+ Surf Scoter
473
+ Swinhoes Pheasant
474
+ Tailorbird
475
+ Taiwan Magpie
476
+ Takahe
477
+ Tasmanian Hen
478
+ Tawny Frogmouth
479
+ Teal Duck
480
+ Tit Mouse
481
+ Touchan
482
+ Townsends Warbler
483
+ Tree Swallow
484
+ Tricolored Blackbird
485
+ Tropical Kingbird
486
+ Trumpter Swan
487
+ Turkey Vulture
488
+ Turquoise Motmot
489
+ Umbrella Bird
490
+ Varied Thrush
491
+ Veery
492
+ Venezuelian Troupial
493
+ Verdin
494
+ Vermilion Flycather
495
+ Victoria Crowned Pigeon
496
+ Violet Backed Starling
497
+ Violet Cuckoo
498
+ Violet Green Swallow
499
+ Violet Turaco
500
+ Visayan Hornbill
501
+ Vulturine Guineafowl
502
+ Wall Creaper
503
+ Wattled Curassow
504
+ Wattled Lapwing
505
+ Whimbrel
506
+ White Breasted Waterhen
507
+ White Browed Crake
508
+ White Cheeked Turaco
509
+ White Crested Hornbill
510
+ White Eared Hummingbird
511
+ White Necked Raven
512
+ White Tailed Tropic
513
+ White Throated Bee Eater
514
+ Wild Turkey
515
+ Willow Ptarmigan
516
+ Wilsons Bird Of Paradise
517
+ Wood Duck
518
+ Wood Thrush
519
+ Woodland Kingfisher
520
+ Wrentit
521
+ Yellow Bellied Flowerpecker
522
+ Yellow Breasted Chat
523
+ Yellow Cacique
524
+ Yellow Headed Blackbird
525
+ Zebra Dove
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ torch=2.0.1
2
+ torchvision=0.15.2
3
+ gradio=3.39.0