Run Yolox-nano on khadas VIM3

Hello,

I am trying to run my yolox-nano model on khadas vim3 using npu,
but I am having a hard time trying to do that,

I am using Tengine and TIM-VX to do that (this is the only way I found !!),
if there is a better way please guide me,

any help is appreciated,
thank you!.

@Mohammad_Nour_Alawad

Please follow those docs.

hello @Frank ,

I have been trying to run the aml_npu_demo_binaries and I faced some problems,

the steps I followed are:

  • Install this image to sd card for booting:
    VIM3_Ubuntu-gnome-focal_Linux-4.9_arm64_SD-USB_V1.0.10-220108.img

  • Clone the repository.

  • Run (sudo ./INSTALL) in the detect_demo_picture

  • Trying this command:
    ./detect_demo_x11 0 1080p.bmp

and here is the output …

what could be the problem?

thanks.

@Mohammad_Nour_Alawad Check the Galcore version

$ dmesg | grep Galcore

Do you upgrade your system to least OTA version?

hello @Frank ,

I noticed that there is no demo for YoloX in the aml_npu_demo_binaries nor in the aml_npu_app where I should do the compilation,

so, what should I do?,
is there something I am missing?

so far, I managed to run the demo binaries on my vim3 pro,
and I built a YoloX-nano model,
now, how can I run this model on the vim3 pro?

thank you.

@Mohammad_Nour_Alawad

You can follow this doc . But the postpress just for yolov3 , if you use another model , please implement your own post-processor.

hello @Frank ,

I am trying to run a yolov3 model on my khadas vim3 pro USING NPU,

I followed this step by step:

and after the compilation is done with no errors,

  • I converted my model to tmfile,
  • I quantized the model to uint8
  • I tried to run ./build/install/bin/tm_yolov3_uint8 and it WORKED perfectly.

but when I try to run ./build/install/bin/tm_yolov3_timvx I am getting this error:

tengine-lite library version: 1.5-dev
E [query_hardware_caps:50]CHECK STATUS(-10:The supplied parameter information does not match the kernel contract.)
E [Init:194]Create tensor fail!
E [Init:194]Create tensor fail!
E [Init:194]Create tensor fail!

P.S:
when I did the build of Tengine I sat:

  • cmake -DTENGINE_ENABLE_TIM_VX=ON

and I checked the Galcore version and It is the latest 6.4.8.7.1.1.1

could you please tell what could be the problem?

thanks a lot!

@Mohammad_Nour_Alawad Please use xxx_uint8 code, other code not for VIM3.

Actually that is very shocking,

It is literally mentioned in the documentation that if you want the NPU to be used then you should use the TIM-VX plugin,

Is the code xxxx_uint8 using the NPU? and how can I make sure?

@Mohammad_Nour_Alawad You can check it source code. If it is a NPU demo, you can found some configiure with NPU.