[EdgeAI] NXP eIQ 机器学习Toolkit (一):准备篇


在这里插入图片描述


1. 背景

边缘计算和Edge AI 的一个主要的问题就是:如何在资源有限的 Edge设备端上Deploy并Run各类智能算法/模型,Nxp作为MCU大厂,也提供了一套eIQ(edge Intelligence)Took kit来support ML在设备端的开发部署。

之前正好接触了eIQ, 最近才有时间整理一下下。。

在这里插入图片描述

老规矩,上个动图先来个初步印象:


2. eIQ简介

在这里插入图片描述

Toolkit包含:

  • eIQ Portal :GUI建模工具,可视化进行ML模型 创建/优化/调试、转换和导出
  • eIQ Model Tool :模型分析工具,高级版Netro,用于查看分析模型具体结构、运行时间等
  • eIQ Command-line Tools :命令行工具

目前支持的Inference Engines (IE, 推理引擎) 有:
在这里插入图片描述

各推理引擎对应支持 的芯片硬件系列如下:

在这里插入图片描述

可以看到基于Cortex-M 的MCU因为资源受限是只支持TFlite for MCU/DeepViewRT和Glow模型,而ArmNN和ONNX的模型就只有iMx8 等Cortex-A以上的芯片才支持了。。


3. 开发应用流程

在这里插入图片描述

如上图,整体开发流程上,和其他Edge AI开发过程是差不多的,只不过最终deploy的设备换成了NXP的各类芯片、Firmware端的 Inference Engine换成了 eIQ的 而已,

从上图可以清晰看出来, eIQ这里分出来的两个主要流程:
在这里插入图片描述

分别针对Data 和Model:

  • Bring Your Own Data (BYOD) :自己只准备数据(如图片),全程用eIQ工具建模/训练/优化,导出部署到设备 (只能使用eIQ目前支持的几种Model)
  • Bring Your Own Model (BYOM) : 利用已有模型(如已训练好的Model),只用eIQ进行量化/优化或模型分析,导出部署到设备

利用上面两个开发流,导出的模型就可以Deploy在支持 eIQ IE的设备上Run Model (Prediction)了


4. 开发环境搭建

第一步,下载eIQ软件包:

打开选择相应Installer下载 安装即可:
在这里插入图片描述

Windows版安装后的软件在 C:\nxp\eIQ_Toolkit_v1.x.x

启动运行eIQ portal.exe即可
在这里插入图片描述

在这里插入图片描述

第二步,配置工程和数据集

在eIQ installer安装后,如果想使用自带的一些功能,需要下载一些Model和dataset,这里NXP也在软件里有相关的python脚本,运行后即可自动下载:

其中workspace目录是主要的开发目录,
在这里插入图片描述
可以进到 workspace/models查看eIQ自带支持的model

在这里插入图片描述

例如这里我进入到安装目录的workspace目录,

运行

python -m pip install tqdm
python -m CIFAR_uploader

在这里插入图片描述

其中 Tqdm是进度条库

CIFAR_uploader 运行后会安装CIFAR-10数据集以及相关配置, 并在workspace\user_models\classification\image\cifar10 目录 自动创建cifar10.deepview eIQ工程。

在这里插入图片描述

eIQ 同时支持两种文件扩展名,.eiqp和.deepview,但两者没有任何区别

至此 eIQ基本的开发环境搭建完成~


5. 数据集准备

还没完,通过eIQ portal上打开cards.deepview 该工程:

在这里插入图片描述

打开后可以看到CIFAR-10 相关的Dataset、Label等信息

CIFAR-10 (Canadian Institute for Advanced Research, 10 classes): 是知名的小图像数据集, 由10类32x32的彩色图片组成,一共包含60000张图片,每一类包含6000图片。其中50000张图片作为训练集,10000张图片作为测试集。
CIFAR地址:https://www.cs.toronto.edu/~kriz/cifar.html

在这里插入图片描述

针对图片数据,支持手动导入和拍照:

在这里插入图片描述

和其他工具一样,eIQ也提供了图像手动标注工具

单击图片 可以手动标记配置 bounding box区域 和label:

(CIFAR-10是图像分类数据集,所以都是full image label)
在这里插入图片描述

Train/Test 比例 划分和随机Shuffle:
在这里插入图片描述

还提供了 图像 Data Augmentation 工具:

在这里插入图片描述

eIQ 支持各种图像常见的数据增强,比如Rotate、Flip、GaussianNoise等图像处理:

传统的图像数据增强方法,通常使用图像处理技术 来完成数据集的扩充和图像质量优化,大致分 为几何变换、色彩变换、像素变换三大类。

在这里插入图片描述

好的,准备工作到这里就完成了,接下来进入Model流程,详见:
[EdgeAI] NXP eIQ 机器学习Toolkit (二):模型篇


博主热门文章推荐:

一篇读懂系列:

LoRa Mesh系列:

网络安全系列:

嵌入式开发系列:

AI / 机器学习系列:


猜你喜欢

转载自blog.csdn.net/HowieXue/article/details/125956827
今日推荐