Missing .so file while converting the model using Python API

@Frank Thanks.
The training accuracy: 98%
Validation accuracy: 85%

These were measured during the training of the model.

How can I measure the accuracy of the model now when it is running on the NPU?

@Akkisony I think you should compare the actual accuracy at runtime, not the accuracy of the training set or validation set

@Frank Thanks again. So do you mean by measuring the score values?

@Akkisony Yes, by measuring the score values

@Frank Thank you for replying.

I measured the score values on Coral TPU and VIM3 NPU for a MobileNetv2 classifier model.

VIM3 - NPU:
Inference time: 36ms
Score value: 53.45%

Coral USB accelerator
Inference time: 10ms
Score value: 96.24%

  1. Can you please tell me why is there a loss in the accuracy of the model on the NPU?
  2. How can it be improved?

@Akkisony I will test it today, I think it not true

@Akkisony This is my test with mobilenet v1

khadas@Khadas:~/nbg_unify_mobilenet_tf/bin_r_cv4$ ./mobilenet_tf ../mobilenet_tf.nb ~/ksnn-examples/pytorch/data/goldfish_224x224.jpg 
Create Neural Network: 94ms or 94594us
Verify...
Verify Graph: 1ms or 1058us
Start run graph [1] times...
Run the 1 time: 18.00ms or 18688.00us
vxProcessGraph execution time:
Total   18.00ms or 18738.00us
Average 18.74ms or 18738.00us
 --- Top5 ---
  2: 0.999023
141: 0.000336
121: 0.000160
120: 0.000132
116: 0.000093

@Frank Thank you for verifying.
Can you please check my edge_tpu_tflite model on your PC? Please find the model in the below link.

https://drive.google.com/drive/folders/1RIxQ34wz44mzxODUqy9VIEFaHDWKa3r0?usp=sharing

Thanks again.

@Akkisony Sorry, I don’t have a USB Coral. I think you can test it by yourself

@Frank I am sorry. Can you please check the .nb file of my model which I have uploaded now.

https://drive.google.com/drive/folders/1RIxQ34wz44mzxODUqy9VIEFaHDWKa3r0?usp=sharing

@Frank I am trying to use the NPU Pytho API for conversion. But, I am facing some issues. I cannot generate the .so file.
I think there is problem with the shell scripts, because the script creates a directory named - “yolov3-5” but it searches for “nbg_unify_yolov3-5” to place the .so file.

Can you please check and let me know.

Thanks.

@Akkisony You lose the gcc compile, you need to install it . I remember I already replied to you in the previous post

@Frank Just for confirmation. I have downloaded the ml_npu_sdk on my PC.
So do I have to install gcc tool chain on my PC? As I convert the model on my PC and then copy it to the board.

@Akkisony Yes, you convet with pc then copy it to board

@Frank I just confirmed. The gcc tool chain is already installed.

If you can see this, I think the script is not able to create a nbg_unify_yolov3-5 directory. Instead it is creating just ‘yolov3-5’ directory.
Please find the image - Missing .so file while converting the model using Python API - #31 by Akkisony

@Frank Along with the previous post, also please also check my model (MobileNet v2).

@Akkisony OK. I can arrange it in my plan, but it will take some time to wait

Okay. Thank you for making time to check my model.
Do you have an idea about this Python API SDK? Why is the convert tool not able to create a directory - “nbg_unify_yolov3-5” ?
Thanks again!

@Akkisony I have already explained this problem. Look at the picture you provided, and it clearly says “aarch64-linux-gnu-gcc command not found”.

@Frank I follwed your procudure you explained and added the PATH.

echo $PATH
/home/learningtime/anaconda3/condabin:/home/learningtime/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/toolchains/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin