google-coral / edgetpu

Coral issue tracker (and legacy Edge TPU API source)
https://coral.ai
Apache License 2.0
422 stars 124 forks source link

Teachable machine generated Model #200

Closed mmmoakley closed 4 years ago

mmmoakley commented 4 years ago

I used the teachable machine web site to train a bunch of Images. I created 3 different classes I exported Tendorflow Lite and EdgeTPU format copied the files over to board and executed edgetpu_detect_server --model model_edgetpu.tflite --labels labels.txt

Returned this error Traceback (most recent call last): File "/usr/bin/edgetpu_detect_server", line 11, in load_entry_point('edgetpuvision==1.0', 'console_scripts', 'edgetpu_detect_server')() File "/usr/lib/python3/dist-packages/edgetpuvision/detect_server.py", line 33, in main run_server(add_render_gen_args, render_gen) File "/usr/lib/python3/dist-packages/edgetpuvision/apps.py", line 43, in run_server camera = make_camera(args.source, next(gen), args.loop) File "/usr/lib/python3/dist-packages/edgetpuvision/detect.py", line 144, in render_gen engines, titles = utils.make_engines(args.model, DetectionEngine) File "/usr/lib/python3/dist-packages/edgetpuvision/utils.py", line 53, in make_engines engine = engine_class(model_path) File "/usr/lib/python3/dist-packages/edgetpu/detection/engine.py", line 85, in init 'This model has {}.'.format(output_tensors_sizes.size))) ValueError: Dectection model should have 4 output tensors!This model has 1.

Namburger commented 4 years ago

@mmmoakley It is not a bug, the teachable machine produces a classification model which only produces 1 output tensor, you are trying to load it in a detection engine, which expects 4 output tensors. See here: https://github.com/google-coral/edgetpu/blob/master/src/cpp/detection/engine.cc#L16

You should run this model on the edgetpu_classify_server instead

mmmoakley commented 4 years ago

works, thanks again