首页 > 其他分享 >2.3T算力,真的强!1分钟学会NPU开发,基于NXP i.MX 8MP平台!

2.3T算力,真的强!1分钟学会NPU开发,基于NXP i.MX 8MP平台!

时间:2024-12-24 10:23:48浏览次数:3  
标签:NXP 8M 模型 开发 Plus NPU 8MP MX

科技飞速发展,人工智能与工业领域的融合日益深入。NXP旗下的i.MX 8M Plus作为一款高端工业处理器,NPU算力高达2.3TOPS,正引领着工业智能化的浪潮,为众多工业场景带来了前所未有的变革潜力。

图 1

 

i.MX 8M Plus NPU特性

i.MX 8M Plus的NPU支持INT16/INT32/FP16/FP32等多种数据类型,兼容性卓越,与TensorFlow Lite/Arm NN/ONNX Runtime/DeepViewRT等框架无缝对接。这一特性,为开发者们打造了一个极为丰富的工具和库生态系统,更便利进行模型开发与训练工作,轻松应对各种复杂的大数据运算场景,无论是海量工业数据的分析处理,还是精准智能决策的模型构建,更加游刃有余。

 

i.MX 8M Plus NPU开发流程

第一步:模型开发

首先,从TensorFlow预训练模型库中选择一个合适的模型,或根据具体任务需求创建自定义模型。然后,收集和准备训练数据集。

第二步:模型训练

可通过eIQ Toolkit工具调整参数(如Weight initialization、Input size、Learning rate等)优化模型性能,配置训练参数后,开始模型训练。

第三步:模型量化

可通过量化一个训练后的模型,减少其大小,并加快在NPU上的推理时间,实现最小的精度损失。

图 2 开发流程示意图

 

i.MX 8M Plus 典型工业应用

图 3

 

NPU开发案例演示

本文主要介绍基于i.MX 8M Plus的NPU开发案例,适用开发环境如下。

Windows开发环境:Windows 7 64bit、Windows 10 64bit

虚拟机:VMware15.5.5

开发环境:Ubuntu20.04.6 64bit

U-Boot:U-Boot-2022.04

Kernel:Linux-5.15.71-rt51

LinuxSDK:Real-Time Edge Software 2.5

硬件平台:创龙科技TLIMX8MP-EVM工业评估板(基于i.MX 8M Plus)

为了简化描述,本文仅摘录部分方案功能描述与测试结果,详细产品资料请扫描文末二维码下载。

案例说明

案例基于预训练的TensorFlow Lite模型实现对图片中目标对象的分类。TensorFlow Lite模型循环测试10次,统计出推理的平均处理耗时和帧率,获取模型输出的前五个标签及置信度打印至串口终端并通过HDMI显示屏绘制标签及置信度概率最大的对象结果。

程序处理流程图如下:

图 4

案例演示

通过网线将评估板千兆网口ETH0连接至路由器,将HDMI显示器与评估板HDMI2 OUT接口(CON22)连接。

图 5

在可执行文件所在目录,执行如下命令,对图片目标对象进行推理。

Target#./mobilenetv1_label_image -m mobilenet_v1_1.0_224_quant.tflite -y ./bmp_image -l labels.txt -c 10 --external_delegate_path=/usr/lib/libvx_delegate.so

图 6 图 7

程序滚动识别多张图片,以第1张图片识别结果为例,输出结果信息如下所示。

图 8

从输出信息可知,本张图片识别为桌面电脑、屏幕、监控器、笔记本电脑、桌子的概率分别为53.7255%、20%、7.45098%、4.31373%、2.7451%,程序循环运行10次模型平均耗时为2.6519ms,帧率为377fps。

案例程序对测试图片的目标对象进行识别后,通过HDMI显示屏绘制标签及置信度概率最大的对象结果如下所示。

图 9 若您希望深入了解更多i.MX 8M Plus相关的精彩案例演示,可以通过公众号(Tronlong创龙科技)获取详细资料,快来一起试试吧!

标签:NXP,8M,模型,开发,Plus,NPU,8MP,MX
From: https://www.cnblogs.com/Tronlong818/p/18626737

相关文章

  • Vue 3 指令开发:自定义输入处理指令 v-input
    Vue3指令开发:自定义输入处理指令v-input在现代前端开发中,用户输入的格式化与验证是一个重要的任务。为了提升用户体验,我们可以通过自定义指令来限制用户在输入框内的输入。本文将介绍如何在Vue3中实现一个名为v-input的自定义指令,用于处理不同类型的输入值,包括数字......
  • 2024/12/15 【字符串】卡码网55.右旋字符串 【√】 知识点:input函数的返回值类型是字
    55.右旋字符串(第八期模拟笔试)右旋字符串|代码随想录defrotateRight(s:str,k:int):t=s[-k:]s=t+s[:-k]returnsif__name__=="__main__":k=int(input())s=input()print(rotateRight(s,k))1.Python输入一个整数k的操作错......
  • JavaSwing FileInput
    try{BeautyEyeLNFHelper.frameBorderStyle=BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelDecorated;//UIManager.put("RootPane.setupButtonVisible",false);org.jb2011.lnf.beautyeye.BeautyEyeLNFHelpe......
  • [Typescript] Zod.input()
    TheInputisDifferentthantheOutputWe'vereachedthepointwithZodwhereourinputisdifferentthanouroutput.Inotherwords,youcangeneratetypesbasedoninputaswellasgeneratingtypesbasedontheoutput.Forexample,let'screat......
  • 【鸿睿创智开发板试用】RK3568 NPU的人工智能推理测试
    目录引言驱动移植例程编译修改build.sh执行编译运行测试部署libc的库文件执行测试程序结语引言鸿睿创智的H01开发板是基于RK3568芯片的,瑞芯微芯片的一大特色就是提供了NPU推理的支持。本文将对其NPU推理进行测试。驱动移植H01的开发板已经移植好了RKNN的驱动程......
  • 智能工厂的设计软件 三种处理单元(NPU/GPU/CPU)及其在深度学习框架中的作用 之3(百度文库
    Q&A(百度文库)Q1、今天聊聊“智能工厂的设计软件”中的三种处理单元(NPU/GPU/CPU)。一般来说提起这三者就不得不说“深度学习”。那我们就从这里开始。请先给出一个程序例子来说明NPU如何协作CPU和GPU来完成深度学习任务在深度学习任务中,NPU(神经网络处理单元)、GPU(图形处理单元)......
  • 智能工厂的设计软件 三种处理单元(NPU/GPU/CPU)及其在深度学习框架中的作用 之4(百度文库
    Q10、前面的所有编程都是利用三种处理单元(NPU/GPU/CPU)来建造深度学习模型的例子,并且细节度和复杂度,即难度逐步增加,可以分别视为在软件架构、程序框架和编码实现三个不同的阶段要考虑的不同问题(以不同的视角在不同的立场上)。下面我们来看看深度学习本身。本人认为,深度学习......
  • java中FileInputStream和FileOutputStream类
    一、介绍FileInputStream类与FileOutputStream类都用来操作磁盘文件,提供了基本的文件写入能力。二、FileInputStream类常用的构造方法1、FileInputStream(Stringname)2、FileInputStream(Filefile)第一个构造方法使用给定的文件名name创建一个FileInputStream对象,第二个......
  • Python-基于tkinter和pynput的微信信息轰炸器(最终版)
    前言:上一期我们编写了基于tkinter和pynput的微信信息轰炸器(进阶版)。但是,在后续的使用过程中,我发现了几个问题:一,轰炸器虽然能够实时锁定微信输入框位置并能对识别结果进行处理,但这个处理结果常常与轰炸器在处理用户输入的文本的结果存在逻辑混乱的现象;二,轰炸器一但没能锁定微......
  • 【汇总】NXP-IMX uuu 工具命令说明
    前言全局说明一、说明1.1环境:Windows11家庭版23H222631.3737uuu_1.5.182二、基本使用方法2.1帮助uuu2.2测试uuuuuu-v2.3三、常用命令3.1烧录bootloader命令:该命令即可将使用者的bootloader烧录至开发板的RAM中,并且可以正常启动该bootlo......