kritsg commited on
Commit
8d20412
1 Parent(s): 5642988

Displays model prediction along with explanation

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