Initial codelab project.

Signed-off-by: Dave Smith <smithdave@google.com>
Change-Id: I47bf8723ad61e90e1256bbcb833ad15503b47346
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..ae4e043
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,28 @@
+# How to Contribute
+
+We'd love to accept your patches and contributions to this project. There are
+just a few small guidelines you need to follow.
+
+## Contributor License Agreement
+
+Contributions to this project must be accompanied by a Contributor License
+Agreement. You (or your employer) retain the copyright to your contribution;
+this simply gives us permission to use and redistribute your contributions as
+part of the project. Head over to <https://cla.developers.google.com/> to see
+your current agreements on file or to sign a new one.
+
+You generally only need to submit a CLA once, so if you've already submitted one
+(even if it was for a different project), you probably don't need to do it
+again.
+
+## Code reviews
+
+All submissions, including submissions by project members, require review. We
+use GitHub pull requests for this purpose. Consult
+[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
+information on using pull requests.
+
+## Community Guidelines
+
+This project follows [Google's Open Source Community
+Guidelines](https://opensource.google.com/conduct/).
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..bd97b64
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright 2019, Google LLC
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..141c5fb
--- /dev/null
+++ b/README.md
@@ -0,0 +1,25 @@
+# Coral Edge TPU Image Classifer Codelab
+
+This folder contains the source code for the
+[Edge TPU Classifier codelab](https://codelabs.developers.google.com/codelabs/edgetpu-classifier)
+
+### License
+
+```
+Copyright 2019 Google LLC
+
+Licensed to the Apache Software Foundation (ASF) under one or more contributor
+license agreements. See the NOTICE file distributed with this work for
+additional information regarding copyright ownership. The ASF licenses this
+file to you under the Apache License, Version 2.0 (the "License"); you may not
+use this file except in compliance with the License. You may obtain a copy of
+the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+License for the specific language governing permissions and limitations under
+the License.
+```
\ No newline at end of file
diff --git a/classifier-end/helpers.py b/classifier-end/helpers.py
new file mode 100644
index 0000000..bd59794
--- /dev/null
+++ b/classifier-end/helpers.py
@@ -0,0 +1,69 @@
+# Copyright 2019 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import re
+
+from edgetpuvision import svg
+
+CSS_STYLES = str(svg.CssStyle({'.back': svg.Style(fill='black',
+                                                  stroke='black',
+                                                  stroke_width='0.5em')}))
+
+def size_em(length):
+    return '%sem' % str(0.6 * length)
+
+def overlay(title, results, inference_time, layout):
+    x0, y0, width, height = layout.window
+    font_size = 0.03 * height
+
+    defs = svg.Defs()
+    defs += CSS_STYLES
+
+    doc = svg.Svg(width=width, height=height,
+                  viewBox='%s %s %s %s' % layout.window,
+                  font_size=font_size, font_family='monospace', font_weight=500)
+    doc += defs
+
+    ox1, ox2 = x0 + 20, x0 + width - 20
+    oy1, oy2 = y0 + 20 + font_size, y0 + height - 20
+
+    # Classes
+    lines = ['%s (%.2f)' % pair for pair in results]
+    for i, line in enumerate(lines):
+        y = oy2 - i * 1.7 * font_size
+
+        doc += svg.Rect(x=0, y=0, width=size_em(len(line)), height='1em',
+                        transform='translate(%s, %s) scale(-1,-1)' % (ox2, y),
+                        _class='back')
+
+        doc += svg.Text(line, text_anchor='end', x=ox2, y=y, fill='white')
+
+    # Title
+    if title:
+        doc += svg.Rect(x=0, y=0, width=size_em(len(title)), height='1em',
+                        transform='translate(%s, %s) scale(1,-1)' % (ox1, oy1), _class='back')
+        doc += svg.Text(title, x=ox1, y=oy1, fill='white')
+
+    # Info
+    lines = [
+        'Inference time: %.2f ms (%.2f fps)' % (inference_time, 1000.0 / inference_time)
+    ]
+
+    for i, line in enumerate(reversed(lines)):
+        y = oy2 - i * 1.7 * font_size
+        doc += svg.Rect(x=0, y=0, width=size_em(len(line)), height='1em',
+                       transform='translate(%s, %s) scale(1,-1)' % (ox1, y), _class='back')
+        doc += svg.Text(line, x=ox1, y=y, fill='white')
+
+    return str(doc)
diff --git a/classifier-end/main.py b/classifier-end/main.py
new file mode 100644
index 0000000..73614fb
--- /dev/null
+++ b/classifier-end/main.py
@@ -0,0 +1,77 @@
+# Copyright 2019 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import argparse
+import helpers
+
+from edgetpuvision import gstreamer, utils
+
+from edgetpu.classification.engine import ClassificationEngine
+
+def init_engine(model):
+    """Returns an Edge TPU classifier for the model"""
+    return ClassificationEngine(model)
+
+def input_size(engine):
+    """Returns the required input size for the model"""
+    _, h, w, _ = engine.get_input_tensor_shape()
+    return w, h
+
+def inference_time(engine):
+    """Returns the time taken to run inference"""
+    return engine.get_inference_time()
+
+def classify_image(tensor, engine, labels):
+    """Runs inference on the provided input tensor and
+    returns an overlay to display the inference results
+    """
+    results = engine.ClassifyWithInputTensor(
+        tensor, threshold=0.1, top_k=3)
+    return [(labels[i], score) for i, score in results]
+
+def main(args):
+    input_source = "{0}:YUY2:{1}:{2}/1".format(args.source, args.resolution, args.frames)
+    labels = utils.load_labels(args.labels)
+    engine = init_engine(args.model)
+    inference_size = input_size(engine)
+
+    def frame_callback(tensor, layout, command):
+        results = classify_image(tensor, engine, labels)
+        time = inference_time(engine)
+        if results and time:
+            return helpers.overlay('Edge TPU Image Classifier', results, time, layout)
+
+    gstreamer.run(inference_size, frame_callback,
+        source=input_source,
+        loop=False,
+        display=gstreamer.Display.FULLSCREEN)
+
+if __name__ == '__main__':
+    parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
+    parser.add_argument('--source',
+                    help='camera device (e.g. /dev/video0)',
+                    default='/dev/video0')
+    parser.add_argument('--resolution',
+                    help='camera capture resolution',
+                    default='1280x720')
+    parser.add_argument('--frames',
+                    help='camera capture frame rate',
+                    default='30')
+    parser.add_argument('--model', required=True,
+                    help='.tflite model path')
+    parser.add_argument('--labels', required=True,
+                    help='label file path')
+    args = parser.parse_args()
+
+    main(args)
diff --git a/classifier-end/models/imagenet_labels.txt b/classifier-end/models/imagenet_labels.txt
new file mode 100644
index 0000000..a998708
--- /dev/null
+++ b/classifier-end/models/imagenet_labels.txt
@@ -0,0 +1,1001 @@
+   0  background
+   1  tench, Tinca tinca
+   2  goldfish, Carassius auratus
+   3  great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias
+   4  tiger shark, Galeocerdo cuvieri
+   5  hammerhead, hammerhead shark
+   6  electric ray, crampfish, numbfish, torpedo
+   7  stingray
+   8  cock
+   9  hen
+  10  ostrich, Struthio camelus
+  11  brambling, Fringilla montifringilla
+  12  goldfinch, Carduelis carduelis
+  13  house finch, linnet, Carpodacus mexicanus
+  14  junco, snowbird
+  15  indigo bunting, indigo finch, indigo bird, Passerina cyanea
+  16  robin, American robin, Turdus migratorius
+  17  bulbul
+  18  jay
+  19  magpie
+  20  chickadee
+  21  water ouzel, dipper
+  22  kite
+  23  bald eagle, American eagle, Haliaeetus leucocephalus
+  24  vulture
+  25  great grey owl, great gray owl, Strix nebulosa
+  26  European fire salamander, Salamandra salamandra
+  27  common newt, Triturus vulgaris
+  28  eft
+  29  spotted salamander, Ambystoma maculatum
+  30  axolotl, mud puppy, Ambystoma mexicanum
+  31  bullfrog, Rana catesbeiana
+  32  tree frog, tree-frog
+  33  tailed frog, bell toad, ribbed toad, tailed toad, Ascaphus trui
+  34  loggerhead, loggerhead turtle, Caretta caretta
+  35  leatherback turtle, leatherback, leathery turtle, Dermochelys coriacea
+  36  mud turtle
+  37  terrapin
+  38  box turtle, box tortoise
+  39  banded gecko
+  40  common iguana, iguana, Iguana iguana
+  41  American chameleon, anole, Anolis carolinensis
+  42  whiptail, whiptail lizard
+  43  agama
+  44  frilled lizard, Chlamydosaurus kingi
+  45  alligator lizard
+  46  Gila monster, Heloderma suspectum
+  47  green lizard, Lacerta viridis
+  48  African chameleon, Chamaeleo chamaeleon
+  49  Komodo dragon, Komodo lizard, dragon lizard, giant lizard, Varanus komodoensis
+  50  African crocodile, Nile crocodile, Crocodylus niloticus
+  51  American alligator, Alligator mississipiensis
+  52  triceratops
+  53  thunder snake, worm snake, Carphophis amoenus
+  54  ringneck snake, ring-necked snake, ring snake
+  55  hognose snake, puff adder, sand viper
+  56  green snake, grass snake
+  57  king snake, kingsnake
+  58  garter snake, grass snake
+  59  water snake
+  60  vine snake
+  61  night snake, Hypsiglena torquata
+  62  boa constrictor, Constrictor constrictor
+  63  rock python, rock snake, Python sebae
+  64  Indian cobra, Naja naja
+  65  green mamba
+  66  sea snake
+  67  horned viper, cerastes, sand viper, horned asp, Cerastes cornutus
+  68  diamondback, diamondback rattlesnake, Crotalus adamanteus
+  69  sidewinder, horned rattlesnake, Crotalus cerastes
+  70  trilobite
+  71  harvestman, daddy longlegs, Phalangium opilio
+  72  scorpion
+  73  black and gold garden spider, Argiope aurantia
+  74  barn spider, Araneus cavaticus
+  75  garden spider, Aranea diademata
+  76  black widow, Latrodectus mactans
+  77  tarantula
+  78  wolf spider, hunting spider
+  79  tick
+  80  centipede
+  81  black grouse
+  82  ptarmigan
+  83  ruffed grouse, partridge, Bonasa umbellus
+  84  prairie chicken, prairie grouse, prairie fowl
+  85  peacock
+  86  quail
+  87  partridge
+  88  African grey, African gray, Psittacus erithacus
+  89  macaw
+  90  sulphur-crested cockatoo, Kakatoe galerita, Cacatua galerita
+  91  lorikeet
+  92  coucal
+  93  bee eater
+  94  hornbill
+  95  hummingbird
+  96  jacamar
+  97  toucan
+  98  drake
+  99  red-breasted merganser, Mergus serrator
+ 100  goose
+ 101  black swan, Cygnus atratus
+ 102  tusker
+ 103  echidna, spiny anteater, anteater
+ 104  platypus, duckbill, duckbilled platypus, duck-billed platypus, Ornithorhynchus anatinus
+ 105  wallaby, brush kangaroo
+ 106  koala, koala bear, kangaroo bear, native bear, Phascolarctos cinereus
+ 107  wombat
+ 108  jellyfish
+ 109  sea anemone, anemone
+ 110  brain coral
+ 111  flatworm, platyhelminth
+ 112  nematode, nematode worm, roundworm
+ 113  conch
+ 114  snail
+ 115  slug
+ 116  sea slug, nudibranch
+ 117  chiton, coat-of-mail shell, sea cradle, polyplacophore
+ 118  chambered nautilus, pearly nautilus, nautilus
+ 119  Dungeness crab, Cancer magister
+ 120  rock crab, Cancer irroratus
+ 121  fiddler crab
+ 122  king crab, Alaska crab, Alaskan king crab, Alaska king crab, Paralithodes camtschatica
+ 123  American lobster, Northern lobster, Maine lobster, Homarus americanus
+ 124  spiny lobster, langouste, rock lobster, crawfish, crayfish, sea crawfish
+ 125  crayfish, crawfish, crawdad, crawdaddy
+ 126  hermit crab
+ 127  isopod
+ 128  white stork, Ciconia ciconia
+ 129  black stork, Ciconia nigra
+ 130  spoonbill
+ 131  flamingo
+ 132  little blue heron, Egretta caerulea
+ 133  American egret, great white heron, Egretta albus
+ 134  bittern
+ 135  crane
+ 136  limpkin, Aramus pictus
+ 137  European gallinule, Porphyrio porphyrio
+ 138  American coot, marsh hen, mud hen, water hen, Fulica americana
+ 139  bustard
+ 140  ruddy turnstone, Arenaria interpres
+ 141  red-backed sandpiper, dunlin, Erolia alpina
+ 142  redshank, Tringa totanus
+ 143  dowitcher
+ 144  oystercatcher, oyster catcher
+ 145  pelican
+ 146  king penguin, Aptenodytes patagonica
+ 147  albatross, mollymawk
+ 148  grey whale, gray whale, devilfish, Eschrichtius gibbosus, Eschrichtius robustus
+ 149  killer whale, killer, orca, grampus, sea wolf, Orcinus orca
+ 150  dugong, Dugong dugon
+ 151  sea lion
+ 152  Chihuahua
+ 153  Japanese spaniel
+ 154  Maltese dog, Maltese terrier, Maltese
+ 155  Pekinese, Pekingese, Peke
+ 156  Shih-Tzu
+ 157  Blenheim spaniel
+ 158  papillon
+ 159  toy terrier
+ 160  Rhodesian ridgeback
+ 161  Afghan hound, Afghan
+ 162  basset, basset hound
+ 163  beagle
+ 164  bloodhound, sleuthhound
+ 165  bluetick
+ 166  black-and-tan coonhound
+ 167  Walker hound, Walker foxhound
+ 168  English foxhound
+ 169  redbone
+ 170  borzoi, Russian wolfhound
+ 171  Irish wolfhound
+ 172  Italian greyhound
+ 173  whippet
+ 174  Ibizan hound, Ibizan Podenco
+ 175  Norwegian elkhound, elkhound
+ 176  otterhound, otter hound
+ 177  Saluki, gazelle hound
+ 178  Scottish deerhound, deerhound
+ 179  Weimaraner
+ 180  Staffordshire bullterrier, Staffordshire bull terrier
+ 181  American Staffordshire terrier, Staffordshire terrier, American pit bull terrier, pit bull terrier
+ 182  Bedlington terrier
+ 183  Border terrier
+ 184  Kerry blue terrier
+ 185  Irish terrier
+ 186  Norfolk terrier
+ 187  Norwich terrier
+ 188  Yorkshire terrier
+ 189  wire-haired fox terrier
+ 190  Lakeland terrier
+ 191  Sealyham terrier, Sealyham
+ 192  Airedale, Airedale terrier
+ 193  cairn, cairn terrier
+ 194  Australian terrier
+ 195  Dandie Dinmont, Dandie Dinmont terrier
+ 196  Boston bull, Boston terrier
+ 197  miniature schnauzer
+ 198  giant schnauzer
+ 199  standard schnauzer
+ 200  Scotch terrier, Scottish terrier, Scottie
+ 201  Tibetan terrier, chrysanthemum dog
+ 202  silky terrier, Sydney silky
+ 203  soft-coated wheaten terrier
+ 204  West Highland white terrier
+ 205  Lhasa, Lhasa apso
+ 206  flat-coated retriever
+ 207  curly-coated retriever
+ 208  golden retriever
+ 209  Labrador retriever
+ 210  Chesapeake Bay retriever
+ 211  German short-haired pointer
+ 212  vizsla, Hungarian pointer
+ 213  English setter
+ 214  Irish setter, red setter
+ 215  Gordon setter
+ 216  Brittany spaniel
+ 217  clumber, clumber spaniel
+ 218  English springer, English springer spaniel
+ 219  Welsh springer spaniel
+ 220  cocker spaniel, English cocker spaniel, cocker
+ 221  Sussex spaniel
+ 222  Irish water spaniel
+ 223  kuvasz
+ 224  schipperke
+ 225  groenendael
+ 226  malinois
+ 227  briard
+ 228  kelpie
+ 229  komondor
+ 230  Old English sheepdog, bobtail
+ 231  Shetland sheepdog, Shetland sheep dog, Shetland
+ 232  collie
+ 233  Border collie
+ 234  Bouvier des Flandres, Bouviers des Flandres
+ 235  Rottweiler
+ 236  German shepherd, German shepherd dog, German police dog, alsatian
+ 237  Doberman, Doberman pinscher
+ 238  miniature pinscher
+ 239  Greater Swiss Mountain dog
+ 240  Bernese mountain dog
+ 241  Appenzeller
+ 242  EntleBucher
+ 243  boxer
+ 244  bull mastiff
+ 245  Tibetan mastiff
+ 246  French bulldog
+ 247  Great Dane
+ 248  Saint Bernard, St Bernard
+ 249  Eskimo dog, husky
+ 250  malamute, malemute, Alaskan malamute
+ 251  Siberian husky
+ 252  dalmatian, coach dog, carriage dog
+ 253  affenpinscher, monkey pinscher, monkey dog
+ 254  basenji
+ 255  pug, pug-dog
+ 256  Leonberg
+ 257  Newfoundland, Newfoundland dog
+ 258  Great Pyrenees
+ 259  Samoyed, Samoyede
+ 260  Pomeranian
+ 261  chow, chow chow
+ 262  keeshond
+ 263  Brabancon griffon
+ 264  Pembroke, Pembroke Welsh corgi
+ 265  Cardigan, Cardigan Welsh corgi
+ 266  toy poodle
+ 267  miniature poodle
+ 268  standard poodle
+ 269  Mexican hairless
+ 270  timber wolf, grey wolf, gray wolf, Canis lupus
+ 271  white wolf, Arctic wolf, Canis lupus tundrarum
+ 272  red wolf, maned wolf, Canis rufus, Canis niger
+ 273  coyote, prairie wolf, brush wolf, Canis latrans
+ 274  dingo, warrigal, warragal, Canis dingo
+ 275  dhole, Cuon alpinus
+ 276  African hunting dog, hyena dog, Cape hunting dog, Lycaon pictus
+ 277  hyena, hyaena
+ 278  red fox, Vulpes vulpes
+ 279  kit fox, Vulpes macrotis
+ 280  Arctic fox, white fox, Alopex lagopus
+ 281  grey fox, gray fox, Urocyon cinereoargenteus
+ 282  tabby, tabby cat
+ 283  tiger cat
+ 284  Persian cat
+ 285  Siamese cat, Siamese
+ 286  Egyptian cat
+ 287  cougar, puma, catamount, mountain lion, painter, panther, Felis concolor
+ 288  lynx, catamount
+ 289  leopard, Panthera pardus
+ 290  snow leopard, ounce, Panthera uncia
+ 291  jaguar, panther, Panthera onca, Felis onca
+ 292  lion, king of beasts, Panthera leo
+ 293  tiger, Panthera tigris
+ 294  cheetah, chetah, Acinonyx jubatus
+ 295  brown bear, bruin, Ursus arctos
+ 296  American black bear, black bear, Ursus americanus, Euarctos americanus
+ 297  ice bear, polar bear, Ursus Maritimus, Thalarctos maritimus
+ 298  sloth bear, Melursus ursinus, Ursus ursinus
+ 299  mongoose
+ 300  meerkat, mierkat
+ 301  tiger beetle
+ 302  ladybug, ladybeetle, lady beetle, ladybird, ladybird beetle
+ 303  ground beetle, carabid beetle
+ 304  long-horned beetle, longicorn, longicorn beetle
+ 305  leaf beetle, chrysomelid
+ 306  dung beetle
+ 307  rhinoceros beetle
+ 308  weevil
+ 309  fly
+ 310  bee
+ 311  ant, emmet, pismire
+ 312  grasshopper, hopper
+ 313  cricket
+ 314  walking stick, walkingstick, stick insect
+ 315  cockroach, roach
+ 316  mantis, mantid
+ 317  cicada, cicala
+ 318  leafhopper
+ 319  lacewing, lacewing fly
+ 320  dragonfly, darning needle, devil's darning needle, sewing needle, snake feeder, snake doctor, mosquito hawk, skeeter hawk
+ 321  damselfly
+ 322  admiral
+ 323  ringlet, ringlet butterfly
+ 324  monarch, monarch butterfly, milkweed butterfly, Danaus plexippus
+ 325  cabbage butterfly
+ 326  sulphur butterfly, sulfur butterfly
+ 327  lycaenid, lycaenid butterfly
+ 328  starfish, sea star
+ 329  sea urchin
+ 330  sea cucumber, holothurian
+ 331  wood rabbit, cottontail, cottontail rabbit
+ 332  hare
+ 333  Angora, Angora rabbit
+ 334  hamster
+ 335  porcupine, hedgehog
+ 336  fox squirrel, eastern fox squirrel, Sciurus niger
+ 337  marmot
+ 338  beaver
+ 339  guinea pig, Cavia cobaya
+ 340  sorrel
+ 341  zebra
+ 342  hog, pig, grunter, squealer, Sus scrofa
+ 343  wild boar, boar, Sus scrofa
+ 344  warthog
+ 345  hippopotamus, hippo, river horse, Hippopotamus amphibius
+ 346  ox
+ 347  water buffalo, water ox, Asiatic buffalo, Bubalus bubalis
+ 348  bison
+ 349  ram, tup
+ 350  bighorn, bighorn sheep, cimarron, Rocky Mountain bighorn, Rocky Mountain sheep, Ovis canadensis
+ 351  ibex, Capra ibex
+ 352  hartebeest
+ 353  impala, Aepyceros melampus
+ 354  gazelle
+ 355  Arabian camel, dromedary, Camelus dromedarius
+ 356  llama
+ 357  weasel
+ 358  mink
+ 359  polecat, fitch, foulmart, foumart, Mustela putorius
+ 360  black-footed ferret, ferret, Mustela nigripes
+ 361  otter
+ 362  skunk, polecat, wood pussy
+ 363  badger
+ 364  armadillo
+ 365  three-toed sloth, ai, Bradypus tridactylus
+ 366  orangutan, orang, orangutang, Pongo pygmaeus
+ 367  gorilla, Gorilla gorilla
+ 368  chimpanzee, chimp, Pan troglodytes
+ 369  gibbon, Hylobates lar
+ 370  siamang, Hylobates syndactylus, Symphalangus syndactylus
+ 371  guenon, guenon monkey
+ 372  patas, hussar monkey, Erythrocebus patas
+ 373  baboon
+ 374  macaque
+ 375  langur
+ 376  colobus, colobus monkey
+ 377  proboscis monkey, Nasalis larvatus
+ 378  marmoset
+ 379  capuchin, ringtail, Cebus capucinus
+ 380  howler monkey, howler
+ 381  titi, titi monkey
+ 382  spider monkey, Ateles geoffroyi
+ 383  squirrel monkey, Saimiri sciureus
+ 384  Madagascar cat, ring-tailed lemur, Lemur catta
+ 385  indri, indris, Indri indri, Indri brevicaudatus
+ 386  Indian elephant, Elephas maximus
+ 387  African elephant, Loxodonta africana
+ 388  lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens
+ 389  giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca
+ 390  barracouta, snoek
+ 391  eel
+ 392  coho, cohoe, coho salmon, blue jack, silver salmon, Oncorhynchus kisutch
+ 393  rock beauty, Holocanthus tricolor
+ 394  anemone fish
+ 395  sturgeon
+ 396  gar, garfish, garpike, billfish, Lepisosteus osseus
+ 397  lionfish
+ 398  puffer, pufferfish, blowfish, globefish
+ 399  abacus
+ 400  abaya
+ 401  academic gown, academic robe, judge's robe
+ 402  accordion, piano accordion, squeeze box
+ 403  acoustic guitar
+ 404  aircraft carrier, carrier, flattop, attack aircraft carrier
+ 405  airliner
+ 406  airship, dirigible
+ 407  altar
+ 408  ambulance
+ 409  amphibian, amphibious vehicle
+ 410  analog clock
+ 411  apiary, bee house
+ 412  apron
+ 413  ashcan, trash can, garbage can, wastebin, ash bin, ash-bin, ashbin, dustbin, trash barrel, trash bin
+ 414  assault rifle, assault gun
+ 415  backpack, back pack, knapsack, packsack, rucksack, haversack
+ 416  bakery, bakeshop, bakehouse
+ 417  balance beam, beam
+ 418  balloon
+ 419  ballpoint, ballpoint pen, ballpen, Biro
+ 420  Band Aid
+ 421  banjo
+ 422  bannister, banister, balustrade, balusters, handrail
+ 423  barbell
+ 424  barber chair
+ 425  barbershop
+ 426  barn
+ 427  barometer
+ 428  barrel, cask
+ 429  barrow, garden cart, lawn cart, wheelbarrow
+ 430  baseball
+ 431  basketball
+ 432  bassinet
+ 433  bassoon
+ 434  bathing cap, swimming cap
+ 435  bath towel
+ 436  bathtub, bathing tub, bath, tub
+ 437  beach wagon, station wagon, wagon, estate car, beach waggon, station waggon, waggon
+ 438  beacon, lighthouse, beacon light, pharos
+ 439  beaker
+ 440  bearskin, busby, shako
+ 441  beer bottle
+ 442  beer glass
+ 443  bell cote, bell cot
+ 444  bib
+ 445  bicycle-built-for-two, tandem bicycle, tandem
+ 446  bikini, two-piece
+ 447  binder, ring-binder
+ 448  binoculars, field glasses, opera glasses
+ 449  birdhouse
+ 450  boathouse
+ 451  bobsled, bobsleigh, bob
+ 452  bolo tie, bolo, bola tie, bola
+ 453  bonnet, poke bonnet
+ 454  bookcase
+ 455  bookshop, bookstore, bookstall
+ 456  bottlecap
+ 457  bow
+ 458  bow tie, bow-tie, bowtie
+ 459  brass, memorial tablet, plaque
+ 460  brassiere, bra, bandeau
+ 461  breakwater, groin, groyne, mole, bulwark, seawall, jetty
+ 462  breastplate, aegis, egis
+ 463  broom
+ 464  bucket, pail
+ 465  buckle
+ 466  bulletproof vest
+ 467  bullet train, bullet
+ 468  butcher shop, meat market
+ 469  cab, hack, taxi, taxicab
+ 470  caldron, cauldron
+ 471  candle, taper, wax light
+ 472  cannon
+ 473  canoe
+ 474  can opener, tin opener
+ 475  cardigan
+ 476  car mirror
+ 477  carousel, carrousel, merry-go-round, roundabout, whirligig
+ 478  carpenter's kit, tool kit
+ 479  carton
+ 480  car wheel
+ 481  cash machine, cash dispenser, automated teller machine, automatic teller machine, automated teller, automatic teller, ATM
+ 482  cassette
+ 483  cassette player
+ 484  castle
+ 485  catamaran
+ 486  CD player
+ 487  cello, violoncello
+ 488  cellular telephone, cellular phone, cellphone, cell, mobile phone
+ 489  chain
+ 490  chainlink fence
+ 491  chain mail, ring mail, mail, chain armor, chain armour, ring armor, ring armour
+ 492  chain saw, chainsaw
+ 493  chest
+ 494  chiffonier, commode
+ 495  chime, bell, gong
+ 496  china cabinet, china closet
+ 497  Christmas stocking
+ 498  church, church building
+ 499  cinema, movie theater, movie theatre, movie house, picture palace
+ 500  cleaver, meat cleaver, chopper
+ 501  cliff dwelling
+ 502  cloak
+ 503  clog, geta, patten, sabot
+ 504  cocktail shaker
+ 505  coffee mug
+ 506  coffeepot
+ 507  coil, spiral, volute, whorl, helix
+ 508  combination lock
+ 509  computer keyboard, keypad
+ 510  confectionery, confectionary, candy store
+ 511  container ship, containership, container vessel
+ 512  convertible
+ 513  corkscrew, bottle screw
+ 514  cornet, horn, trumpet, trump
+ 515  cowboy boot
+ 516  cowboy hat, ten-gallon hat
+ 517  cradle
+ 518  crane
+ 519  crash helmet
+ 520  crate
+ 521  crib, cot
+ 522  Crock Pot
+ 523  croquet ball
+ 524  crutch
+ 525  cuirass
+ 526  dam, dike, dyke
+ 527  desk
+ 528  desktop computer
+ 529  dial telephone, dial phone
+ 530  diaper, nappy, napkin
+ 531  digital clock
+ 532  digital watch
+ 533  dining table, board
+ 534  dishrag, dishcloth
+ 535  dishwasher, dish washer, dishwashing machine
+ 536  disk brake, disc brake
+ 537  dock, dockage, docking facility
+ 538  dogsled, dog sled, dog sleigh
+ 539  dome
+ 540  doormat, welcome mat
+ 541  drilling platform, offshore rig
+ 542  drum, membranophone, tympan
+ 543  drumstick
+ 544  dumbbell
+ 545  Dutch oven
+ 546  electric fan, blower
+ 547  electric guitar
+ 548  electric locomotive
+ 549  entertainment center
+ 550  envelope
+ 551  espresso maker
+ 552  face powder
+ 553  feather boa, boa
+ 554  file, file cabinet, filing cabinet
+ 555  fireboat
+ 556  fire engine, fire truck
+ 557  fire screen, fireguard
+ 558  flagpole, flagstaff
+ 559  flute, transverse flute
+ 560  folding chair
+ 561  football helmet
+ 562  forklift
+ 563  fountain
+ 564  fountain pen
+ 565  four-poster
+ 566  freight car
+ 567  French horn, horn
+ 568  frying pan, frypan, skillet
+ 569  fur coat
+ 570  garbage truck, dustcart
+ 571  gasmask, respirator, gas helmet
+ 572  gas pump, gasoline pump, petrol pump, island dispenser
+ 573  goblet
+ 574  go-kart
+ 575  golf ball
+ 576  golfcart, golf cart
+ 577  gondola
+ 578  gong, tam-tam
+ 579  gown
+ 580  grand piano, grand
+ 581  greenhouse, nursery, glasshouse
+ 582  grille, radiator grille
+ 583  grocery store, grocery, food market, market
+ 584  guillotine
+ 585  hair slide
+ 586  hair spray
+ 587  half track
+ 588  hammer
+ 589  hamper
+ 590  hand blower, blow dryer, blow drier, hair dryer, hair drier
+ 591  hand-held computer, hand-held microcomputer
+ 592  handkerchief, hankie, hanky, hankey
+ 593  hard disc, hard disk, fixed disk
+ 594  harmonica, mouth organ, harp, mouth harp
+ 595  harp
+ 596  harvester, reaper
+ 597  hatchet
+ 598  holster
+ 599  home theater, home theatre
+ 600  honeycomb
+ 601  hook, claw
+ 602  hoopskirt, crinoline
+ 603  horizontal bar, high bar
+ 604  horse cart, horse-cart
+ 605  hourglass
+ 606  iPod
+ 607  iron, smoothing iron
+ 608  jack-o'-lantern
+ 609  jean, blue jean, denim
+ 610  jeep, landrover
+ 611  jersey, T-shirt, tee shirt
+ 612  jigsaw puzzle
+ 613  jinrikisha, ricksha, rickshaw
+ 614  joystick
+ 615  kimono
+ 616  knee pad
+ 617  knot
+ 618  lab coat, laboratory coat
+ 619  ladle
+ 620  lampshade, lamp shade
+ 621  laptop, laptop computer
+ 622  lawn mower, mower
+ 623  lens cap, lens cover
+ 624  letter opener, paper knife, paperknife
+ 625  library
+ 626  lifeboat
+ 627  lighter, light, igniter, ignitor
+ 628  limousine, limo
+ 629  liner, ocean liner
+ 630  lipstick, lip rouge
+ 631  Loafer
+ 632  lotion
+ 633  loudspeaker, speaker, speaker unit, loudspeaker system, speaker system
+ 634  loupe, jeweler's loupe
+ 635  lumbermill, sawmill
+ 636  magnetic compass
+ 637  mailbag, postbag
+ 638  mailbox, letter box
+ 639  maillot
+ 640  maillot, tank suit
+ 641  manhole cover
+ 642  maraca
+ 643  marimba, xylophone
+ 644  mask
+ 645  matchstick
+ 646  maypole
+ 647  maze, labyrinth
+ 648  measuring cup
+ 649  medicine chest, medicine cabinet
+ 650  megalith, megalithic structure
+ 651  microphone, mike
+ 652  microwave, microwave oven
+ 653  military uniform
+ 654  milk can
+ 655  minibus
+ 656  miniskirt, mini
+ 657  minivan
+ 658  missile
+ 659  mitten
+ 660  mixing bowl
+ 661  mobile home, manufactured home
+ 662  Model T
+ 663  modem
+ 664  monastery
+ 665  monitor
+ 666  moped
+ 667  mortar
+ 668  mortarboard
+ 669  mosque
+ 670  mosquito net
+ 671  motor scooter, scooter
+ 672  mountain bike, all-terrain bike, off-roader
+ 673  mountain tent
+ 674  mouse, computer mouse
+ 675  mousetrap
+ 676  moving van
+ 677  muzzle
+ 678  nail
+ 679  neck brace
+ 680  necklace
+ 681  nipple
+ 682  notebook, notebook computer
+ 683  obelisk
+ 684  oboe, hautboy, hautbois
+ 685  ocarina, sweet potato
+ 686  odometer, hodometer, mileometer, milometer
+ 687  oil filter
+ 688  organ, pipe organ
+ 689  oscilloscope, scope, cathode-ray oscilloscope, CRO
+ 690  overskirt
+ 691  oxcart
+ 692  oxygen mask
+ 693  packet
+ 694  paddle, boat paddle
+ 695  paddlewheel, paddle wheel
+ 696  padlock
+ 697  paintbrush
+ 698  pajama, pyjama, pj's, jammies
+ 699  palace
+ 700  panpipe, pandean pipe, syrinx
+ 701  paper towel
+ 702  parachute, chute
+ 703  parallel bars, bars
+ 704  park bench
+ 705  parking meter
+ 706  passenger car, coach, carriage
+ 707  patio, terrace
+ 708  pay-phone, pay-station
+ 709  pedestal, plinth, footstall
+ 710  pencil box, pencil case
+ 711  pencil sharpener
+ 712  perfume, essence
+ 713  Petri dish
+ 714  photocopier
+ 715  pick, plectrum, plectron
+ 716  pickelhaube
+ 717  picket fence, paling
+ 718  pickup, pickup truck
+ 719  pier
+ 720  piggy bank, penny bank
+ 721  pill bottle
+ 722  pillow
+ 723  ping-pong ball
+ 724  pinwheel
+ 725  pirate, pirate ship
+ 726  pitcher, ewer
+ 727  plane, carpenter's plane, woodworking plane
+ 728  planetarium
+ 729  plastic bag
+ 730  plate rack
+ 731  plow, plough
+ 732  plunger, plumber's helper
+ 733  Polaroid camera, Polaroid Land camera
+ 734  pole
+ 735  police van, police wagon, paddy wagon, patrol wagon, wagon, black Maria
+ 736  poncho
+ 737  pool table, billiard table, snooker table
+ 738  pop bottle, soda bottle
+ 739  pot, flowerpot
+ 740  potter's wheel
+ 741  power drill
+ 742  prayer rug, prayer mat
+ 743  printer
+ 744  prison, prison house
+ 745  projectile, missile
+ 746  projector
+ 747  puck, hockey puck
+ 748  punching bag, punch bag, punching ball, punchball
+ 749  purse
+ 750  quill, quill pen
+ 751  quilt, comforter, comfort, puff
+ 752  racer, race car, racing car
+ 753  racket, racquet
+ 754  radiator
+ 755  radio, wireless
+ 756  radio telescope, radio reflector
+ 757  rain barrel
+ 758  recreational vehicle, RV, R.V.
+ 759  reel
+ 760  reflex camera
+ 761  refrigerator, icebox
+ 762  remote control, remote
+ 763  restaurant, eating house, eating place, eatery
+ 764  revolver, six-gun, six-shooter
+ 765  rifle
+ 766  rocking chair, rocker
+ 767  rotisserie
+ 768  rubber eraser, rubber, pencil eraser
+ 769  rugby ball
+ 770  rule, ruler
+ 771  running shoe
+ 772  safe
+ 773  safety pin
+ 774  saltshaker, salt shaker
+ 775  sandal
+ 776  sarong
+ 777  sax, saxophone
+ 778  scabbard
+ 779  scale, weighing machine
+ 780  school bus
+ 781  schooner
+ 782  scoreboard
+ 783  screen, CRT screen
+ 784  screw
+ 785  screwdriver
+ 786  seat belt, seatbelt
+ 787  sewing machine
+ 788  shield, buckler
+ 789  shoe shop, shoe-shop, shoe store
+ 790  shoji
+ 791  shopping basket
+ 792  shopping cart
+ 793  shovel
+ 794  shower cap
+ 795  shower curtain
+ 796  ski
+ 797  ski mask
+ 798  sleeping bag
+ 799  slide rule, slipstick
+ 800  sliding door
+ 801  slot, one-armed bandit
+ 802  snorkel
+ 803  snowmobile
+ 804  snowplow, snowplough
+ 805  soap dispenser
+ 806  soccer ball
+ 807  sock
+ 808  solar dish, solar collector, solar furnace
+ 809  sombrero
+ 810  soup bowl
+ 811  space bar
+ 812  space heater
+ 813  space shuttle
+ 814  spatula
+ 815  speedboat
+ 816  spider web, spider's web
+ 817  spindle
+ 818  sports car, sport car
+ 819  spotlight, spot
+ 820  stage
+ 821  steam locomotive
+ 822  steel arch bridge
+ 823  steel drum
+ 824  stethoscope
+ 825  stole
+ 826  stone wall
+ 827  stopwatch, stop watch
+ 828  stove
+ 829  strainer
+ 830  streetcar, tram, tramcar, trolley, trolley car
+ 831  stretcher
+ 832  studio couch, day bed
+ 833  stupa, tope
+ 834  submarine, pigboat, sub, U-boat
+ 835  suit, suit of clothes
+ 836  sundial
+ 837  sunglass
+ 838  sunglasses, dark glasses, shades
+ 839  sunscreen, sunblock, sun blocker
+ 840  suspension bridge
+ 841  swab, swob, mop
+ 842  sweatshirt
+ 843  swimming trunks, bathing trunks
+ 844  swing
+ 845  switch, electric switch, electrical switch
+ 846  syringe
+ 847  table lamp
+ 848  tank, army tank, armored combat vehicle, armoured combat vehicle
+ 849  tape player
+ 850  teapot
+ 851  teddy, teddy bear
+ 852  television, television system
+ 853  tennis ball
+ 854  thatch, thatched roof
+ 855  theater curtain, theatre curtain
+ 856  thimble
+ 857  thresher, thrasher, threshing machine
+ 858  throne
+ 859  tile roof
+ 860  toaster
+ 861  tobacco shop, tobacconist shop, tobacconist
+ 862  toilet seat
+ 863  torch
+ 864  totem pole
+ 865  tow truck, tow car, wrecker
+ 866  toyshop
+ 867  tractor
+ 868  trailer truck, tractor trailer, trucking rig, rig, articulated lorry, semi
+ 869  tray
+ 870  trench coat
+ 871  tricycle, trike, velocipede
+ 872  trimaran
+ 873  tripod
+ 874  triumphal arch
+ 875  trolleybus, trolley coach, trackless trolley
+ 876  trombone
+ 877  tub, vat
+ 878  turnstile
+ 879  typewriter keyboard
+ 880  umbrella
+ 881  unicycle, monocycle
+ 882  upright, upright piano
+ 883  vacuum, vacuum cleaner
+ 884  vase
+ 885  vault
+ 886  velvet
+ 887  vending machine
+ 888  vestment
+ 889  viaduct
+ 890  violin, fiddle
+ 891  volleyball
+ 892  waffle iron
+ 893  wall clock
+ 894  wallet, billfold, notecase, pocketbook
+ 895  wardrobe, closet, press
+ 896  warplane, military plane
+ 897  washbasin, handbasin, washbowl, lavabo, wash-hand basin
+ 898  washer, automatic washer, washing machine
+ 899  water bottle
+ 900  water jug
+ 901  water tower
+ 902  whiskey jug
+ 903  whistle
+ 904  wig
+ 905  window screen
+ 906  window shade
+ 907  Windsor tie
+ 908  wine bottle
+ 909  wing
+ 910  wok
+ 911  wooden spoon
+ 912  wool, woolen, woollen
+ 913  worm fence, snake fence, snake-rail fence, Virginia fence
+ 914  wreck
+ 915  yawl
+ 916  yurt
+ 917  web site, website, internet site, site
+ 918  comic book
+ 919  crossword puzzle, crossword
+ 920  street sign
+ 921  traffic light, traffic signal, stoplight
+ 922  book jacket, dust cover, dust jacket, dust wrapper
+ 923  menu
+ 924  plate
+ 925  guacamole
+ 926  consomme
+ 927  hot pot, hotpot
+ 928  trifle
+ 929  ice cream, icecream
+ 930  ice lolly, lolly, lollipop, popsicle
+ 931  French loaf
+ 932  bagel, beigel
+ 933  pretzel
+ 934  cheeseburger
+ 935  hotdog, hot dog, red hot
+ 936  mashed potato
+ 937  head cabbage
+ 938  broccoli
+ 939  cauliflower
+ 940  zucchini, courgette
+ 941  spaghetti squash
+ 942  acorn squash
+ 943  butternut squash
+ 944  cucumber, cuke
+ 945  artichoke, globe artichoke
+ 946  bell pepper
+ 947  cardoon
+ 948  mushroom
+ 949  Granny Smith
+ 950  strawberry
+ 951  orange
+ 952  lemon
+ 953  fig
+ 954  pineapple, ananas
+ 955  banana
+ 956  jackfruit, jak, jack
+ 957  custard apple
+ 958  pomegranate
+ 959  hay
+ 960  carbonara
+ 961  chocolate sauce, chocolate syrup
+ 962  dough
+ 963  meat loaf, meatloaf
+ 964  pizza, pizza pie
+ 965  potpie
+ 966  burrito
+ 967  red wine
+ 968  espresso
+ 969  cup
+ 970  eggnog
+ 971  alp
+ 972  bubble
+ 973  cliff, drop, drop-off
+ 974  coral reef
+ 975  geyser
+ 976  lakeside, lakeshore
+ 977  promontory, headland, head, foreland
+ 978  sandbar, sand bar
+ 979  seashore, coast, seacoast, sea-coast
+ 980  valley, vale
+ 981  volcano
+ 982  ballplayer, baseball player
+ 983  groom, bridegroom
+ 984  scuba diver
+ 985  rapeseed
+ 986  daisy
+ 987  yellow lady's slipper, yellow lady-slipper, Cypripedium calceolus, Cypripedium parviflorum
+ 988  corn
+ 989  acorn
+ 990  hip, rose hip, rosehip
+ 991  buckeye, horse chestnut, conker
+ 992  coral fungus
+ 993  agaric
+ 994  gyromitra
+ 995  stinkhorn, carrion fungus
+ 996  earthstar
+ 997  hen-of-the-woods, hen of the woods, Polyporus frondosus, Grifola frondosa
+ 998  bolete
+ 999  ear, spike, capitulum
+1000  toilet tissue, toilet paper, bathroom tissue
\ No newline at end of file
diff --git a/classifier-end/models/inception_v2_224_quant.tflite b/classifier-end/models/inception_v2_224_quant.tflite
new file mode 100644
index 0000000..f6eed74
--- /dev/null
+++ b/classifier-end/models/inception_v2_224_quant.tflite
Binary files differ
diff --git a/classifier-end/models/inception_v2_224_quant_edgetpu.tflite b/classifier-end/models/inception_v2_224_quant_edgetpu.tflite
new file mode 100644
index 0000000..827453b
--- /dev/null
+++ b/classifier-end/models/inception_v2_224_quant_edgetpu.tflite
Binary files differ
diff --git a/classifier-start/helpers.py b/classifier-start/helpers.py
new file mode 100644
index 0000000..bd59794
--- /dev/null
+++ b/classifier-start/helpers.py
@@ -0,0 +1,69 @@
+# Copyright 2019 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import re
+
+from edgetpuvision import svg
+
+CSS_STYLES = str(svg.CssStyle({'.back': svg.Style(fill='black',
+                                                  stroke='black',
+                                                  stroke_width='0.5em')}))
+
+def size_em(length):
+    return '%sem' % str(0.6 * length)
+
+def overlay(title, results, inference_time, layout):
+    x0, y0, width, height = layout.window
+    font_size = 0.03 * height
+
+    defs = svg.Defs()
+    defs += CSS_STYLES
+
+    doc = svg.Svg(width=width, height=height,
+                  viewBox='%s %s %s %s' % layout.window,
+                  font_size=font_size, font_family='monospace', font_weight=500)
+    doc += defs
+
+    ox1, ox2 = x0 + 20, x0 + width - 20
+    oy1, oy2 = y0 + 20 + font_size, y0 + height - 20
+
+    # Classes
+    lines = ['%s (%.2f)' % pair for pair in results]
+    for i, line in enumerate(lines):
+        y = oy2 - i * 1.7 * font_size
+
+        doc += svg.Rect(x=0, y=0, width=size_em(len(line)), height='1em',
+                        transform='translate(%s, %s) scale(-1,-1)' % (ox2, y),
+                        _class='back')
+
+        doc += svg.Text(line, text_anchor='end', x=ox2, y=y, fill='white')
+
+    # Title
+    if title:
+        doc += svg.Rect(x=0, y=0, width=size_em(len(title)), height='1em',
+                        transform='translate(%s, %s) scale(1,-1)' % (ox1, oy1), _class='back')
+        doc += svg.Text(title, x=ox1, y=oy1, fill='white')
+
+    # Info
+    lines = [
+        'Inference time: %.2f ms (%.2f fps)' % (inference_time, 1000.0 / inference_time)
+    ]
+
+    for i, line in enumerate(reversed(lines)):
+        y = oy2 - i * 1.7 * font_size
+        doc += svg.Rect(x=0, y=0, width=size_em(len(line)), height='1em',
+                       transform='translate(%s, %s) scale(1,-1)' % (ox1, y), _class='back')
+        doc += svg.Text(line, x=ox1, y=y, fill='white')
+
+    return str(doc)
diff --git a/classifier-start/main.py b/classifier-start/main.py
new file mode 100644
index 0000000..5c70f91
--- /dev/null
+++ b/classifier-start/main.py
@@ -0,0 +1,73 @@
+# Copyright 2019 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import argparse
+import helpers
+
+from edgetpuvision import gstreamer, utils
+
+def init_engine(model):
+    """Returns an Edge TPU classifier for the model"""
+    # TODO: Instantiate a ClassificationEngine for the given model
+
+def input_size(engine):
+    """Returns the required input size for the model"""
+    # TODO: Return the proper input size for the given model
+    return 16, 9
+
+def inference_time(engine):
+    """Returns the time taken to run inference"""
+    # TODO: Return the inference time from the ClassificationEngine
+
+def classify_image(tensor, engine, labels):
+    """Runs inference on the provided input tensor and
+    returns an overlay to display the inference results
+    """
+    # TODO: Run inference on the provided input tensor
+
+def main(args):
+    input_source = "{0}:YUY2:{1}:{2}/1".format(args.source, args.resolution, args.frames)
+    labels = utils.load_labels(args.labels)
+    engine = init_engine(args.model)
+    inference_size = input_size(engine)
+
+    def frame_callback(tensor, layout, command):
+        results = classify_image(tensor, engine, labels)
+        time = inference_time(engine)
+        if results and time:
+            return helpers.overlay('Edge TPU Image Classifier', results, time, layout)
+
+    gstreamer.run(inference_size, frame_callback,
+        source=input_source,
+        loop=False,
+        display=gstreamer.Display.FULLSCREEN)
+
+if __name__ == '__main__':
+    parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
+    parser.add_argument('--source',
+                    help='camera device (e.g. /dev/video0)',
+                    default='/dev/video0')
+    parser.add_argument('--resolution',
+                    help='camera capture resolution',
+                    default='1280x720')
+    parser.add_argument('--frames',
+                    help='camera capture frame rate',
+                    default='30')
+    parser.add_argument('--model', required=True,
+                    help='.tflite model path')
+    parser.add_argument('--labels', required=True,
+                    help='label file path')
+    args = parser.parse_args()
+
+    main(args)
diff --git a/classifier-start/models/imagenet_labels.txt b/classifier-start/models/imagenet_labels.txt
new file mode 100644
index 0000000..a998708
--- /dev/null
+++ b/classifier-start/models/imagenet_labels.txt
@@ -0,0 +1,1001 @@
+   0  background
+   1  tench, Tinca tinca
+   2  goldfish, Carassius auratus
+   3  great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias
+   4  tiger shark, Galeocerdo cuvieri
+   5  hammerhead, hammerhead shark
+   6  electric ray, crampfish, numbfish, torpedo
+   7  stingray
+   8  cock
+   9  hen
+  10  ostrich, Struthio camelus
+  11  brambling, Fringilla montifringilla
+  12  goldfinch, Carduelis carduelis
+  13  house finch, linnet, Carpodacus mexicanus
+  14  junco, snowbird
+  15  indigo bunting, indigo finch, indigo bird, Passerina cyanea
+  16  robin, American robin, Turdus migratorius
+  17  bulbul
+  18  jay
+  19  magpie
+  20  chickadee
+  21  water ouzel, dipper
+  22  kite
+  23  bald eagle, American eagle, Haliaeetus leucocephalus
+  24  vulture
+  25  great grey owl, great gray owl, Strix nebulosa
+  26  European fire salamander, Salamandra salamandra
+  27  common newt, Triturus vulgaris
+  28  eft
+  29  spotted salamander, Ambystoma maculatum
+  30  axolotl, mud puppy, Ambystoma mexicanum
+  31  bullfrog, Rana catesbeiana
+  32  tree frog, tree-frog
+  33  tailed frog, bell toad, ribbed toad, tailed toad, Ascaphus trui
+  34  loggerhead, loggerhead turtle, Caretta caretta
+  35  leatherback turtle, leatherback, leathery turtle, Dermochelys coriacea
+  36  mud turtle
+  37  terrapin
+  38  box turtle, box tortoise
+  39  banded gecko
+  40  common iguana, iguana, Iguana iguana
+  41  American chameleon, anole, Anolis carolinensis
+  42  whiptail, whiptail lizard
+  43  agama
+  44  frilled lizard, Chlamydosaurus kingi
+  45  alligator lizard
+  46  Gila monster, Heloderma suspectum
+  47  green lizard, Lacerta viridis
+  48  African chameleon, Chamaeleo chamaeleon
+  49  Komodo dragon, Komodo lizard, dragon lizard, giant lizard, Varanus komodoensis
+  50  African crocodile, Nile crocodile, Crocodylus niloticus
+  51  American alligator, Alligator mississipiensis
+  52  triceratops
+  53  thunder snake, worm snake, Carphophis amoenus
+  54  ringneck snake, ring-necked snake, ring snake
+  55  hognose snake, puff adder, sand viper
+  56  green snake, grass snake
+  57  king snake, kingsnake
+  58  garter snake, grass snake
+  59  water snake
+  60  vine snake
+  61  night snake, Hypsiglena torquata
+  62  boa constrictor, Constrictor constrictor
+  63  rock python, rock snake, Python sebae
+  64  Indian cobra, Naja naja
+  65  green mamba
+  66  sea snake
+  67  horned viper, cerastes, sand viper, horned asp, Cerastes cornutus
+  68  diamondback, diamondback rattlesnake, Crotalus adamanteus
+  69  sidewinder, horned rattlesnake, Crotalus cerastes
+  70  trilobite
+  71  harvestman, daddy longlegs, Phalangium opilio
+  72  scorpion
+  73  black and gold garden spider, Argiope aurantia
+  74  barn spider, Araneus cavaticus
+  75  garden spider, Aranea diademata
+  76  black widow, Latrodectus mactans
+  77  tarantula
+  78  wolf spider, hunting spider
+  79  tick
+  80  centipede
+  81  black grouse
+  82  ptarmigan
+  83  ruffed grouse, partridge, Bonasa umbellus
+  84  prairie chicken, prairie grouse, prairie fowl
+  85  peacock
+  86  quail
+  87  partridge
+  88  African grey, African gray, Psittacus erithacus
+  89  macaw
+  90  sulphur-crested cockatoo, Kakatoe galerita, Cacatua galerita
+  91  lorikeet
+  92  coucal
+  93  bee eater
+  94  hornbill
+  95  hummingbird
+  96  jacamar
+  97  toucan
+  98  drake
+  99  red-breasted merganser, Mergus serrator
+ 100  goose
+ 101  black swan, Cygnus atratus
+ 102  tusker
+ 103  echidna, spiny anteater, anteater
+ 104  platypus, duckbill, duckbilled platypus, duck-billed platypus, Ornithorhynchus anatinus
+ 105  wallaby, brush kangaroo
+ 106  koala, koala bear, kangaroo bear, native bear, Phascolarctos cinereus
+ 107  wombat
+ 108  jellyfish
+ 109  sea anemone, anemone
+ 110  brain coral
+ 111  flatworm, platyhelminth
+ 112  nematode, nematode worm, roundworm
+ 113  conch
+ 114  snail
+ 115  slug
+ 116  sea slug, nudibranch
+ 117  chiton, coat-of-mail shell, sea cradle, polyplacophore
+ 118  chambered nautilus, pearly nautilus, nautilus
+ 119  Dungeness crab, Cancer magister
+ 120  rock crab, Cancer irroratus
+ 121  fiddler crab
+ 122  king crab, Alaska crab, Alaskan king crab, Alaska king crab, Paralithodes camtschatica
+ 123  American lobster, Northern lobster, Maine lobster, Homarus americanus
+ 124  spiny lobster, langouste, rock lobster, crawfish, crayfish, sea crawfish
+ 125  crayfish, crawfish, crawdad, crawdaddy
+ 126  hermit crab
+ 127  isopod
+ 128  white stork, Ciconia ciconia
+ 129  black stork, Ciconia nigra
+ 130  spoonbill
+ 131  flamingo
+ 132  little blue heron, Egretta caerulea
+ 133  American egret, great white heron, Egretta albus
+ 134  bittern
+ 135  crane
+ 136  limpkin, Aramus pictus
+ 137  European gallinule, Porphyrio porphyrio
+ 138  American coot, marsh hen, mud hen, water hen, Fulica americana
+ 139  bustard
+ 140  ruddy turnstone, Arenaria interpres
+ 141  red-backed sandpiper, dunlin, Erolia alpina
+ 142  redshank, Tringa totanus
+ 143  dowitcher
+ 144  oystercatcher, oyster catcher
+ 145  pelican
+ 146  king penguin, Aptenodytes patagonica
+ 147  albatross, mollymawk
+ 148  grey whale, gray whale, devilfish, Eschrichtius gibbosus, Eschrichtius robustus
+ 149  killer whale, killer, orca, grampus, sea wolf, Orcinus orca
+ 150  dugong, Dugong dugon
+ 151  sea lion
+ 152  Chihuahua
+ 153  Japanese spaniel
+ 154  Maltese dog, Maltese terrier, Maltese
+ 155  Pekinese, Pekingese, Peke
+ 156  Shih-Tzu
+ 157  Blenheim spaniel
+ 158  papillon
+ 159  toy terrier
+ 160  Rhodesian ridgeback
+ 161  Afghan hound, Afghan
+ 162  basset, basset hound
+ 163  beagle
+ 164  bloodhound, sleuthhound
+ 165  bluetick
+ 166  black-and-tan coonhound
+ 167  Walker hound, Walker foxhound
+ 168  English foxhound
+ 169  redbone
+ 170  borzoi, Russian wolfhound
+ 171  Irish wolfhound
+ 172  Italian greyhound
+ 173  whippet
+ 174  Ibizan hound, Ibizan Podenco
+ 175  Norwegian elkhound, elkhound
+ 176  otterhound, otter hound
+ 177  Saluki, gazelle hound
+ 178  Scottish deerhound, deerhound
+ 179  Weimaraner
+ 180  Staffordshire bullterrier, Staffordshire bull terrier
+ 181  American Staffordshire terrier, Staffordshire terrier, American pit bull terrier, pit bull terrier
+ 182  Bedlington terrier
+ 183  Border terrier
+ 184  Kerry blue terrier
+ 185  Irish terrier
+ 186  Norfolk terrier
+ 187  Norwich terrier
+ 188  Yorkshire terrier
+ 189  wire-haired fox terrier
+ 190  Lakeland terrier
+ 191  Sealyham terrier, Sealyham
+ 192  Airedale, Airedale terrier
+ 193  cairn, cairn terrier
+ 194  Australian terrier
+ 195  Dandie Dinmont, Dandie Dinmont terrier
+ 196  Boston bull, Boston terrier
+ 197  miniature schnauzer
+ 198  giant schnauzer
+ 199  standard schnauzer
+ 200  Scotch terrier, Scottish terrier, Scottie
+ 201  Tibetan terrier, chrysanthemum dog
+ 202  silky terrier, Sydney silky
+ 203  soft-coated wheaten terrier
+ 204  West Highland white terrier
+ 205  Lhasa, Lhasa apso
+ 206  flat-coated retriever
+ 207  curly-coated retriever
+ 208  golden retriever
+ 209  Labrador retriever
+ 210  Chesapeake Bay retriever
+ 211  German short-haired pointer
+ 212  vizsla, Hungarian pointer
+ 213  English setter
+ 214  Irish setter, red setter
+ 215  Gordon setter
+ 216  Brittany spaniel
+ 217  clumber, clumber spaniel
+ 218  English springer, English springer spaniel
+ 219  Welsh springer spaniel
+ 220  cocker spaniel, English cocker spaniel, cocker
+ 221  Sussex spaniel
+ 222  Irish water spaniel
+ 223  kuvasz
+ 224  schipperke
+ 225  groenendael
+ 226  malinois
+ 227  briard
+ 228  kelpie
+ 229  komondor
+ 230  Old English sheepdog, bobtail
+ 231  Shetland sheepdog, Shetland sheep dog, Shetland
+ 232  collie
+ 233  Border collie
+ 234  Bouvier des Flandres, Bouviers des Flandres
+ 235  Rottweiler
+ 236  German shepherd, German shepherd dog, German police dog, alsatian
+ 237  Doberman, Doberman pinscher
+ 238  miniature pinscher
+ 239  Greater Swiss Mountain dog
+ 240  Bernese mountain dog
+ 241  Appenzeller
+ 242  EntleBucher
+ 243  boxer
+ 244  bull mastiff
+ 245  Tibetan mastiff
+ 246  French bulldog
+ 247  Great Dane
+ 248  Saint Bernard, St Bernard
+ 249  Eskimo dog, husky
+ 250  malamute, malemute, Alaskan malamute
+ 251  Siberian husky
+ 252  dalmatian, coach dog, carriage dog
+ 253  affenpinscher, monkey pinscher, monkey dog
+ 254  basenji
+ 255  pug, pug-dog
+ 256  Leonberg
+ 257  Newfoundland, Newfoundland dog
+ 258  Great Pyrenees
+ 259  Samoyed, Samoyede
+ 260  Pomeranian
+ 261  chow, chow chow
+ 262  keeshond
+ 263  Brabancon griffon
+ 264  Pembroke, Pembroke Welsh corgi
+ 265  Cardigan, Cardigan Welsh corgi
+ 266  toy poodle
+ 267  miniature poodle
+ 268  standard poodle
+ 269  Mexican hairless
+ 270  timber wolf, grey wolf, gray wolf, Canis lupus
+ 271  white wolf, Arctic wolf, Canis lupus tundrarum
+ 272  red wolf, maned wolf, Canis rufus, Canis niger
+ 273  coyote, prairie wolf, brush wolf, Canis latrans
+ 274  dingo, warrigal, warragal, Canis dingo
+ 275  dhole, Cuon alpinus
+ 276  African hunting dog, hyena dog, Cape hunting dog, Lycaon pictus
+ 277  hyena, hyaena
+ 278  red fox, Vulpes vulpes
+ 279  kit fox, Vulpes macrotis
+ 280  Arctic fox, white fox, Alopex lagopus
+ 281  grey fox, gray fox, Urocyon cinereoargenteus
+ 282  tabby, tabby cat
+ 283  tiger cat
+ 284  Persian cat
+ 285  Siamese cat, Siamese
+ 286  Egyptian cat
+ 287  cougar, puma, catamount, mountain lion, painter, panther, Felis concolor
+ 288  lynx, catamount
+ 289  leopard, Panthera pardus
+ 290  snow leopard, ounce, Panthera uncia
+ 291  jaguar, panther, Panthera onca, Felis onca
+ 292  lion, king of beasts, Panthera leo
+ 293  tiger, Panthera tigris
+ 294  cheetah, chetah, Acinonyx jubatus
+ 295  brown bear, bruin, Ursus arctos
+ 296  American black bear, black bear, Ursus americanus, Euarctos americanus
+ 297  ice bear, polar bear, Ursus Maritimus, Thalarctos maritimus
+ 298  sloth bear, Melursus ursinus, Ursus ursinus
+ 299  mongoose
+ 300  meerkat, mierkat
+ 301  tiger beetle
+ 302  ladybug, ladybeetle, lady beetle, ladybird, ladybird beetle
+ 303  ground beetle, carabid beetle
+ 304  long-horned beetle, longicorn, longicorn beetle
+ 305  leaf beetle, chrysomelid
+ 306  dung beetle
+ 307  rhinoceros beetle
+ 308  weevil
+ 309  fly
+ 310  bee
+ 311  ant, emmet, pismire
+ 312  grasshopper, hopper
+ 313  cricket
+ 314  walking stick, walkingstick, stick insect
+ 315  cockroach, roach
+ 316  mantis, mantid
+ 317  cicada, cicala
+ 318  leafhopper
+ 319  lacewing, lacewing fly
+ 320  dragonfly, darning needle, devil's darning needle, sewing needle, snake feeder, snake doctor, mosquito hawk, skeeter hawk
+ 321  damselfly
+ 322  admiral
+ 323  ringlet, ringlet butterfly
+ 324  monarch, monarch butterfly, milkweed butterfly, Danaus plexippus
+ 325  cabbage butterfly
+ 326  sulphur butterfly, sulfur butterfly
+ 327  lycaenid, lycaenid butterfly
+ 328  starfish, sea star
+ 329  sea urchin
+ 330  sea cucumber, holothurian
+ 331  wood rabbit, cottontail, cottontail rabbit
+ 332  hare
+ 333  Angora, Angora rabbit
+ 334  hamster
+ 335  porcupine, hedgehog
+ 336  fox squirrel, eastern fox squirrel, Sciurus niger
+ 337  marmot
+ 338  beaver
+ 339  guinea pig, Cavia cobaya
+ 340  sorrel
+ 341  zebra
+ 342  hog, pig, grunter, squealer, Sus scrofa
+ 343  wild boar, boar, Sus scrofa
+ 344  warthog
+ 345  hippopotamus, hippo, river horse, Hippopotamus amphibius
+ 346  ox
+ 347  water buffalo, water ox, Asiatic buffalo, Bubalus bubalis
+ 348  bison
+ 349  ram, tup
+ 350  bighorn, bighorn sheep, cimarron, Rocky Mountain bighorn, Rocky Mountain sheep, Ovis canadensis
+ 351  ibex, Capra ibex
+ 352  hartebeest
+ 353  impala, Aepyceros melampus
+ 354  gazelle
+ 355  Arabian camel, dromedary, Camelus dromedarius
+ 356  llama
+ 357  weasel
+ 358  mink
+ 359  polecat, fitch, foulmart, foumart, Mustela putorius
+ 360  black-footed ferret, ferret, Mustela nigripes
+ 361  otter
+ 362  skunk, polecat, wood pussy
+ 363  badger
+ 364  armadillo
+ 365  three-toed sloth, ai, Bradypus tridactylus
+ 366  orangutan, orang, orangutang, Pongo pygmaeus
+ 367  gorilla, Gorilla gorilla
+ 368  chimpanzee, chimp, Pan troglodytes
+ 369  gibbon, Hylobates lar
+ 370  siamang, Hylobates syndactylus, Symphalangus syndactylus
+ 371  guenon, guenon monkey
+ 372  patas, hussar monkey, Erythrocebus patas
+ 373  baboon
+ 374  macaque
+ 375  langur
+ 376  colobus, colobus monkey
+ 377  proboscis monkey, Nasalis larvatus
+ 378  marmoset
+ 379  capuchin, ringtail, Cebus capucinus
+ 380  howler monkey, howler
+ 381  titi, titi monkey
+ 382  spider monkey, Ateles geoffroyi
+ 383  squirrel monkey, Saimiri sciureus
+ 384  Madagascar cat, ring-tailed lemur, Lemur catta
+ 385  indri, indris, Indri indri, Indri brevicaudatus
+ 386  Indian elephant, Elephas maximus
+ 387  African elephant, Loxodonta africana
+ 388  lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens
+ 389  giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca
+ 390  barracouta, snoek
+ 391  eel
+ 392  coho, cohoe, coho salmon, blue jack, silver salmon, Oncorhynchus kisutch
+ 393  rock beauty, Holocanthus tricolor
+ 394  anemone fish
+ 395  sturgeon
+ 396  gar, garfish, garpike, billfish, Lepisosteus osseus
+ 397  lionfish
+ 398  puffer, pufferfish, blowfish, globefish
+ 399  abacus
+ 400  abaya
+ 401  academic gown, academic robe, judge's robe
+ 402  accordion, piano accordion, squeeze box
+ 403  acoustic guitar
+ 404  aircraft carrier, carrier, flattop, attack aircraft carrier
+ 405  airliner
+ 406  airship, dirigible
+ 407  altar
+ 408  ambulance
+ 409  amphibian, amphibious vehicle
+ 410  analog clock
+ 411  apiary, bee house
+ 412  apron
+ 413  ashcan, trash can, garbage can, wastebin, ash bin, ash-bin, ashbin, dustbin, trash barrel, trash bin
+ 414  assault rifle, assault gun
+ 415  backpack, back pack, knapsack, packsack, rucksack, haversack
+ 416  bakery, bakeshop, bakehouse
+ 417  balance beam, beam
+ 418  balloon
+ 419  ballpoint, ballpoint pen, ballpen, Biro
+ 420  Band Aid
+ 421  banjo
+ 422  bannister, banister, balustrade, balusters, handrail
+ 423  barbell
+ 424  barber chair
+ 425  barbershop
+ 426  barn
+ 427  barometer
+ 428  barrel, cask
+ 429  barrow, garden cart, lawn cart, wheelbarrow
+ 430  baseball
+ 431  basketball
+ 432  bassinet
+ 433  bassoon
+ 434  bathing cap, swimming cap
+ 435  bath towel
+ 436  bathtub, bathing tub, bath, tub
+ 437  beach wagon, station wagon, wagon, estate car, beach waggon, station waggon, waggon
+ 438  beacon, lighthouse, beacon light, pharos
+ 439  beaker
+ 440  bearskin, busby, shako
+ 441  beer bottle
+ 442  beer glass
+ 443  bell cote, bell cot
+ 444  bib
+ 445  bicycle-built-for-two, tandem bicycle, tandem
+ 446  bikini, two-piece
+ 447  binder, ring-binder
+ 448  binoculars, field glasses, opera glasses
+ 449  birdhouse
+ 450  boathouse
+ 451  bobsled, bobsleigh, bob
+ 452  bolo tie, bolo, bola tie, bola
+ 453  bonnet, poke bonnet
+ 454  bookcase
+ 455  bookshop, bookstore, bookstall
+ 456  bottlecap
+ 457  bow
+ 458  bow tie, bow-tie, bowtie
+ 459  brass, memorial tablet, plaque
+ 460  brassiere, bra, bandeau
+ 461  breakwater, groin, groyne, mole, bulwark, seawall, jetty
+ 462  breastplate, aegis, egis
+ 463  broom
+ 464  bucket, pail
+ 465  buckle
+ 466  bulletproof vest
+ 467  bullet train, bullet
+ 468  butcher shop, meat market
+ 469  cab, hack, taxi, taxicab
+ 470  caldron, cauldron
+ 471  candle, taper, wax light
+ 472  cannon
+ 473  canoe
+ 474  can opener, tin opener
+ 475  cardigan
+ 476  car mirror
+ 477  carousel, carrousel, merry-go-round, roundabout, whirligig
+ 478  carpenter's kit, tool kit
+ 479  carton
+ 480  car wheel
+ 481  cash machine, cash dispenser, automated teller machine, automatic teller machine, automated teller, automatic teller, ATM
+ 482  cassette
+ 483  cassette player
+ 484  castle
+ 485  catamaran
+ 486  CD player
+ 487  cello, violoncello
+ 488  cellular telephone, cellular phone, cellphone, cell, mobile phone
+ 489  chain
+ 490  chainlink fence
+ 491  chain mail, ring mail, mail, chain armor, chain armour, ring armor, ring armour
+ 492  chain saw, chainsaw
+ 493  chest
+ 494  chiffonier, commode
+ 495  chime, bell, gong
+ 496  china cabinet, china closet
+ 497  Christmas stocking
+ 498  church, church building
+ 499  cinema, movie theater, movie theatre, movie house, picture palace
+ 500  cleaver, meat cleaver, chopper
+ 501  cliff dwelling
+ 502  cloak
+ 503  clog, geta, patten, sabot
+ 504  cocktail shaker
+ 505  coffee mug
+ 506  coffeepot
+ 507  coil, spiral, volute, whorl, helix
+ 508  combination lock
+ 509  computer keyboard, keypad
+ 510  confectionery, confectionary, candy store
+ 511  container ship, containership, container vessel
+ 512  convertible
+ 513  corkscrew, bottle screw
+ 514  cornet, horn, trumpet, trump
+ 515  cowboy boot
+ 516  cowboy hat, ten-gallon hat
+ 517  cradle
+ 518  crane
+ 519  crash helmet
+ 520  crate
+ 521  crib, cot
+ 522  Crock Pot
+ 523  croquet ball
+ 524  crutch
+ 525  cuirass
+ 526  dam, dike, dyke
+ 527  desk
+ 528  desktop computer
+ 529  dial telephone, dial phone
+ 530  diaper, nappy, napkin
+ 531  digital clock
+ 532  digital watch
+ 533  dining table, board
+ 534  dishrag, dishcloth
+ 535  dishwasher, dish washer, dishwashing machine
+ 536  disk brake, disc brake
+ 537  dock, dockage, docking facility
+ 538  dogsled, dog sled, dog sleigh
+ 539  dome
+ 540  doormat, welcome mat
+ 541  drilling platform, offshore rig
+ 542  drum, membranophone, tympan
+ 543  drumstick
+ 544  dumbbell
+ 545  Dutch oven
+ 546  electric fan, blower
+ 547  electric guitar
+ 548  electric locomotive
+ 549  entertainment center
+ 550  envelope
+ 551  espresso maker
+ 552  face powder
+ 553  feather boa, boa
+ 554  file, file cabinet, filing cabinet
+ 555  fireboat
+ 556  fire engine, fire truck
+ 557  fire screen, fireguard
+ 558  flagpole, flagstaff
+ 559  flute, transverse flute
+ 560  folding chair
+ 561  football helmet
+ 562  forklift
+ 563  fountain
+ 564  fountain pen
+ 565  four-poster
+ 566  freight car
+ 567  French horn, horn
+ 568  frying pan, frypan, skillet
+ 569  fur coat
+ 570  garbage truck, dustcart
+ 571  gasmask, respirator, gas helmet
+ 572  gas pump, gasoline pump, petrol pump, island dispenser
+ 573  goblet
+ 574  go-kart
+ 575  golf ball
+ 576  golfcart, golf cart
+ 577  gondola
+ 578  gong, tam-tam
+ 579  gown
+ 580  grand piano, grand
+ 581  greenhouse, nursery, glasshouse
+ 582  grille, radiator grille
+ 583  grocery store, grocery, food market, market
+ 584  guillotine
+ 585  hair slide
+ 586  hair spray
+ 587  half track
+ 588  hammer
+ 589  hamper
+ 590  hand blower, blow dryer, blow drier, hair dryer, hair drier
+ 591  hand-held computer, hand-held microcomputer
+ 592  handkerchief, hankie, hanky, hankey
+ 593  hard disc, hard disk, fixed disk
+ 594  harmonica, mouth organ, harp, mouth harp
+ 595  harp
+ 596  harvester, reaper
+ 597  hatchet
+ 598  holster
+ 599  home theater, home theatre
+ 600  honeycomb
+ 601  hook, claw
+ 602  hoopskirt, crinoline
+ 603  horizontal bar, high bar
+ 604  horse cart, horse-cart
+ 605  hourglass
+ 606  iPod
+ 607  iron, smoothing iron
+ 608  jack-o'-lantern
+ 609  jean, blue jean, denim
+ 610  jeep, landrover
+ 611  jersey, T-shirt, tee shirt
+ 612  jigsaw puzzle
+ 613  jinrikisha, ricksha, rickshaw
+ 614  joystick
+ 615  kimono
+ 616  knee pad
+ 617  knot
+ 618  lab coat, laboratory coat
+ 619  ladle
+ 620  lampshade, lamp shade
+ 621  laptop, laptop computer
+ 622  lawn mower, mower
+ 623  lens cap, lens cover
+ 624  letter opener, paper knife, paperknife
+ 625  library
+ 626  lifeboat
+ 627  lighter, light, igniter, ignitor
+ 628  limousine, limo
+ 629  liner, ocean liner
+ 630  lipstick, lip rouge
+ 631  Loafer
+ 632  lotion
+ 633  loudspeaker, speaker, speaker unit, loudspeaker system, speaker system
+ 634  loupe, jeweler's loupe
+ 635  lumbermill, sawmill
+ 636  magnetic compass
+ 637  mailbag, postbag
+ 638  mailbox, letter box
+ 639  maillot
+ 640  maillot, tank suit
+ 641  manhole cover
+ 642  maraca
+ 643  marimba, xylophone
+ 644  mask
+ 645  matchstick
+ 646  maypole
+ 647  maze, labyrinth
+ 648  measuring cup
+ 649  medicine chest, medicine cabinet
+ 650  megalith, megalithic structure
+ 651  microphone, mike
+ 652  microwave, microwave oven
+ 653  military uniform
+ 654  milk can
+ 655  minibus
+ 656  miniskirt, mini
+ 657  minivan
+ 658  missile
+ 659  mitten
+ 660  mixing bowl
+ 661  mobile home, manufactured home
+ 662  Model T
+ 663  modem
+ 664  monastery
+ 665  monitor
+ 666  moped
+ 667  mortar
+ 668  mortarboard
+ 669  mosque
+ 670  mosquito net
+ 671  motor scooter, scooter
+ 672  mountain bike, all-terrain bike, off-roader
+ 673  mountain tent
+ 674  mouse, computer mouse
+ 675  mousetrap
+ 676  moving van
+ 677  muzzle
+ 678  nail
+ 679  neck brace
+ 680  necklace
+ 681  nipple
+ 682  notebook, notebook computer
+ 683  obelisk
+ 684  oboe, hautboy, hautbois
+ 685  ocarina, sweet potato
+ 686  odometer, hodometer, mileometer, milometer
+ 687  oil filter
+ 688  organ, pipe organ
+ 689  oscilloscope, scope, cathode-ray oscilloscope, CRO
+ 690  overskirt
+ 691  oxcart
+ 692  oxygen mask
+ 693  packet
+ 694  paddle, boat paddle
+ 695  paddlewheel, paddle wheel
+ 696  padlock
+ 697  paintbrush
+ 698  pajama, pyjama, pj's, jammies
+ 699  palace
+ 700  panpipe, pandean pipe, syrinx
+ 701  paper towel
+ 702  parachute, chute
+ 703  parallel bars, bars
+ 704  park bench
+ 705  parking meter
+ 706  passenger car, coach, carriage
+ 707  patio, terrace
+ 708  pay-phone, pay-station
+ 709  pedestal, plinth, footstall
+ 710  pencil box, pencil case
+ 711  pencil sharpener
+ 712  perfume, essence
+ 713  Petri dish
+ 714  photocopier
+ 715  pick, plectrum, plectron
+ 716  pickelhaube
+ 717  picket fence, paling
+ 718  pickup, pickup truck
+ 719  pier
+ 720  piggy bank, penny bank
+ 721  pill bottle
+ 722  pillow
+ 723  ping-pong ball
+ 724  pinwheel
+ 725  pirate, pirate ship
+ 726  pitcher, ewer
+ 727  plane, carpenter's plane, woodworking plane
+ 728  planetarium
+ 729  plastic bag
+ 730  plate rack
+ 731  plow, plough
+ 732  plunger, plumber's helper
+ 733  Polaroid camera, Polaroid Land camera
+ 734  pole
+ 735  police van, police wagon, paddy wagon, patrol wagon, wagon, black Maria
+ 736  poncho
+ 737  pool table, billiard table, snooker table
+ 738  pop bottle, soda bottle
+ 739  pot, flowerpot
+ 740  potter's wheel
+ 741  power drill
+ 742  prayer rug, prayer mat
+ 743  printer
+ 744  prison, prison house
+ 745  projectile, missile
+ 746  projector
+ 747  puck, hockey puck
+ 748  punching bag, punch bag, punching ball, punchball
+ 749  purse
+ 750  quill, quill pen
+ 751  quilt, comforter, comfort, puff
+ 752  racer, race car, racing car
+ 753  racket, racquet
+ 754  radiator
+ 755  radio, wireless
+ 756  radio telescope, radio reflector
+ 757  rain barrel
+ 758  recreational vehicle, RV, R.V.
+ 759  reel
+ 760  reflex camera
+ 761  refrigerator, icebox
+ 762  remote control, remote
+ 763  restaurant, eating house, eating place, eatery
+ 764  revolver, six-gun, six-shooter
+ 765  rifle
+ 766  rocking chair, rocker
+ 767  rotisserie
+ 768  rubber eraser, rubber, pencil eraser
+ 769  rugby ball
+ 770  rule, ruler
+ 771  running shoe
+ 772  safe
+ 773  safety pin
+ 774  saltshaker, salt shaker
+ 775  sandal
+ 776  sarong
+ 777  sax, saxophone
+ 778  scabbard
+ 779  scale, weighing machine
+ 780  school bus
+ 781  schooner
+ 782  scoreboard
+ 783  screen, CRT screen
+ 784  screw
+ 785  screwdriver
+ 786  seat belt, seatbelt
+ 787  sewing machine
+ 788  shield, buckler
+ 789  shoe shop, shoe-shop, shoe store
+ 790  shoji
+ 791  shopping basket
+ 792  shopping cart
+ 793  shovel
+ 794  shower cap
+ 795  shower curtain
+ 796  ski
+ 797  ski mask
+ 798  sleeping bag
+ 799  slide rule, slipstick
+ 800  sliding door
+ 801  slot, one-armed bandit
+ 802  snorkel
+ 803  snowmobile
+ 804  snowplow, snowplough
+ 805  soap dispenser
+ 806  soccer ball
+ 807  sock
+ 808  solar dish, solar collector, solar furnace
+ 809  sombrero
+ 810  soup bowl
+ 811  space bar
+ 812  space heater
+ 813  space shuttle
+ 814  spatula
+ 815  speedboat
+ 816  spider web, spider's web
+ 817  spindle
+ 818  sports car, sport car
+ 819  spotlight, spot
+ 820  stage
+ 821  steam locomotive
+ 822  steel arch bridge
+ 823  steel drum
+ 824  stethoscope
+ 825  stole
+ 826  stone wall
+ 827  stopwatch, stop watch
+ 828  stove
+ 829  strainer
+ 830  streetcar, tram, tramcar, trolley, trolley car
+ 831  stretcher
+ 832  studio couch, day bed
+ 833  stupa, tope
+ 834  submarine, pigboat, sub, U-boat
+ 835  suit, suit of clothes
+ 836  sundial
+ 837  sunglass
+ 838  sunglasses, dark glasses, shades
+ 839  sunscreen, sunblock, sun blocker
+ 840  suspension bridge
+ 841  swab, swob, mop
+ 842  sweatshirt
+ 843  swimming trunks, bathing trunks
+ 844  swing
+ 845  switch, electric switch, electrical switch
+ 846  syringe
+ 847  table lamp
+ 848  tank, army tank, armored combat vehicle, armoured combat vehicle
+ 849  tape player
+ 850  teapot
+ 851  teddy, teddy bear
+ 852  television, television system
+ 853  tennis ball
+ 854  thatch, thatched roof
+ 855  theater curtain, theatre curtain
+ 856  thimble
+ 857  thresher, thrasher, threshing machine
+ 858  throne
+ 859  tile roof
+ 860  toaster
+ 861  tobacco shop, tobacconist shop, tobacconist
+ 862  toilet seat
+ 863  torch
+ 864  totem pole
+ 865  tow truck, tow car, wrecker
+ 866  toyshop
+ 867  tractor
+ 868  trailer truck, tractor trailer, trucking rig, rig, articulated lorry, semi
+ 869  tray
+ 870  trench coat
+ 871  tricycle, trike, velocipede
+ 872  trimaran
+ 873  tripod
+ 874  triumphal arch
+ 875  trolleybus, trolley coach, trackless trolley
+ 876  trombone
+ 877  tub, vat
+ 878  turnstile
+ 879  typewriter keyboard
+ 880  umbrella
+ 881  unicycle, monocycle
+ 882  upright, upright piano
+ 883  vacuum, vacuum cleaner
+ 884  vase
+ 885  vault
+ 886  velvet
+ 887  vending machine
+ 888  vestment
+ 889  viaduct
+ 890  violin, fiddle
+ 891  volleyball
+ 892  waffle iron
+ 893  wall clock
+ 894  wallet, billfold, notecase, pocketbook
+ 895  wardrobe, closet, press
+ 896  warplane, military plane
+ 897  washbasin, handbasin, washbowl, lavabo, wash-hand basin
+ 898  washer, automatic washer, washing machine
+ 899  water bottle
+ 900  water jug
+ 901  water tower
+ 902  whiskey jug
+ 903  whistle
+ 904  wig
+ 905  window screen
+ 906  window shade
+ 907  Windsor tie
+ 908  wine bottle
+ 909  wing
+ 910  wok
+ 911  wooden spoon
+ 912  wool, woolen, woollen
+ 913  worm fence, snake fence, snake-rail fence, Virginia fence
+ 914  wreck
+ 915  yawl
+ 916  yurt
+ 917  web site, website, internet site, site
+ 918  comic book
+ 919  crossword puzzle, crossword
+ 920  street sign
+ 921  traffic light, traffic signal, stoplight
+ 922  book jacket, dust cover, dust jacket, dust wrapper
+ 923  menu
+ 924  plate
+ 925  guacamole
+ 926  consomme
+ 927  hot pot, hotpot
+ 928  trifle
+ 929  ice cream, icecream
+ 930  ice lolly, lolly, lollipop, popsicle
+ 931  French loaf
+ 932  bagel, beigel
+ 933  pretzel
+ 934  cheeseburger
+ 935  hotdog, hot dog, red hot
+ 936  mashed potato
+ 937  head cabbage
+ 938  broccoli
+ 939  cauliflower
+ 940  zucchini, courgette
+ 941  spaghetti squash
+ 942  acorn squash
+ 943  butternut squash
+ 944  cucumber, cuke
+ 945  artichoke, globe artichoke
+ 946  bell pepper
+ 947  cardoon
+ 948  mushroom
+ 949  Granny Smith
+ 950  strawberry
+ 951  orange
+ 952  lemon
+ 953  fig
+ 954  pineapple, ananas
+ 955  banana
+ 956  jackfruit, jak, jack
+ 957  custard apple
+ 958  pomegranate
+ 959  hay
+ 960  carbonara
+ 961  chocolate sauce, chocolate syrup
+ 962  dough
+ 963  meat loaf, meatloaf
+ 964  pizza, pizza pie
+ 965  potpie
+ 966  burrito
+ 967  red wine
+ 968  espresso
+ 969  cup
+ 970  eggnog
+ 971  alp
+ 972  bubble
+ 973  cliff, drop, drop-off
+ 974  coral reef
+ 975  geyser
+ 976  lakeside, lakeshore
+ 977  promontory, headland, head, foreland
+ 978  sandbar, sand bar
+ 979  seashore, coast, seacoast, sea-coast
+ 980  valley, vale
+ 981  volcano
+ 982  ballplayer, baseball player
+ 983  groom, bridegroom
+ 984  scuba diver
+ 985  rapeseed
+ 986  daisy
+ 987  yellow lady's slipper, yellow lady-slipper, Cypripedium calceolus, Cypripedium parviflorum
+ 988  corn
+ 989  acorn
+ 990  hip, rose hip, rosehip
+ 991  buckeye, horse chestnut, conker
+ 992  coral fungus
+ 993  agaric
+ 994  gyromitra
+ 995  stinkhorn, carrion fungus
+ 996  earthstar
+ 997  hen-of-the-woods, hen of the woods, Polyporus frondosus, Grifola frondosa
+ 998  bolete
+ 999  ear, spike, capitulum
+1000  toilet tissue, toilet paper, bathroom tissue
\ No newline at end of file
diff --git a/classifier-start/models/inception_v2_224_quant.tflite b/classifier-start/models/inception_v2_224_quant.tflite
new file mode 100644
index 0000000..f6eed74
--- /dev/null
+++ b/classifier-start/models/inception_v2_224_quant.tflite
Binary files differ