roflcoopter / viseron

Self-hosted, local only NVR and AI Computer Vision software. With features such as object detection, motion detection, face recognition and more, it gives you the power to keep an eye on your home, office or any other place you want to monitor.
MIT License
1.69k stars 174 forks source link

Jetson Nano + Coral M.2 Accelerator A+E key #309

Open ksiwy87 opened 2 years ago

ksiwy87 commented 2 years ago

Hello,

Thank You for a great work so far! I want to use a Jetson nano GPU to handle the streams for recorder and use Coral TPU for object detection. But I'm not able to run the TPU on Jetson in Viseron. The Coral works fine, but I cannot initialize Viseron properly.

The combination of Jetson nano + EdgeTPU + Viseron looks ideal for me. Jetson's GPU will handle the stream recording and TPU will detect objects - it will be great to get this working.

Here are the logs:

Traceback (most recent call last): File "/usr/local/lib/python3.8/runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/local/lib/python3.8/runpy.py", line 87, in _run_code exec(code, run_globals) File "/src/viseron/main.py", line 16, in init() File "/src/viseron/main.py", line 13, in init main() File "/src/viseron/main.py", line 7, in main Viseron() File "/src/viseron/init.py", line 58, in init detector = Detector(config.object_detection) File "/src/viseron/detector/init.py", line 60, in init config_module, detector_module = import_object_detection( File "/src/viseron/detector/init.py", line 120, in import_object_detection detector_module = importlib.import_module( File "/usr/local/lib/python3.8/importlib/init.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1014, in _gcd_import File "", line 991, in _find_and_load File "", line 975, in _find_and_load_unlocked File "", line 671, in _load_unlocked File "", line 783, in exec_module File "", line 219, in _call_with_frames_removed File "/src/viseron/detector/edgetpu/init.py", line 8, in import tflite_runtime.interpreter as tflite File "/usr/local/lib/python3.8/site-packages/tflite_runtime/interpreter.py", line 36, in from tflite_runtime import _pywrap_tensorflow_interpreter_wrapper as _interpreter_wrapper ImportError: /lib/aarch64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /usr/local/lib/python3.8/site-packages/tflite_runtime/_pywrap_tensorflow_interpreter_wrapper.cpython-38-aarch64-linux-gnu.so) [cont-finish.d] executing container finish scripts... [cont-finish.d] done. [s6-finish] waiting for services. [s6-finish] sending all processes the TERM signal.

Thank you for your help!

roflcoopter commented 2 years ago

The Jetson Nano support is not optimal atm, apologize for that. I am working hard on the next version, i hope to have this fixed there.

You can follow the progress in this PR -> #306

ksiwy87 commented 2 years ago

Thank you @roflcoopter! If you will be able to get this working it will be HUGE! :) BTW. I cannot see this issue listed in "Issues to resolve" in this PR -> #306. Are you going to add that?

roflcoopter commented 2 years ago

Noted, added it to the list!

roflcoopter commented 2 years ago

This is fixed now in #306