Need help simulating .tflite yolo models on my linux machine.
-
Here's a link to a .tar with a voxl-logger log that I recorded! https://drive.google.com/file/d/1c-snBLT6mmrwGpKE2WhVR-YQgumN0s6o/view?usp=sharing
You should use ADB to push this file onto VOXL and then use
tar -xvf customlog.tar
to unzip the file, it should unpack into/data/voxl-logger/log0009/
. Then you should be able tovoxl-replay -p /data/voxl-logger/log0009/
. The only other important thing you need to do is editvoxl-tflite-server
to predict from thetracking
camera in/etc/modalai/voxl-tflite-server.conf
.Thomas
-
@thomas
Hey thomas,
So I have followed your steps and loaded the log0009 data and then ran voxl-replay command while running voxl-tflite-server correctly configured with tracking option. But nothing happens after that it seems.
So the output I'm expecting at the end is to be able to have something like
Model Task Avg Cpu Inference(ms) Avg Gpu Inference(ms) Avg NNAPI Inference(ms) Max Frames Per Second(fps) Input Dimensions Source
custom-tflite-model Object Detection 33.89ms 24.68ms 34.42ms 34.86750349 [1,300,300,3]Where can I get such output after running the voxl-replay command. I think I'm missing some steps after that.
Please let me know what I'm missing here.
Thanks -
Yeah, so my default all of our services don't print anything out when run. Do
voxl-tflite-server -t
for timing printouts.This won't give you a super organized printout like what you are writing. But it will give you out data on the per-iteration callback times and the breakdown per function. You'll then need to modify
/etc/modalai/voxl-tflite-server.conf
in different ways to get different timing printouts in order to build up a table of benchmarks.Thomas
-
@thomas
Okay, So i did run voxl-tflite-server -t alongside voxl-replay command but am still not getting anything.
For yolov5 I get no output after running voxl replay. it just outputs this:
For my custom yolov7 nd yolov8 I get these errors:
I even referred to this thread https://forum.modalai.com/topic/2997/can-anyone-recommend-a-tflite-colab-notebook-for-voxl2-training/3
and configured the main.cpp file by adding if else statement for custom model to use YOLO model instead of OBJECT_DETECTION as the default one before even running the above commands.
I'm not sure why am I still not getting any output.
Thanks -
@Ajay-Bidyarthy I'll look into it today.
Thomas
-
@thomas @Ajay-Bidyarthy
Sadly I won't have time to look at this today and am out of office tomorrow so I can't fully debug this for you. Let's focus just on YOLOv5 right now since that's the one we have onboard by default and it isn't segfaulting. Make sure you're launching tflite-server in a terminal and then in a separate terminal running the voxl-replay command.
I apologize for this, sorry I didn't have time for it today.
Thomas
-
@thomas
No worries. Ok, but even for yolov5 I've been running both voxl replay and tflite server commands in separate windows/terminals but still facing the issue.Let me know why is it so and how can we resolve this.
Thanks -
-
@thomas @Ajay-Bidyarthy
Okay so I've identified a problem in our timing code and am working on a fix. Here's a short-term solution for you:
- Make sure
/etc/modalai/voxl-tflite-server.conf
has"input_pipe"
set to"/run/mpa/tracking"
- Get your VOXL's IP address with
voxl-my-ip
and enter this IP into your web browser to pull up voxl-portal in your browser. - Run
voxl-tflite-server
on VOXL - Run your voxl-logger log as
voxl-logger -p /data/voxl-logger/log0009/
or whatever the path is saved as
Now in your web browser, from the "Cameras" dropdown click tflite. You may need to refresh the page to get this to pop up. The permalink to this page is
<YOUR IP>/video.html?cam=tflite
(e.g.http://192.168.0.198/video.html?cam=tflite
) so you can optionally just go there. This overlay shows the ML model running and in the upper left of the frame shows a framerate. You can use this to estimate for the time being.Am working on the fix now, will let you know when it's released.
Thomas
- Make sure
-
@thomas @Ajay-Bidyarthy
Okay, I've pushed up a change for our nightly builds to fix the timing printouts with the
-t
option. So starting tomorrow you can flash the latest nightly SDK build and have this fix. If you'd like it today let me know and I can push the .deb up to Google Drive so you can flash it directly. Here is the link for the nightly SDK builds.Thomas
-
@thomas
Hi,
Thanks for this info. So I have tried accessing the portal by running the voxl-my-ip command but found nothing getting printed out when I run that command. I inspected to make sure my voxl-portal service is running perfectly but still cant seem to get the ip for portal.
Also, can you push the latest SDK as well or share the deb with me.
file:///home/bhavya/Downloads/WhatsApp%20Image%202024-04-09%20at%2010.46.27%20AM.jpegThanks
-
Make sure you set up WiFi on VOXL! Here's the guide: https://docs.modalai.com/voxl-2-wifi-setup/
Thomas
-
@thomas
Hi thomas,
Could you please provide us the latest nightly sdk build for VOXL2 mini if you think we can work with that for now?Regards,
OKSI Team -
-
@thomas
Hi thomas,
Is this package for voxl2min or voxl2?
Regards -
@thomas
Because I think this SDK is meant for M-0054 while our version is M0104. Let me know if we can go ahead and flash this SDK or not?
Thanks -
@thomas
Also, Now that I have flashed the SDK onto my chip its showing voxl2 in the shell screen instead of voxl2-mini. And even if I try and go ahead and do the following steps. I still cant get the desired output.
file:///home/bhavya/Pictures/Screenshots/Screenshot%20from%202024-04-15%2014-29-02.png -
Oh my apologies, here's the link for VOXL2 Mini nightly SDK. I almost never work with these so apologies for the confusion
Thomas
-
@thomas
Hey thomas,
So I tried with this new sdk. Unfortunately, I still dont see any output here as well
-
Have you also tried using this method? Or were there issues getting WiFi setup?
@thomas said in Need help simulating .tflite yolo models on my linux machine.:
Okay so I've identified a problem in our timing code and am working on a fix. Here's a short-term solution for you:
Make sure /etc/modalai/voxl-tflite-server.conf has "input_pipe" set to "/run/mpa/tracking" Get your VOXL's IP address with voxl-my-ip and enter this IP into your web browser to pull up voxl-portal in your browser. Run voxl-tflite-server on VOXL Run your voxl-logger log as voxl-logger -p /data/voxl-logger/log0009/ or whatever the path is saved as
Now in your web browser, from the "Cameras" dropdown click tflite. You may need to refresh the page to get this to pop up. The permalink to this page is <YOUR IP>/video.html?cam=tflite (e.g. http://192.168.0.198/video.html?cam=tflite) so you can optionally just go there. This overlay shows the ML model running and in the upper left of the frame shows a framerate. You can use this to estimate for the time being.
Am working on the fix now, will let you know when it's released.
Thomas
Yeah I'm really not sure what's going on here, on that nightly SDK
voxl-tflite-server -t
is printing out timing information. I don't have a VOXL2 Mini to test on so if it's a specific issue there I'm really not sure. Let me try some stuff today and I'll get back to you.Thomas