Jetson Nano - Object detection / Python3.7

Hello,

I’ve trained a model for object detection and it’s running on a jetson Nano. I saw in the EdgeImpulse documentation the TensorRT librairy is not supported at the moment . I’m curious to know the reason behind, is it linked to the DSP blocks?
If I convert the Tensorflow model to ONNX do I have a chance to make it work or it’s not worth the effort ?

I also have a comment / question, Jetson Nano is delivered with Python3.6, edgeimpulse requires python 3.7 . I had a lot of troubles upgrading python on the nano and having the dependencise for OpenMV work.

So my question would be what is the simplest way to upgrade python on the nano ? Is there a docker image that I could use to make this process easier?

Thanks for reading.

Hi, we do currently support TensorRT for all models (except for object detection):

If you are specifically working with an object detection model, you can download the .eim file using the Edge Impulse Linux CLI for use in a Python script here: https://docs.edgeimpulse.com/docs/edge-impulse-for-linux

And you can also utilize our Python SDK for use with Python 3 here: https://github.com/edgeimpulse/linux-sdk-python

You said Edge Impulse requires Python 3.7, do you have any error output you can post? I don’t see why 3.6 wouldn’t work.

@Keja the reason is that at the end of the neural network there’s a custom operator that performs the regression step to output the bounding boxes. This sounds easy, as this operator is used by every MobileNet SSD model, but whatever we try we cannot get this converted in a way that TensorRT understands this. We’re currently working on a new object detection pipeline that does not depend on this operator, and from then we can support GPU on Jetson Nano out of the box.

If someone reading this actually has a functioning pipeline to go from trained TFLite model => something running in TensorRT under C++ then I’ll buy you a beer.

I also have a comment / question, Jetson Nano is delivered with Python3.6, edgeimpulse requires python 3.7 . I had a lot of troubles upgrading python on the nano and having the dependencise for OpenMV work.

I don’t think we have a hard dependency on 3.7, if you have a functioning OpenCV installation under 3.6 then I think it might just run as-is.

@jenny & @janjongboom , thanks for your answers.

On python I had some issues with dependencies and found this post on the forum : https://forum.edgeimpulse.com/t/error-setting-up-jetson-nano-with-a-csi-camera/1794/21?u=keja
so I had the impression there was a hard dependency on 3.7 based on Aurel’s comment .

Yeah we’ve marked it like that, but I think if you just copy-paste the SDK into your 3.6 project (or remove the check) it’s probably fine.

thanks, I ll give that a try !

@janjongboom , so I can confirm that it works with Python 3.6. thank you

@Keja Cool, I’ve updated the requirements list in the package and pushed a new version.