启扬I.MX8MPlus开发板如何在NPU上适配Movenet 模型

在NXP I.MX8MPlus平台上,因为自带有一颗NPU,所以官方对于很多开源模型有许多适配,从官方的github网站GitHub - NXP/eiq-model-zoo: A collection of machine learning models for vision optimized for NXP products · GitHub中可以查看到具体的适配信息。本篇文章具体介绍NPU的使用过程,以自带的movenet模型为例。

首先根据github上的网址将nxp-model-zoo拉取到PC Ubuntu上。这里要注意的是Ubuntu版本最好是在20.04~24.04之间,因为对python版本有限制。命令如下:

复制代码
git clone https://github.com/NXP/eiq-model-zoo.git

拉取后生成如下文件(正常拉取没有movenet.tflite文件):

可以看到官方已经写好了docker的配置文件,可以直接根据官方的命令构建docker镜像,命令如下:

复制代码
docker build -t nxp-model-zoo .

在构建的过程中可能会遇到相关报错,比如说apt update的时候没有默认yes,亦或者dockefile里的python版本不是必须的,这里贴出修改过的文件:

成功构建后可以使用sudo docker images查看构建的镜像,如下图所示:

以上步骤完成后就可以开始启动镜像并且执行对应movenet的构建脚本,构建movenet模型的tflite文件,命令如下所示:

复制代码
docker run --rm -v "$PWD:/workspace" nxp-model-zoo /workspace/tasks/vision/pose-estimation/movenet/recipe.sh

如果发现有相关报错可能跟路径有关系,再次核对一下路径即可。

运行成功就可以在eqi-model-zoo目录下生成对应的tflite文件movenet.tflite,如下图所示:

至此,我们所需要的关键文件准备完毕,接下来需要核对目标板相关文件并且将测试脚本以及测试图片移动到目标板上用于测试。

这里以我司IAC-IMX8MP-Kit为例,搭载Linux6.6内核,如果有相关测试与文章不符,可首先查看环境是否一致。

将PC上刚刚生成的movenet.tflite、eiq-model-zoo/tasks/vision/pose-estimation/movenet/example.pyeiq-model-zoo/tasks/vision/pose-estimation/movenet/example_input.jpg放入到/root/目录下,同时也要保证板端/usr/lib/下有libtensorflow-lite.so.2.16.2库以及libvx_delegate.so,环境确认之后修改example.py脚本。

因为当前是tensorflowlite处理的模型,所以需要将import tensorflow as tf注释,添加import tflite_runtime.interpreter as tflite。修改完成后测试脚本是否能够正常运行,执行命令python3 example.py,执行正常会在当前目录生成结果图片example_output.jpg,将其拷贝到PC上查看到具体结果,如下图所示:

可以通过打印的log查看到推理所使用的时间,另外可以观察到一个信息:

复制代码
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.

这表明这次推理是发生在CPU端而不是NPU端。可以通过nxp的官方文档查看到tensorflow的模型想要使用NPU,是使用的vx delegate代理,所以我们需要再次修改脚本,让模型跑在NPU上,可以参考官方的脚本进行修改,路径如下:

复制代码
https://github.com/nxp-imx/tensorflow-imx/blob/lf-6.6.23_2.0.0/tensorflow/lite/examples/python/label_image.py,

参考修改后在example.py添加如下图所示:

即可,修改完成后运行,当出现一下log打印时说明运行在NPU上:

对比CPU比较明显的便是推理速度很快,这里指的是平均速度,对比单张可能因为缓存等一系列问题,计时会有很大差异,忽略单次推理即可。

相关推荐
Easy_API12 小时前
2.8万亿参数,编程反超GPT-6 Astra:Kimi K3.1 Pro把开源模型推到了哪一步
大数据·人工智能·gpt·深度学习
GlobalInfo12 小时前
2026年机器人多指灵巧手市场分析报告——涵盖行业调查、趋势分析与发展前景
大数据·人工智能·microsoft·微服务·机器人
紧跟先前的步伐13 小时前
Go AI Agent 实战 24|工具系统工程化收尾与阶段验收
人工智能·ai·golang·1024程序员节
释厄62313 小时前
AI学习层更新与跨体转移律——人类社会同构·不缺理解缺 U
人工智能·学习
老金带你玩AI14 小时前
集万家所长,一键复制的Agent.md!
人工智能
ZhuoAIStage14 小时前
舞台工艺多专业审图提速:用 AI 智能体编排 A+B+C+G 四段读图流水线
人工智能·自动化·工作流编排·舞台工艺·审图智能体
小奶包他干奶奶14 小时前
AI学习——1、机器学习概念
人工智能·机器学习
展讯快报15 小时前
悬浮提词器免费App评估报告:说得AI的免费策略与可用性分析
人工智能
Yuzhiyuxia15 小时前
【AI Agent面试系列】AI Agent记忆机制知识点1
人工智能·面试·职场和发展
2601_9654488715 小时前
AI视频制作:做系列历史人物视频音色不搭,AI 音色克隆的方法实测
人工智能·音视频