this is due to the fact that the name of the .so libary for the edgetpu 1.9.2 is not the same as the one provided in the example.
Looking at the /usr/lib/arm-linux-gnueabihf/ I find:
libedgetpu.so
libedgetpu.so.1.0
but no libedgetpu.so.1 which was leading to the error
OSError: libedgetpu.so.1: cannot open shared object file: No such file or directory
3)
experimental_delegates=[
tflite.experimental.load_delegate(EDGETPU_SHARED_LIB,
{'device': device[0]} if device else {})
])
instead of
experimental_delegates=[
tflite.load_delegate(EDGETPU_SHARED_LIB,
{'device': device[0]} if device else {})
])
Once I execute the classify_image.py example I got an error related to an undefined symbol "libusb_open":
Traceback (most recent call last):
File "detect_image.py", line 130, in <module>
main()
File "detect_image.py", line 95, in main
interpreter = make_interpreter(args.model)
File "detect_image.py", line 62, in make_interpreter
{'device': device[0]} if device else {})
File "/usr/local/lib/python3.5/dist-packages/tensorflow/lite/python/interpreter.py", line 150, in load_delegate
delegate = Delegate(library, options)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/lite/python/interpreter.py", line 79, in __init__
self._library = ctypes.pydll.LoadLibrary(library)
File "/usr/lib/python3.5/ctypes/__init__.py", line 425, in LoadLibrary
return self._dlltype(name)
File "/usr/lib/python3.5/ctypes/__init__.py", line 347, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /usr/lib/arm-linux-gnueabihf/libedgetpu.so.1.0: undefined symbol: libusb_open
Exception ignored in: <bound method Delegate.__del__ of <tensorflow.lite.python.interpreter.Delegate object at 0xb51d2ef0>>
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/tensorflow/lite/python/interpreter.py", line 114, in __del__
if self._library is not None:
AttributeError: 'Delegate' object has no attribute '_library'
This seems to be a linker issue during the compilation of the library as the libusb symbol cannot be found.
Hi, I'm trying to run the tflite examples provided in the repo: https://github.com/google-coral/tflite
I'm trying them inside a RPi0-W which is running Raspbian Scretch and Python3.5 (I'm using the prebuilt image provided for RaspberryPi Zero: https://github.com/google-coral/edgetpu-platforms)
I've downloaded and installed Tensorflow 2.3.0 using PIP following the official procedure (https://www.tensorflow.org/install/pip). I've installed the wheel for armv6 (https://storage.googleapis.com/tensorflow/raspberrypi/tensorflow-2.3.0-cp35-none-linux_armv6l.whl) and everything went great.
I had to modify the examples because there are few things to fix as the full tensorflow installation is not the same as the _tfliteruntime :
1)
instead of
2)
instead of
this is due to the fact that the name of the .so libary for the edgetpu 1.9.2 is not the same as the one provided in the example. Looking at the /usr/lib/arm-linux-gnueabihf/ I find:
libedgetpu.so libedgetpu.so.1.0 but no libedgetpu.so.1 which was leading to the error
3)
instead of
Once I execute the classify_image.py example I got an error related to an undefined symbol "libusb_open":
This seems to be a linker issue during the compilation of the library as the libusb symbol cannot be found.
Here the example: classification.zip
Could you please assist on how to solve this issue?