飞凌嵌入式
直播中

donatello1996

9年用户 737经验值
擅长:MEMS/传感技术
私信 关注
[技术]

【飞凌嵌入式OKMX8MP-C 开发板试用体验】移植官方NPU tensorflow例程并测试(运行在CPU上)

本帖最后由 donatello1996 于 2022-2-10 11:58 编辑

      在OKMX8MP-C 开发板的出厂使用手册中,有一章是针对版上NPU的图像识别例程,位于EMMC分区的/usr/bin/tensorflow-lite-2.3.1/examples,我将EMMC分区mount为了/media分区,找到对应的例程位置:
56.JPG
49.JPG


切换到EMMC启动,进入/usr/bin/tensorflow-lite-2.3.1/examples/目录下,运行测试example:
53.JPG


再切回TF卡系统运行,提示报错,label_image程序的nnapi需要动态链接库支持:
50.JPG
  1. libm-2.30.so
  2. libneuralnetworks.so.1.1.9
  3. libnnrt.so.1.1.9
  4. libArchModelSw.so
  5. libGAL.so
  6. libNNArchPerf.so
  7. libOpenVX.so.1.3.0
  8. libovxlib.so.1.1.0
  9. libVSC.so


其中libm-2.30.so被链接为ld-linux-aarch64.so.1,位于/usr/lib/aarch64-linux-gnu/目录下,若在移植后的目标系统的/usr/lib/aarch64-linux-gnu/下没有该库文件的话,是会在运行时提示报错的。将上述所有动态链接库复制到正确位置(/usr/lib和/usr/lib/aarch64-linux-gnu/),再次运行:
54.JPG

可以看到没有任何报错,运行库环境移植成功,接下来可以愉快地进行tensorflow例程的玩耍了,官方DEMO的验证结果是:
55.JPG
  1. 0.780392: 653 military uniform
  2. 0.105882: 907 Windsor tie
  3. 0.0156863: 458 bow tie
  4. 0.0117647: 466 bulletproof vest
  5. 0.00784314: 835 suit
78%结果吻合陆军制服,10%结果吻合温莎领带,1%结果吻合领结,1%结果吻合防弹背心,不到1%结果吻合西装,总的来说这个结果还是挺令人满意的,NPU的算力确实还可以,多次运行程序,得出的结果完全相同,说明NPU计算时使用的是固定的/静态的图像识别库。我这边突发奇想,用这个Demo去测一下我自己的论坛头像,看看结果:
1.bmp
  1. 0.352941: 274 dingo
  2. 0.254902: 265 Cardigan
  3. 0.184314: 264 Pembroke
  4. 0.0666667: 163 beagle
  5. 0.0156863: 354 gazelle

35%的野狗,25%的毛衣,18%的Pembroke???,6%的小猎犬(beagle),1%的羚羊,看到羚羊(gazelle)我属实蚌埠住了,哈哈。

然后再来试试另外几张图片,为了检验这NPU的人工智能算力到底行不行,一下弄满十张,豪华尊享,由于源码不开放,所以无法移植源码到自己的例程中:
4.bmp
  1. 0.160784: 639 maillot
  2. 0.137255: 436 bathtub
  3. 0.117647: 886 velvet
  4. 0.0705882: 586 hair spray
  5. 0.0509804: 440 bearskin

5.bmp
  1. 0.972549: 644 mask
  2. 0.00392157: 918 comic book
  3. 0.00392157: 904 wig
  4. 0.00392157: 797 ski mask
  5. 0.00392157: 732 plunger

6.bmp
  1. 0.380392: 583 grocery store
  2. 0.321569: 957 custard apple
  3. 0.0862745: 955 banana
  4. 0.0352941: 956 jackfruit
  5. 0.027451: 954 pineapple

7.bmp
  1. 0.254902: 918 comic book
  2. 0.0470588: 771 running shoe
  3. 0.0470588: 474 can opener
  4. 0.0470588: 412 apron
  5. 0.0392157: 794 shower cap

8.bmp
  1. 0.52549: 922 book jacket
  2. 0.0705882: 788 shield
  3. 0.0705882: 452 bolo tie
  4. 0.0588235: 627 lighter
  5. 0.0352941: 701 paper towel

9.bmp
  1. 0.121569: 656 miniskirt
  2. 0.054902: 835 suit
  3. 0.0470588: 852 television
  4. 0.0470588: 440 bearskin
  5. 0.0392157: 679 neck brace

10.bmp
  1. 0.65098: 918 comic book
  2. 0.172549: 747 puck
  3. 0.0196078: 922 book jacket
  4. 0.0196078: 723 ping-pong ball
  5. 0.0117647: 806 soccer ball

2.bmp
  1. 0.678431: 918 comic book
  2. 0.0784314: 418 balloon
  3. 0.0470588: 880 umbrella
  4. 0.0470588: 722 pillow
  5. 0.0156863: 644 mask


3.bmp
  1. 0.184314: 585 hair slide
  2. 0.156863: 794 shower cap
  3. 0.0941176: 797 ski mask
  4. 0.0431373: 644 mask
  5. 0.0352941: 571 gasmask


更多回帖

发帖
×
20
完善资料,
赚取积分