[EdgeAI] NXP eIQ 机器学习Toolkit (二):模型篇


在这里插入图片描述


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

在这里插入图片描述


1. 模型选择

在准备篇中,数据集已OK,下面进行Model的建模训练,

首先要选择模型,点击SELECT MODEL:

在这里插入图片描述

eIQ 软件提供了两种不同应用的图像Model,包括Classification分类任务和Detection检测任务。
在这里插入图片描述
点击其中任一Model,就会进入到 Model Performance 类型选择:

类似大多现有Release的模型type:

  • ·Performance:模型运行速度最快,精度最低
  • ·Balanced:折中
  • ·Precision:模型运行精度最高,速度最低

(U1S1,这三个图片logo表达的还是非常准确滴~)
在这里插入图片描述

我们可以点击左面 选项栏的BaseModel,查看eIQ支持的模型:

可以看到eIQ针对图像分类/检测 Model 是用的 经典的MobileNet/SSD,

在这里插入图片描述

这里选择Balance的模型,点进去后,进入Target 目标平台选择,支持 MCU CPU和GPU,NPU

在这里插入图片描述


2. 模型训练

选择目标平台和类型后,进入到模型训练界面:

在这里插入图片描述
常用训练参数也都在选项栏里:

在这里插入图片描述

其中常用的包括:

–> Weight Initialization: 模型权重初始化策略,包括Imagenet(即网络预训练权重),随机权重,以及本地权重文件(即加载本地所保存的模型权重文件)
-> Input Size:指定模型输入尺寸
-> Learning Rate:模型训练学习率,控制每次迭代后模型权重更新速度
Batch Size:每一次迭代所使用的数据大小
-> Epochs ToTrain: 总的训练迭代次数
-> Enable QAT:使能训练中量化

配置好训练参数后,点击 黄色的“START TRAINING” 选项,即可开始训练,并实时更新Train loss曲线和各类参数:

在这里插入图片描述


3. 模型评估

当模型训练达到我们所接受的精度之后,我们就可以点击Stop停止模型训练,然后点击 VALIDATA进行模型的评估和测试,

如果精度一直不达标,可以通过修改各训练参数,或者更新训练数据,再次点击CONTINUE TRAINING继续进行训练:

在这里插入图片描述

在这里插入图片描述

Validating 需要一段时间:

在这里插入图片描述

在Validate 页面可以查看评价指标(Evaluation metrics),

eIQ这里 支持 Confusion MatricPer Class Metric:

下图我这次训练后的 Confusion Matric (混淆矩阵)

在这里插入图片描述

Per Class Metric(每个类别的准确度):

在这里插入图片描述

在选项栏 的validation 配置有Softmax threshold阈值 等:

在这里插入图片描述

点开Model Tool可以查看 分析Model具体结构

在这里插入图片描述

Model Tool这里 一看就是集成的Netron:

在这里插入图片描述
能够看到模型每一层的各类参数,包括输入输出和运行时间等,


4. 模型导出

如果评估感觉模型达标,接下来就可以进行导出和部署到 目标设备上,

点击Deploy:

在这里插入图片描述

进入导出页面:

在这里插入图片描述

这里支持导出为:

  • DeepViewRT (*.rtm),用于DeepViewRT推理引擎的rtm格式
  • ONNX (*.onnx)
  • Tensorflow Lite (*.tflite)
  • Keras (*.h5)

在这里插入图片描述

导出模型可选的输入输出类型 包括:Float32/Int8/Uint8:

在这里插入图片描述

也可以根据需要,针对性的对模型进行Quantized量化

在这里插入图片描述

配置好后,点击EXPORT MODEL 即可导出模型文件到本地:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

对于保存到本地的模型,可以在Deploy到设备之前,选用PC调用(如python加载)运行试下效果,最后再部署到设备端运行
在这里插入图片描述


5. 模型部署

Edge设备端是需要根据模型的类型以及设备的Lib支持,移植相应的Inference Engine ,加载上面保存的模型,运行输出Prediction结果。

在这里插入图片描述

而上面的模型 可见 准确度还差得远,不能使用,所以需要retrain提升精度后,Deploy在设备端才能更好的运行以解决问题。

手头的NXP开发板没有适合跑上面模型的,新板子正在路上。。。

在这里插入图片描述

未完待续。。。


博主热门文章推荐:

一篇读懂系列:

LoRa Mesh系列:

网络安全系列:

嵌入式开发系列:

AI / 机器学习系列:


猜你喜欢

转载自blog.csdn.net/HowieXue/article/details/125961811