Spaces:
Running
on
Zero
Running
on
Zero
Create bird_species.py
Browse files- bird_species.py +566 -0
bird_species.py
ADDED
|
@@ -0,0 +1,566 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import gradio as gr
|
| 2 |
+
import spaces
|
| 3 |
+
from transformers import AutoImageProcessor
|
| 4 |
+
from transformers import SiglipForImageClassification
|
| 5 |
+
from PIL import Image
|
| 6 |
+
import torch
|
| 7 |
+
|
| 8 |
+
# Load model and processor with the new bird classifier name
|
| 9 |
+
model_name = "prithivMLmods/Bird-Species-Classifier-526"
|
| 10 |
+
model = SiglipForImageClassification.from_pretrained(model_name)
|
| 11 |
+
processor = AutoImageProcessor.from_pretrained(model_name)
|
| 12 |
+
|
| 13 |
+
@spaces.GPU
|
| 14 |
+
def bird_classification(image):
|
| 15 |
+
"""Predicts bird species classification for an image."""
|
| 16 |
+
image = Image.fromarray(image).convert("RGB")
|
| 17 |
+
inputs = processor(images=image, return_tensors="pt")
|
| 18 |
+
|
| 19 |
+
with torch.no_grad():
|
| 20 |
+
outputs = model(**inputs)
|
| 21 |
+
logits = outputs.logits
|
| 22 |
+
probs = torch.nn.functional.softmax(logits, dim=1).squeeze().tolist()
|
| 23 |
+
|
| 24 |
+
labels = {
|
| 25 |
+
"0": "ABBOTTS BABBLER",
|
| 26 |
+
"1": "ABBOTTS BOOBY",
|
| 27 |
+
"2": "ABYSSINIAN GROUND HORNBILL",
|
| 28 |
+
"3": "AFRICAN CROWNED CRANE",
|
| 29 |
+
"4": "AFRICAN EMERALD CUCKOO",
|
| 30 |
+
"5": "AFRICAN FIREFINCH",
|
| 31 |
+
"6": "AFRICAN OYSTER CATCHER",
|
| 32 |
+
"7": "AFRICAN PIED HORNBILL",
|
| 33 |
+
"8": "AFRICAN PYGMY GOOSE",
|
| 34 |
+
"9": "ALBATROSS",
|
| 35 |
+
"10": "ALBERTS TOWHEE",
|
| 36 |
+
"11": "ALEXANDRINE PARAKEET",
|
| 37 |
+
"12": "ALPINE CHOUGH",
|
| 38 |
+
"13": "ALTAMIRA YELLOWTHROAT",
|
| 39 |
+
"14": "AMERICAN AVOCET",
|
| 40 |
+
"15": "AMERICAN BITTERN",
|
| 41 |
+
"16": "AMERICAN COOT",
|
| 42 |
+
"17": "AMERICAN DIPPER",
|
| 43 |
+
"18": "AMERICAN FLAMINGO",
|
| 44 |
+
"19": "AMERICAN GOLDFINCH",
|
| 45 |
+
"20": "AMERICAN KESTREL",
|
| 46 |
+
"21": "AMERICAN PIPIT",
|
| 47 |
+
"22": "AMERICAN REDSTART",
|
| 48 |
+
"23": "AMERICAN ROBIN",
|
| 49 |
+
"24": "AMERICAN WIGEON",
|
| 50 |
+
"25": "AMETHYST WOODSTAR",
|
| 51 |
+
"26": "ANDEAN GOOSE",
|
| 52 |
+
"27": "ANDEAN LAPWING",
|
| 53 |
+
"28": "ANDEAN SISKIN",
|
| 54 |
+
"29": "ANHINGA",
|
| 55 |
+
"30": "ANIANIAU",
|
| 56 |
+
"31": "ANNAS HUMMINGBIRD",
|
| 57 |
+
"32": "ANTBIRD",
|
| 58 |
+
"33": "ANTILLEAN EUPHONIA",
|
| 59 |
+
"34": "APAPANE",
|
| 60 |
+
"35": "APOSTLEBIRD",
|
| 61 |
+
"36": "ARARIPE MANAKIN",
|
| 62 |
+
"37": "ASHY STORM PETREL",
|
| 63 |
+
"38": "ASHY THRUSHBIRD",
|
| 64 |
+
"39": "ASIAN CRESTED IBIS",
|
| 65 |
+
"40": "ASIAN DOLLARD BIRD",
|
| 66 |
+
"41": "ASIAN GREEN BEE EATER",
|
| 67 |
+
"42": "ASIAN OPENBILL STORK",
|
| 68 |
+
"43": "AUCKLAND SHAQ",
|
| 69 |
+
"44": "AUSTRAL CANASTERO",
|
| 70 |
+
"45": "AUSTRALASIAN FIGBIRD",
|
| 71 |
+
"46": "AVADAVAT",
|
| 72 |
+
"47": "AZARAS SPINETAIL",
|
| 73 |
+
"48": "AZURE BREASTED PITTA",
|
| 74 |
+
"49": "AZURE JAY",
|
| 75 |
+
"50": "AZURE TANAGER",
|
| 76 |
+
"51": "AZURE TIT",
|
| 77 |
+
"52": "BAIKAL TEAL",
|
| 78 |
+
"53": "BALD EAGLE",
|
| 79 |
+
"54": "BALD IBIS",
|
| 80 |
+
"55": "BALI STARLING",
|
| 81 |
+
"56": "BALTIMORE ORIOLE",
|
| 82 |
+
"57": "BANANAQUIT",
|
| 83 |
+
"58": "BAND TAILED GUAN",
|
| 84 |
+
"59": "BANDED BROADBILL",
|
| 85 |
+
"60": "BANDED PITA",
|
| 86 |
+
"61": "BANDED STILT",
|
| 87 |
+
"62": "BAR-TAILED GODWIT",
|
| 88 |
+
"63": "BARN OWL",
|
| 89 |
+
"64": "BARN SWALLOW",
|
| 90 |
+
"65": "BARRED PUFFBIRD",
|
| 91 |
+
"66": "BARROWS GOLDENEYE",
|
| 92 |
+
"67": "BAY-BREASTED WARBLER",
|
| 93 |
+
"68": "BEARDED BARBET",
|
| 94 |
+
"69": "BEARDED BELLBIRD",
|
| 95 |
+
"70": "BEARDED REEDLING",
|
| 96 |
+
"71": "BELTED KINGFISHER",
|
| 97 |
+
"72": "BIRD OF PARADISE",
|
| 98 |
+
"73": "BLACK AND YELLOW BROADBILL",
|
| 99 |
+
"74": "BLACK BAZA",
|
| 100 |
+
"75": "BLACK BREASTED PUFFBIRD",
|
| 101 |
+
"76": "BLACK COCKATO",
|
| 102 |
+
"77": "BLACK FACED SPOONBILL",
|
| 103 |
+
"78": "BLACK FRANCOLIN",
|
| 104 |
+
"79": "BLACK HEADED CAIQUE",
|
| 105 |
+
"80": "BLACK NECKED STILT",
|
| 106 |
+
"81": "BLACK SKIMMER",
|
| 107 |
+
"82": "BLACK SWAN",
|
| 108 |
+
"83": "BLACK TAIL CRAKE",
|
| 109 |
+
"84": "BLACK THROATED BUSHTIT",
|
| 110 |
+
"85": "BLACK THROATED HUET",
|
| 111 |
+
"86": "BLACK THROATED WARBLER",
|
| 112 |
+
"87": "BLACK VENTED SHEARWATER",
|
| 113 |
+
"88": "BLACK VULTURE",
|
| 114 |
+
"89": "BLACK-CAPPED CHICKADEE",
|
| 115 |
+
"90": "BLACK-NECKED GREBE",
|
| 116 |
+
"91": "BLACK-THROATED SPARROW",
|
| 117 |
+
"92": "BLACKBURNIAM WARBLER",
|
| 118 |
+
"93": "BLONDE CRESTED WOODPECKER",
|
| 119 |
+
"94": "BLOOD PHEASANT",
|
| 120 |
+
"95": "BLUE COAU",
|
| 121 |
+
"96": "BLUE DACNIS",
|
| 122 |
+
"97": "BLUE GRAY GNATCATCHER",
|
| 123 |
+
"98": "BLUE GROSBEAK",
|
| 124 |
+
"99": "BLUE GROUSE",
|
| 125 |
+
"100": "BLUE HERON",
|
| 126 |
+
"101": "BLUE MALKOHA",
|
| 127 |
+
"102": "BLUE THROATED PIPING GUAN",
|
| 128 |
+
"103": "BLUE THROATED TOUCANET",
|
| 129 |
+
"104": "BOBOLINK",
|
| 130 |
+
"105": "BORNEAN BRISTLEHEAD",
|
| 131 |
+
"106": "BORNEAN LEAFBIRD",
|
| 132 |
+
"107": "BORNEAN PHEASANT",
|
| 133 |
+
"108": "BRANDT CORMARANT",
|
| 134 |
+
"109": "BREWERS BLACKBIRD",
|
| 135 |
+
"110": "BROWN CREPPER",
|
| 136 |
+
"111": "BROWN HEADED COWBIRD",
|
| 137 |
+
"112": "BROWN NOODY",
|
| 138 |
+
"113": "BROWN THRASHER",
|
| 139 |
+
"114": "BUFFLEHEAD",
|
| 140 |
+
"115": "BULWERS PHEASANT",
|
| 141 |
+
"116": "BURCHELLS COURSER",
|
| 142 |
+
"117": "BUSH TURKEY",
|
| 143 |
+
"118": "CAATINGA CACHOLOTE",
|
| 144 |
+
"119": "CABOTS TRAGOPAN",
|
| 145 |
+
"120": "CACTUS WREN",
|
| 146 |
+
"121": "CALIFORNIA CONDOR",
|
| 147 |
+
"122": "CALIFORNIA GULL",
|
| 148 |
+
"123": "CALIFORNIA QUAIL",
|
| 149 |
+
"124": "CAMPO FLICKER",
|
| 150 |
+
"125": "CANARY",
|
| 151 |
+
"126": "CANVASBACK",
|
| 152 |
+
"127": "CAPE GLOSSY STARLING",
|
| 153 |
+
"128": "CAPE LONGCLAW",
|
| 154 |
+
"129": "CAPE MAY WARBLER",
|
| 155 |
+
"130": "CAPE ROCK THRUSH",
|
| 156 |
+
"131": "CAPPED HERON",
|
| 157 |
+
"132": "CAPUCHINBIRD",
|
| 158 |
+
"133": "CARMINE BEE-EATER",
|
| 159 |
+
"134": "CASPIAN TERN",
|
| 160 |
+
"135": "CASSOWARY",
|
| 161 |
+
"136": "CEDAR WAXWING",
|
| 162 |
+
"137": "CERULEAN WARBLER",
|
| 163 |
+
"138": "CHARA DE COLLAR",
|
| 164 |
+
"139": "CHATTERING LORY",
|
| 165 |
+
"140": "CHESTNET BELLIED EUPHONIA",
|
| 166 |
+
"141": "CHESTNUT WINGED CUCKOO",
|
| 167 |
+
"142": "CHINESE BAMBOO PARTRIDGE",
|
| 168 |
+
"143": "CHINESE POND HERON",
|
| 169 |
+
"144": "CHIPPING SPARROW",
|
| 170 |
+
"145": "CHUCAO TAPACULO",
|
| 171 |
+
"146": "CHUKAR PARTRIDGE",
|
| 172 |
+
"147": "CINNAMON ATTILA",
|
| 173 |
+
"148": "CINNAMON FLYCATCHER",
|
| 174 |
+
"149": "CINNAMON TEAL",
|
| 175 |
+
"150": "CLARKS GREBE",
|
| 176 |
+
"151": "CLARKS NUTCRACKER",
|
| 177 |
+
"152": "COCK OF THE ROCK",
|
| 178 |
+
"153": "COCKATOO",
|
| 179 |
+
"154": "COLLARED ARACARI",
|
| 180 |
+
"155": "COLLARED CRESCENTCHEST",
|
| 181 |
+
"156": "COMMON FIRECREST",
|
| 182 |
+
"157": "COMMON GRACKLE",
|
| 183 |
+
"158": "COMMON HOUSE MARTIN",
|
| 184 |
+
"159": "COMMON IORA",
|
| 185 |
+
"160": "COMMON LOON",
|
| 186 |
+
"161": "COMMON POORWILL",
|
| 187 |
+
"162": "COMMON STARLING",
|
| 188 |
+
"163": "COPPERSMITH BARBET",
|
| 189 |
+
"164": "COPPERY TAILED COUCAL",
|
| 190 |
+
"165": "CRAB PLOVER",
|
| 191 |
+
"166": "CRANE HAWK",
|
| 192 |
+
"167": "CREAM COLORED WOODPECKER",
|
| 193 |
+
"168": "CRESTED AUKLET",
|
| 194 |
+
"169": "CRESTED CARACARA",
|
| 195 |
+
"170": "CRESTED COUA",
|
| 196 |
+
"171": "CRESTED FIREBACK",
|
| 197 |
+
"172": "CRESTED KINGFISHER",
|
| 198 |
+
"173": "CRESTED NUTHATCH",
|
| 199 |
+
"174": "CRESTED OROPENDOLA",
|
| 200 |
+
"175": "CRESTED SERPENT EAGLE",
|
| 201 |
+
"176": "CRESTED SHRIKETIT",
|
| 202 |
+
"177": "CRESTED WOOD PARTRIDGE",
|
| 203 |
+
"178": "CRIMSON CHAT",
|
| 204 |
+
"179": "CRIMSON SUNBIRD",
|
| 205 |
+
"180": "CROW",
|
| 206 |
+
"181": "CUBAN TODY",
|
| 207 |
+
"182": "CUBAN TROGON",
|
| 208 |
+
"183": "CURL CRESTED ARACURI",
|
| 209 |
+
"184": "D-ARNAUDS BARBET",
|
| 210 |
+
"185": "DALMATIAN PELICAN",
|
| 211 |
+
"186": "DARJEELING WOODPECKER",
|
| 212 |
+
"187": "DARK EYED JUNCO",
|
| 213 |
+
"188": "DAURIAN REDSTART",
|
| 214 |
+
"189": "DEMOISELLE CRANE",
|
| 215 |
+
"190": "DOUBLE BARRED FINCH",
|
| 216 |
+
"191": "DOUBLE BRESTED CORMARANT",
|
| 217 |
+
"192": "DOUBLE EYED FIG PARROT",
|
| 218 |
+
"193": "DOWNY WOODPECKER",
|
| 219 |
+
"194": "DUNLIN",
|
| 220 |
+
"195": "DUSKY LORY",
|
| 221 |
+
"196": "DUSKY ROBIN",
|
| 222 |
+
"197": "EARED PITA",
|
| 223 |
+
"198": "EASTERN BLUEBIRD",
|
| 224 |
+
"199": "EASTERN BLUEBONNET",
|
| 225 |
+
"200": "EASTERN GOLDEN WEAVER",
|
| 226 |
+
"201": "EASTERN MEADOWLARK",
|
| 227 |
+
"202": "EASTERN ROSELLA",
|
| 228 |
+
"203": "EASTERN TOWEE",
|
| 229 |
+
"204": "EASTERN WIP POOR WILL",
|
| 230 |
+
"205": "EASTERN YELLOW ROBIN",
|
| 231 |
+
"206": "ECUADORIAN HILLSTAR",
|
| 232 |
+
"207": "EGYPTIAN GOOSE",
|
| 233 |
+
"208": "ELEGANT TROGON",
|
| 234 |
+
"209": "ELLIOTS PHEASANT",
|
| 235 |
+
"210": "EMERALD TANAGER",
|
| 236 |
+
"211": "EMPEROR PENGUIN",
|
| 237 |
+
"212": "EMU",
|
| 238 |
+
"213": "ENGGANO MYNA",
|
| 239 |
+
"214": "EURASIAN BULLFINCH",
|
| 240 |
+
"215": "EURASIAN GOLDEN ORIOLE",
|
| 241 |
+
"216": "EURASIAN MAGPIE",
|
| 242 |
+
"217": "EUROPEAN GOLDFINCH",
|
| 243 |
+
"218": "EUROPEAN TURTLE DOVE",
|
| 244 |
+
"219": "EVENING GROSBEAK",
|
| 245 |
+
"220": "FAIRY BLUEBIRD",
|
| 246 |
+
"221": "FAIRY PENGUIN",
|
| 247 |
+
"222": "FAIRY TERN",
|
| 248 |
+
"223": "FAN TAILED WIDOW",
|
| 249 |
+
"224": "FASCIATED WREN",
|
| 250 |
+
"225": "FIERY MINIVET",
|
| 251 |
+
"226": "FIORDLAND PENGUIN",
|
| 252 |
+
"227": "FIRE TAILLED MYZORNIS",
|
| 253 |
+
"228": "FLAME BOWERBIRD",
|
| 254 |
+
"229": "FLAME TANAGER",
|
| 255 |
+
"230": "FOREST WAGTAIL",
|
| 256 |
+
"231": "FRIGATE",
|
| 257 |
+
"232": "FRILL BACK PIGEON",
|
| 258 |
+
"233": "GAMBELS QUAIL",
|
| 259 |
+
"234": "GANG GANG COCKATOO",
|
| 260 |
+
"235": "GILA WOODPECKER",
|
| 261 |
+
"236": "GILDED FLICKER",
|
| 262 |
+
"237": "GLOSSY IBIS",
|
| 263 |
+
"238": "GO AWAY BIRD",
|
| 264 |
+
"239": "GOLD WING WARBLER",
|
| 265 |
+
"240": "GOLDEN BOWER BIRD",
|
| 266 |
+
"241": "GOLDEN CHEEKED WARBLER",
|
| 267 |
+
"242": "GOLDEN CHLOROPHONIA",
|
| 268 |
+
"243": "GOLDEN EAGLE",
|
| 269 |
+
"244": "GOLDEN PARAKEET",
|
| 270 |
+
"245": "GOLDEN PHEASANT",
|
| 271 |
+
"246": "GOLDEN PIPIT",
|
| 272 |
+
"247": "GOULDIAN FINCH",
|
| 273 |
+
"248": "GRANDALA",
|
| 274 |
+
"249": "GRAY CATBIRD",
|
| 275 |
+
"250": "GRAY KINGBIRD",
|
| 276 |
+
"251": "GRAY PARTRIDGE",
|
| 277 |
+
"252": "GREAT ARGUS",
|
| 278 |
+
"253": "GREAT GRAY OWL",
|
| 279 |
+
"254": "GREAT JACAMAR",
|
| 280 |
+
"255": "GREAT KISKADEE",
|
| 281 |
+
"256": "GREAT POTOO",
|
| 282 |
+
"257": "GREAT TINAMOU",
|
| 283 |
+
"258": "GREAT XENOPS",
|
| 284 |
+
"259": "GREATER PEWEE",
|
| 285 |
+
"260": "GREATER PRAIRIE CHICKEN",
|
| 286 |
+
"261": "GREATOR SAGE GROUSE",
|
| 287 |
+
"262": "GREEN BROADBILL",
|
| 288 |
+
"263": "GREEN JAY",
|
| 289 |
+
"264": "GREEN MAGPIE",
|
| 290 |
+
"265": "GREEN WINGED DOVE",
|
| 291 |
+
"266": "GREY CUCKOOSHRIKE",
|
| 292 |
+
"267": "GREY HEADED CHACHALACA",
|
| 293 |
+
"268": "GREY HEADED FISH EAGLE",
|
| 294 |
+
"269": "GREY PLOVER",
|
| 295 |
+
"270": "GROVED BILLED ANI",
|
| 296 |
+
"271": "GUINEA TURACO",
|
| 297 |
+
"272": "GUINEAFOWL",
|
| 298 |
+
"273": "GURNEYS PITTA",
|
| 299 |
+
"274": "GYRFALCON",
|
| 300 |
+
"275": "HAMERKOP",
|
| 301 |
+
"276": "HARLEQUIN DUCK",
|
| 302 |
+
"277": "HARLEQUIN QUAIL",
|
| 303 |
+
"278": "HARPY EAGLE",
|
| 304 |
+
"279": "HAWAIIAN GOOSE",
|
| 305 |
+
"280": "HAWFINCH",
|
| 306 |
+
"281": "HELMET VANGA",
|
| 307 |
+
"282": "HEPATIC TANAGER",
|
| 308 |
+
"283": "HIMALAYAN BLUETAIL",
|
| 309 |
+
"284": "HIMALAYAN MONAL",
|
| 310 |
+
"285": "HOATZIN",
|
| 311 |
+
"286": "HOODED MERGANSER",
|
| 312 |
+
"287": "HOOPOES",
|
| 313 |
+
"288": "HORNED GUAN",
|
| 314 |
+
"289": "HORNED LARK",
|
| 315 |
+
"290": "HORNED SUNGEM",
|
| 316 |
+
"291": "HOUSE FINCH",
|
| 317 |
+
"292": "HOUSE SPARROW",
|
| 318 |
+
"293": "HYACINTH MACAW",
|
| 319 |
+
"294": "IBERIAN MAGPIE",
|
| 320 |
+
"295": "IBISBILL",
|
| 321 |
+
"296": "IMPERIAL SHAQ",
|
| 322 |
+
"297": "INCA TERN",
|
| 323 |
+
"298": "INDIAN BUSTARD",
|
| 324 |
+
"299": "INDIAN PITTA",
|
| 325 |
+
"300": "INDIAN ROLLER",
|
| 326 |
+
"301": "INDIAN VULTURE",
|
| 327 |
+
"302": "INDIGO BUNTING",
|
| 328 |
+
"303": "INDIGO FLYCATCHER",
|
| 329 |
+
"304": "INLAND DOTTEREL",
|
| 330 |
+
"305": "IVORY BILLED ARACARI",
|
| 331 |
+
"306": "IVORY GULL",
|
| 332 |
+
"307": "IWI",
|
| 333 |
+
"308": "JABIRU",
|
| 334 |
+
"309": "JACK SNIPE",
|
| 335 |
+
"310": "JACOBIN PIGEON",
|
| 336 |
+
"311": "JANDAYA PARAKEET",
|
| 337 |
+
"312": "JAPANESE ROBIN",
|
| 338 |
+
"313": "JAVA SPARROW",
|
| 339 |
+
"314": "JOCOTOCO ANTPITTA",
|
| 340 |
+
"315": "KAGU",
|
| 341 |
+
"316": "KAKAPO",
|
| 342 |
+
"317": "KILLDEAR",
|
| 343 |
+
"318": "KING EIDER",
|
| 344 |
+
"319": "KING VULTURE",
|
| 345 |
+
"320": "KIWI",
|
| 346 |
+
"321": "KNOB BILLED DUCK",
|
| 347 |
+
"322": "KOOKABURRA",
|
| 348 |
+
"323": "LARK BUNTING",
|
| 349 |
+
"324": "LAUGHING GULL",
|
| 350 |
+
"325": "LAZULI BUNTING",
|
| 351 |
+
"326": "LESSER ADJUTANT",
|
| 352 |
+
"327": "LILAC ROLLER",
|
| 353 |
+
"328": "LIMPKIN",
|
| 354 |
+
"329": "LITTLE AUK",
|
| 355 |
+
"330": "LOGGERHEAD SHRIKE",
|
| 356 |
+
"331": "LONG-EARED OWL",
|
| 357 |
+
"332": "LOONEY BIRDS",
|
| 358 |
+
"333": "LUCIFER HUMMINGBIRD",
|
| 359 |
+
"334": "MAGPIE GOOSE",
|
| 360 |
+
"335": "MALABAR HORNBILL",
|
| 361 |
+
"336": "MALACHITE KINGFISHER",
|
| 362 |
+
"337": "MALAGASY WHITE EYE",
|
| 363 |
+
"338": "MALEO",
|
| 364 |
+
"339": "MALLARD DUCK",
|
| 365 |
+
"340": "MANDRIN DUCK",
|
| 366 |
+
"341": "MANGROVE CUCKOO",
|
| 367 |
+
"342": "MARABOU STORK",
|
| 368 |
+
"343": "MASKED BOBWHITE",
|
| 369 |
+
"344": "MASKED BOOBY",
|
| 370 |
+
"345": "MASKED LAPWING",
|
| 371 |
+
"346": "MCKAYS BUNTING",
|
| 372 |
+
"347": "MERLIN",
|
| 373 |
+
"348": "MIKADO PHEASANT",
|
| 374 |
+
"349": "MILITARY MACAW",
|
| 375 |
+
"350": "MOURNING DOVE",
|
| 376 |
+
"351": "MYNA",
|
| 377 |
+
"352": "NICOBAR PIGEON",
|
| 378 |
+
"353": "NOISY FRIARBIRD",
|
| 379 |
+
"354": "NORTHERN BEARDLESS TYRANNULET",
|
| 380 |
+
"355": "NORTHERN CARDINAL",
|
| 381 |
+
"356": "NORTHERN FLICKER",
|
| 382 |
+
"357": "NORTHERN FULMAR",
|
| 383 |
+
"358": "NORTHERN GANNET",
|
| 384 |
+
"359": "NORTHERN GOSHAWK",
|
| 385 |
+
"360": "NORTHERN JACANA",
|
| 386 |
+
"361": "NORTHERN MOCKINGBIRD",
|
| 387 |
+
"362": "NORTHERN PARULA",
|
| 388 |
+
"363": "NORTHERN RED BISHOP",
|
| 389 |
+
"364": "NORTHERN SHOVELER",
|
| 390 |
+
"365": "OCELLATED TURKEY",
|
| 391 |
+
"366": "OILBIRD",
|
| 392 |
+
"367": "OKINAWA RAIL",
|
| 393 |
+
"368": "ORANGE BREASTED TROGON",
|
| 394 |
+
"369": "ORANGE BRESTED BUNTING",
|
| 395 |
+
"370": "ORIENTAL BAY OWL",
|
| 396 |
+
"371": "ORNATE HAWK EAGLE",
|
| 397 |
+
"372": "OSPREY",
|
| 398 |
+
"373": "OSTRICH",
|
| 399 |
+
"374": "OVENBIRD",
|
| 400 |
+
"375": "OYSTER CATCHER",
|
| 401 |
+
"376": "PAINTED BUNTING",
|
| 402 |
+
"377": "PALILA",
|
| 403 |
+
"378": "PALM NUT VULTURE",
|
| 404 |
+
"379": "PARADISE TANAGER",
|
| 405 |
+
"380": "PARAKETT AUKLET",
|
| 406 |
+
"381": "PARAKETT AUKLET",
|
| 407 |
+
"382": "PARUS MAJOR",
|
| 408 |
+
"383": "PATAGONIAN SIERRA FINCH",
|
| 409 |
+
"384": "PEACOCK",
|
| 410 |
+
"385": "PEREGRINE FALCON",
|
| 411 |
+
"386": "PHAINOPEPLA",
|
| 412 |
+
"387": "PHILIPPINE EAGLE",
|
| 413 |
+
"388": "PINK ROBIN",
|
| 414 |
+
"389": "PLUSH CRESTED JAY",
|
| 415 |
+
"390": "POMARINE JAEGER",
|
| 416 |
+
"391": "PUFFIN",
|
| 417 |
+
"392": "PUNA TEAL",
|
| 418 |
+
"393": "PURPLE FINCH",
|
| 419 |
+
"394": "PURPLE GALLINULE",
|
| 420 |
+
"395": "PURPLE MARTIN",
|
| 421 |
+
"396": "PURPLE SWAMPHEN",
|
| 422 |
+
"397": "PYGMY KINGFISHER",
|
| 423 |
+
"398": "PYRRHULOXIA",
|
| 424 |
+
"399": "QUETZAL",
|
| 425 |
+
"400": "RAINBOW LORIKEET",
|
| 426 |
+
"401": "RAZORBILL",
|
| 427 |
+
"402": "RED BEARDED BEE EATER",
|
| 428 |
+
"403": "RED BELLIED PITTA",
|
| 429 |
+
"404": "RED BILLED TROPICBIRD",
|
| 430 |
+
"405": "RED BROWED FINCH",
|
| 431 |
+
"406": "RED CROSSBILL",
|
| 432 |
+
"407": "RED FACED CORMORANT",
|
| 433 |
+
"408": "RED FACED WARBLER",
|
| 434 |
+
"409": "RED FODY",
|
| 435 |
+
"410": "RED HEADED DUCK",
|
| 436 |
+
"411": "RED HEADED WOODPECKER",
|
| 437 |
+
"412": "RED KNOT",
|
| 438 |
+
"413": "RED LEGGED HONEYCREEPER",
|
| 439 |
+
"414": "RED NAPED TROGON",
|
| 440 |
+
"415": "RED SHOULDERED HAWK",
|
| 441 |
+
"416": "RED TAILED HAWK",
|
| 442 |
+
"417": "RED TAILED THRUSH",
|
| 443 |
+
"418": "RED WINGED BLACKBIRD",
|
| 444 |
+
"419": "RED WISKERED BULBUL",
|
| 445 |
+
"420": "REGENT BOWERBIRD",
|
| 446 |
+
"421": "RING-NECKED PHEASANT",
|
| 447 |
+
"422": "ROADRUNNER",
|
| 448 |
+
"423": "ROCK DOVE",
|
| 449 |
+
"424": "ROSE BREASTED COCKATOO",
|
| 450 |
+
"425": "ROSE BREASTED GROSBEAK",
|
| 451 |
+
"426": "ROSEATE SPOONBILL",
|
| 452 |
+
"427": "ROSY FACED LOVEBIRD",
|
| 453 |
+
"428": "ROUGH LEG BUZZARD",
|
| 454 |
+
"429": "ROYAL FLYCATCHER",
|
| 455 |
+
"430": "RUBY CROWNED KINGLET",
|
| 456 |
+
"431": "RUBY THROATED HUMMINGBIRD",
|
| 457 |
+
"432": "RUDDY SHELDUCK",
|
| 458 |
+
"433": "RUDY KINGFISHER",
|
| 459 |
+
"434": "RUFOUS KINGFISHER",
|
| 460 |
+
"435": "RUFOUS TREPE",
|
| 461 |
+
"436": "RUFUOS MOTMOT",
|
| 462 |
+
"437": "SAMATRAN THRUSH",
|
| 463 |
+
"438": "SAND MARTIN",
|
| 464 |
+
"439": "SANDHILL CRANE",
|
| 465 |
+
"440": "SATYR TRAGOPAN",
|
| 466 |
+
"441": "SAYS PHOEBE",
|
| 467 |
+
"442": "SCARLET CROWNED FRUIT DOVE",
|
| 468 |
+
"443": "SCARLET FACED LIOCICHLA",
|
| 469 |
+
"444": "SCARLET IBIS",
|
| 470 |
+
"445": "SCARLET MACAW",
|
| 471 |
+
"446": "SCARLET TANAGER",
|
| 472 |
+
"447": "SHOEBILL",
|
| 473 |
+
"448": "SHORT BILLED DOWITCHER",
|
| 474 |
+
"449": "SMITHS LONGSPUR",
|
| 475 |
+
"450": "SNOW GOOSE",
|
| 476 |
+
"451": "SNOW PARTRIDGE",
|
| 477 |
+
"452": "SNOWY EGRET",
|
| 478 |
+
"453": "SNOWY OWL",
|
| 479 |
+
"454": "SNOWY PLOVER",
|
| 480 |
+
"455": "SNOWY SHEATHBILL",
|
| 481 |
+
"456": "SORA",
|
| 482 |
+
"457": "SPANGLED COTINGA",
|
| 483 |
+
"458": "SPLENDID WREN",
|
| 484 |
+
"459": "SPOON BILED SANDPIPER",
|
| 485 |
+
"460": "SPOTTED CATBIRD",
|
| 486 |
+
"461": "SPOTTED WHISTLING DUCK",
|
| 487 |
+
"462": "SQUACCO HERON",
|
| 488 |
+
"463": "SRI LANKA BLUE MAGPIE",
|
| 489 |
+
"464": "STEAMER DUCK",
|
| 490 |
+
"465": "STORK BILLED KINGFISHER",
|
| 491 |
+
"466": "STRIATED CARACARA",
|
| 492 |
+
"467": "STRIPED OWL",
|
| 493 |
+
"468": "STRIPPED MANAKIN",
|
| 494 |
+
"469": "STRIPPED SWALLOW",
|
| 495 |
+
"470": "SUNBITTERN",
|
| 496 |
+
"471": "SUPERB STARLING",
|
| 497 |
+
"472": "SURF SCOTER",
|
| 498 |
+
"473": "SWINHOES PHEASANT",
|
| 499 |
+
"474": "TAILORBIRD",
|
| 500 |
+
"475": "TAIWAN MAGPIE",
|
| 501 |
+
"476": "TAKAHE",
|
| 502 |
+
"477": "TASMANIAN HEN",
|
| 503 |
+
"478": "TAWNY FROGMOUTH",
|
| 504 |
+
"479": "TEAL DUCK",
|
| 505 |
+
"480": "TIT MOUSE",
|
| 506 |
+
"481": "TOUCHAN",
|
| 507 |
+
"482": "TOWNSENDS WARBLER",
|
| 508 |
+
"483": "TREE SWALLOW",
|
| 509 |
+
"484": "TRICOLORED BLACKBIRD",
|
| 510 |
+
"485": "TROPICAL KINGBIRD",
|
| 511 |
+
"486": "TRUMPTER SWAN",
|
| 512 |
+
"487": "TURKEY VULTURE",
|
| 513 |
+
"488": "TURQUOISE MOTMOT",
|
| 514 |
+
"489": "UMBRELLA BIRD",
|
| 515 |
+
"490": "VARIED THRUSH",
|
| 516 |
+
"491": "VEERY",
|
| 517 |
+
"492": "VENEZUELIAN TROUPIAL",
|
| 518 |
+
"493": "VERDIN",
|
| 519 |
+
"494": "VERMILION FLYCATHER",
|
| 520 |
+
"495": "VICTORIA CROWNED PIGEON",
|
| 521 |
+
"496": "VIOLET BACKED STARLING",
|
| 522 |
+
"497": "VIOLET CUCKOO",
|
| 523 |
+
"498": "VIOLET GREEN SWALLOW",
|
| 524 |
+
"499": "VIOLET TURACO",
|
| 525 |
+
"500": "VISAYAN HORNBILL",
|
| 526 |
+
"501": "VULTURINE GUINEAFOWL",
|
| 527 |
+
"502": "WALL CREAPER",
|
| 528 |
+
"503": "WATTLED CURASSOW",
|
| 529 |
+
"504": "WATTLED LAPWING",
|
| 530 |
+
"505": "WHIMBREL",
|
| 531 |
+
"506": "WHITE BREASTED WATERHEN",
|
| 532 |
+
"507": "WHITE BROWED CRAKE",
|
| 533 |
+
"508": "WHITE CHEEKED TURACO",
|
| 534 |
+
"509": "WHITE CRESTED HORNBILL",
|
| 535 |
+
"510": "WHITE EARED HUMMINGBIRD",
|
| 536 |
+
"511": "WHITE NECKED RAVEN",
|
| 537 |
+
"512": "WHITE TAILED TROPIC",
|
| 538 |
+
"513": "WHITE THROATED BEE EATER",
|
| 539 |
+
"514": "WILD TURKEY",
|
| 540 |
+
"515": "WILLOW PTARMIGAN",
|
| 541 |
+
"516": "WILSONS BIRD OF PARADISE",
|
| 542 |
+
"517": "WOOD DUCK",
|
| 543 |
+
"518": "WOOD THRUSH",
|
| 544 |
+
"519": "WOODLAND KINGFISHER",
|
| 545 |
+
"520": "WRENTIT",
|
| 546 |
+
"521": "YELLOW BELLIED FLOWERPECKER",
|
| 547 |
+
"522": "YELLOW BREASTED CHAT",
|
| 548 |
+
"523": "YELLOW CACIQUE",
|
| 549 |
+
"524": "YELLOW HEADED BLACKBIRD",
|
| 550 |
+
"525": "ZEBRA DOVE"
|
| 551 |
+
}
|
| 552 |
+
|
| 553 |
+
predictions = {labels[str(i)]: round(probs[i], 3) for i in range(len(probs))}
|
| 554 |
+
return predictions
|
| 555 |
+
|
| 556 |
+
# Create Gradio interface for the bird species classifier
|
| 557 |
+
iface = gr.Interface(
|
| 558 |
+
fn=bird_classification,
|
| 559 |
+
inputs=gr.Image(type="numpy"),
|
| 560 |
+
outputs=gr.Label(label="Prediction Scores"),
|
| 561 |
+
title="Bird Species Classifier",
|
| 562 |
+
description="Upload an image to classify the bird species."
|
| 563 |
+
)
|
| 564 |
+
|
| 565 |
+
if __name__ == "__main__":
|
| 566 |
+
iface.launch()
|