Adding Ethos-U to the libtf.cc

Hi Everyone,

I was looking for to run a object detection model on the OpenMV H7+. I have found a yolov8 object detection model with small architecture (architecture is given below image). In the openmv/tensorflow-lib, AddEthosU is commented out and commented as - Future. I tried to uncomment the layer and try to build it with make.py as said in the ReadME file but it returns with error.

make: tensorflow/lite/micro/tools/make/Makefile: No such file or directory make: *** No rule to make target 'tensorflow/lite/micro/tools/make/Makefile'. Stop. Make Failed...

How can I able to customize the layers in the openmv/tensorflow-lib file? Is it okay to use the Ethos-U layer in the OpenMV?

Thank you in advence

EDIT: Cloning the openmv/tensorflow-lib repository recursively fails due to the permissions on the edge-impulse sdk

Failed to clone 'edge-impulse-sdk'. Retry scheduled Cloning into '/home/bugra/.local/share/Trash/files/tensorflow-lib.2/tensorflow-lib/edge-impulse-sdk'... git@github.com: Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Hi,

That accelerator option only works for new processors that have the ethous u55 coprocessor which the H7 doesn’t have. However, new chips coming out do have this feature which we will enable support for soon.

Regarding our TensorFlow lib. That’s already built and compiled into the firmware. We’ve enabled every layer necessary to support yolov3/v4 models which we should be able to release as a feature this month hopefully depending on Edge Impulse.

Hi kwagyemen,

Thank you for your answer. Supporting yolov3/yolov4 sounds amazing. Are those layer enabled in the latest version of the firmware? Should I implement the yolov3/yolov4 models directly or do I need to modify the firmware for processing outputs etc.

Thank you in advence,

There’s a PR that will be merged to enable this. Since this feature require cross company coordination it has taken some time.