VIM3L inception_v3 NPU demo got NBG fail

OS version : VIM3L_Ubuntu-server-bionic_Linux-4.9_arm64_EMMC_V20191231.7z

The package has been upgraded to the latest.

Use acuity-toolkit 5.0.0 convert inception_v3 success, But when run demo in board got NBG fail error:

khadas@Khadas:~/c_code$ lsmod | grep galcore
galcore               331776  0
khadas@Khadas:~/c_code$ ./inceptionv3 inception_v3.nb goldfish_299x299.jpg 
D [setup_node:367]Setup node id[0] uid[0] op[NBG]
D [print_tensor:129]in : id[   1] shape[ 3, 299, 299, 1   ] fmt[u8 ] qnt[ASM zp=137, scale=0.007292]
D [print_tensor:129]out: id[   0] shape[ 1001, 1          ] fmt[f16] qnt[NONE]
D [optimize_node:311]Backward optimize neural network
D [optimize_node:318]Forward optimize neural network
I [compute_node:260]Create vx node
E [compute_node:286]Create node[0] NBG fail
E [vnn_CreateNeuralNetwork:174]CHECK PTR 174
E [main:210]CHECK PTR 210

@jujuede Did you use the model demo which was trained by yourself ?

No, I followed this tutorial.

I found that in the official pre-compiled demo, there are two versions of the inception_v3 demo.

khadas@Khadas:~/aml_npu_demo_binaries/inceptionv3$ ls
VIM3  VIM3L  dog_299x299.jpg  goldfish_299x299.jpg  imagenet_slim_labels.txt

The size of the model file used by the two versions of the demo is not the same:

khadas@Khadas:~/aml_npu_demo_binaries/inceptionv3$ ll -h VIM3L/inception_v3.nb  VIM3/inception_v3.nb 
-rw-rw-r-- 1 khadas khadas 28M Mar  8 03:51 VIM3/inception_v3.nb
-rw-rw-r-- 1 khadas khadas 20M Mar  8 03:51 VIM3L/inception_v3.nb

I used the VIM3 executable to execute the VIM3L model file with success.

khadas@Khadas:~/aml_npu_demo_binaries/inceptionv3$ export VSI_NN_LOG_LEVEL=0 && ./VIM3/inceptionv3 ./VIM3L/inception_v3.nb goldfish_299x299.jpg 
Create Neural Network: 33ms or 33699us
Verify Graph: 2ms or 2099us
Start run graph [1] times...
Run the 1 time: 79ms or 79635us
vxProcessGraph execution time:
Total   79ms or 79689us
Average 79.69ms or 79689.00us
 --- Top5 ---
  2: 0.826660
795: 0.008255
974: 0.004066
393: 0.002390
408: 0.002285

Executing a VIM3 model file using the VIM3 executable file fails.

khadas@Khadas:~/aml_npu_demo_binaries/inceptionv3$ ./VIM3/inceptionv3 ./VIM3/inception_v3.nb goldfish_299x299.jpg 
E [compute_node:286]Create node[0] NBG fail
E [vnn_CreateNeuralNetwork:174]CHECK PTR 174
E [main:210]CHECK PTR 210

Is the model data conversion command of VIM3L version different from VIM3 version? I did not find a specific tutorial for the VIM3L demo in this repo

@jujuede the conversion no difference . Without replacement, can the original demo be used ?

The size of the nb file I converted according to the tutorial is the same as the nb file size in VIM3 demo:

(vim3l) ➜  nbg_unify_inception_v3 ls -al inception_v3.nb
-rw-r--r-- 1 zqh zqh 28807168 3月   6 18:27 inception_v3.nb

khadas@Khadas:~/aml_npu_demo_binaries/inceptionv3$ ll  VIM3/inception_v3.nb 
-rw-rw-r-- 1 khadas khadas 28807168 Mar  8 03:51 VIM3/inception_v3.nb

NBG fail error occurs when using VIM3 version .nb file:

khadas@Khadas:~/aml_npu_demo_binaries/inceptionv3/VIM3$ ./inceptionv3 inception_v3.nb ../goldfish_299x299.jpg
E [compute_node:286]Create node[0] NBG fail
E [vnn_CreateNeuralNetwork:174]CHECK PTR 174
E [main:210]CHECK PTR 210

The VIM3L version .nb file size is:

khadas@Khadas:~/aml_npu_demo_binaries/inceptionv3/VIM3L$ ls -al inception_v3.nb 
-rw-rw-r-- 1 khadas khadas 20799872 Mar  8 03:51 inception_v3.nb

@jujuede If you want to use in VIM3L , the parameter optimize in the script which name 2_export_case_code , you shuld set it to be VIPNANOQI_PID0X99

1 Like

Thanks ! Now success !