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

  • 1. 模型选择
  • 2. 模型训练
  • 3. 模型评估
  • 4. 模型导出
  • 5. 模型部署
  • 博主热门文章推荐:


书接上篇:[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开发板没有适合跑上面模型的,新板子正在路上。。。

未完待续。。。


博主热门文章推荐:

一篇读懂系列:

  • 一篇读懂无线充电技术(附方案选型及原理分析)
  • 一篇读懂:Android/iOS手机如何通过音频接口(耳机孔)与外设通信
  • 一篇读懂:Android手机如何通过USB接口与外设通信(附原理分析及方案选型)

LoRa Mesh系列:

  • LoRa学习:LoRa关键参数(扩频因子,编码率,带宽)的设定及解释
  • LoRa学习:信道占用检测原理(CAD)
  • LoRa/FSK 无线频谱波形分析(频谱分析仪测试LoRa/FSK带宽、功率、频率误差等)

网络安全系列:

  • ATECC508A芯片开发笔记(一):初识加密芯片
  • SHA/HMAC/AES-CBC/CTR 算法执行效率及RAM消耗 测试结果
  • 常见加密/签名/哈希算法性能比较 (多平台 AES/DES, DH, ECDSA, RSA等)
  • AES加解密效率测试(纯软件AES128/256)–以嵌入式Cortex-M0与M3 平台为例

嵌入式开发系列:

  • 嵌入式学习中较好的练手项目和课题整理(附代码资料、学习视频和嵌入式学习规划)
  • IAR调试使用技巧汇总:数据断点、CallStack、设置堆栈、查看栈使用和栈深度、Memory、Set Next Statement等
  • Linux内核编译配置(Menuconfig)、制作文件系统 详细步骤
  • Android底层调用C代码(JNI实现)
  • 树莓派到手第一步:上电启动、安装中文字体、虚拟键盘、开启SSH等
  • Android/Linux设备有线&无线 双网共存(同时上内、外网)

AI / 机器学习系列:

  • AI: 机器学习必须懂的几个术语:Lable、Feature、Model…
  • AI:卷积神经网络CNN 解决过拟合的方法 (Overcome Overfitting)
  • AI: 什么是机器学习的数据清洗(Data Cleaning)
  • AI: 机器学习的模型是如何训练的?(在试错中学习)
  • 数据可视化:TensorboardX安装及使用(安装测试+实例演示)

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

  1. 机器学习笔记(二)模型评估与选择

    2.模型评估与选择 2.1经验误差和过拟合 不同学习算法及其不同参数产生的不同模型,涉及到模型选择的问题,关系到两个指标性,就是经验误差和过拟合. 1)经验误差 错误率(errorrate):分类错误 ...

  2. 机器学习基础之模型篇-----二元分类和多元分类

    机器学习是一个比较广阔的知识领域,涉及到很多数学统计和计算机的相关知识. 要想深入了解,需要系统学习和大量的时间. 但是如果我们很清楚地知道机器学习如果用一句话来概括就是:通过大量的训练,使得机器把输 ...

  3. 机器学习中的模型评价、模型选择及算法选择

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 正确使用模型评估.模型选择和算法选择技术无论是对机器学习学术研究还是工业场景应用都至关重要.本文将对这三个任务的相关技术 ...

  4. 独家思维导图!让你秒懂李宏毅2020机器学习(二)—— Classification分类

    独家思维导图!让你秒懂李宏毅2020机器学习(二)-- Classification分类 在上一篇文章我总结了李老师Introduction和regression的具体内容,即1-4课的内容,这篇我将 ...

  5. 机器学习(二)多元线性回归算法预测房价

    机器学习(二)多元线性回归算法预测房价 本篇文章已作为重庆交通大学19级微课<机器视觉>大作业提交,提前声明,避免抄袭误会 "garbage in garbage out&quo ...

  6. 机器学习1-线性模型及多分类

    师兄博客原文地址 https://blog.csdn.net/LogHouse/article/details/90734048 从零开始的机器学习1-线性模型及多分类 线性模型及多分类 一些问题 梳 ...

  7. (转)看穿机器学习(W-GAN模型)的黑箱

    本文转自:http://www.360doc.com/content/17/0212/11/35919193_628410589.shtml# 看穿机器学习(W-GAN模型)的黑箱 2017-02-1 ...

  8. 【机器学习】最大熵模型【下】最大熵模型学习的最优化算法

    有任何的书写错误.排版错误.概念错误等,希望大家包含指正. 由于字数限制,分成两篇博客. [机器学习]最大熵模型[上]最大熵模型概述与约束最优化问题 [机器学习]最大熵模型[下]最大熵模型学习的最优化 ...

  9. Python机器学习【二】 - 决策树

    Python机器学习[二] - 决策树 原文地址:Python机器学习[二] - 决策树 上一篇基于sklearn Python库创建K近邻模型(KNN)实现了机器学习Hello World示例,KN ...

  10. 机器学习:性能度量篇-Python利用鸢尾花数据绘制ROC和AUC曲线

    文章目录 前言 一.ROC与AUC 1.ROC 2.AUC 二.代码实现 总结 前言 内容接上一篇机器学习:性能度量篇-Python利用鸢尾花数据绘制P-R曲线_fanstuck的博客-CSDN博客_ ...

最新文章

  1. VueJs路由跳转——vue-router的使用
  2. 天津大学计算机科学学院夏令营,天津大学计算机科学与技术学院(专业学位)计算机技术保研夏令营...
  3. 短文本合并重复(去重)的简单有效做法
  4. vue ---- 指令综合案例
  5. java技术cad转图片_一键完成百张图纸转换,教你最简单CAD转JPG格式方法,只需三步...
  6. 智工教育:公务员考试这些知识点你会背了吗?
  7. git diffmerge合并
  8. 相机下载_SonyPMCARE, 反向工程索尼PlayMemories相机应用
  9. python字符串结束的标志_python-7-字符串的操作_方法_format_列表的操作
  10. 机器学习sklearn----通过轮廓系数确定适合的n_clusters
  11. 程序员上班刷简历!领导看见表示寒心竟还想挽留?
  12. mysql8.0.15下载后怎么打开_mysql8.0.15下载安装详细教程新手必备!
  13. 网络费用报销管理系统的设计与实现
  14. JCEF3——谷歌浏览器内核Java版实现(一):使用jawt获取窗体句柄
  15. ​华为麒麟1020首曝光;全球首款 5G 扩展现实平台发布;英特尔将开拓“全硅”市场;京东周伯文掌舵,申元庆出局……...
  16. Terracotta 3.2.1简介 (一)
  17. 八大口碑速溶咖啡品牌盘点
  18. 【并发编程十九】芊程(fiber)
  19. 2021年全球与中国气候试验箱行业市场规模及发展前景分析
  20. 爱奇艺搜索排序算法实践(内附福利)

热门文章

  1. MATLAB fig文件批量转换为jpg格式
  2. vblog 的 前景展望
  3. GitHub上13个Spring Boot 优质开源项目!超53K星,一网打尽!
  4. mySQL 2008安装MOF无法连接_SQL Server 2008安装失败,提示MOF编译器无法连接WMI服务器,该如何解决.谢谢!...
  5. PT100/PT1000热电阻值计算
  6. C语言获取当前的工作路径
  7. Anaconda Prompt 怎么切换工作路径
  8. JavaScript的优势和劣势
  9. 计算机系统日期修改吗,电脑系统时间如何修改,教你电脑系统时间如何修改
  10. 拳王公社:最新虚拟资源项目赚钱成交系统,1.2W字干货大揭秘!