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

2023-05-16

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

  • 1. 背景
  • 2. eIQ简介
  • 3. 开发应用流程
  • 4. 开发环境搭建
  • 5. 数据集准备
  • 博主热门文章推荐:


在这里插入图片描述


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软件包:

  • 官网下载地址:https://www.nxp.com/design/software/development-software/eiq-ml-development-environment/eiq-toolkit-for-end-to-end-model-development-and-deployment:EIQ-TOOLKIT

打开选择相应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 (二):模型篇


博主热门文章推荐:

一篇读懂系列:

  • 一篇读懂无线充电技术(附方案选型及原理分析)
  • 一篇读懂: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安装及使用(安装测试+实例演示)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[EdgeAI] NXP eIQ 机器学习Toolkit (一):准备篇 的相关文章

  • 不懂PO 设计模式?这篇实战文带你 PO

    为UI页面写测试用例时 xff08 比如web页面 xff0c 移动端页面 xff09 xff0c 测试用例会存在大量元素和操作细节 当UI变化时 xff0c 测试用例也要跟着变化 xff0c PageObject 很好的解决了这个问题 x
  • archlinux 中文本地化配置

    参考 xff1a http www wiki org 本地化配置 xff0c 其实就是设置locale 一 显示中文 要显示中文 xff0c 需要生成中文语言包和安装中文字体 1 生成中文语言包 archlinux使用locale gen脚
  • 【Ubuntu】安装Go语言

    sudo apt install golang go version
  • linux系统中使用X11 获取系统窗体信息

    在X Window System中 xff0c 每个窗口都有一个唯一的标识符 xff0c 称为窗口ID 要查找特定窗口的ID号 xff0c 可以使用Xlib库中的XQueryTree函数来获取窗口树结构 xff0c 并遍历整个树结构以查找目
  • 三维重建:多点透视cvSolvePNP的替代函数(Code)

    xfeff xfeff 在调试JNI程序时 xff0c 所有的Shell都已经加载完成 xff0c 而唯一真正核心的cv SolvePnP却不能在JNI里面获得通行证 xff0c 经过反复测试都不能运行 xff0c 因此只能忍痛舍弃 xff
  • 利用Pycharm工具将Python+Qt项目打包成exe应用程序

    博客小白第一次发博客 xff0c 已参加工作 xff0c 仅用于记录一下自己空余时间学习Python的进程 xff0c 学习过程中遇到问题也借鉴了很多博客的解决办法 xff0c 因此也想记录下自己的遇到的问题 xff0c 希望对跟我一样刚起
  • BOSS 业务运营支撑系统

    今天又简单的介绍几个概念 xff0c 我觉得要深入了解某个技术 xff0c 首先要把概念搞清楚 xff0c 这样在宏观理解上将更加深入 本人工作所属电信行业 xff0c 所以下面所介绍的几个概念都是基于电信行业的 BSS Business
  • JAVA版本:判断101-200之间有多少个素数,并输出所有素数。

    题目 xff1a 判断101 200之间有多少个素数 xff0c 并输出所有素数 程序分析 xff1a 判断素数的方法 xff1a 用一个数分别去除2到这个数 xff0c 如果至少有一个数能被整除 xff0c 则表明此数不是素数 xff0c
  • arm64架构ubuntu18.04国内镜像源

    jetson xavier nx下换国内源 xff0c 步骤如下 xff1a span class token shebang important bin bash span span class token function cp spa
  • 安装和配置OpenStack客户端(Jesse翻译)

    xfeff xfeff 安装和配置 OpenStack 客户端 xff08 Jesse 翻译 xff09 原文来自 icehouse的OpenStack文档 回忆 xff1a 在前面部分 xff0c 你已经使用了 keystone 客户端
  • 联通家庭宽带光猫DDNS设置

    1 目前家里宽带光猫ppoe拨号获取的IP全部都是非公网IP 打96169宽带专家转人工客服申请更换公网IP 一天内会有专人联系 更换成公网IP后 重启光猫 在公司或者其他地方ping下家里光猫获取到的公网IP看下是否能ping通 2 申请
  • Matlab如何抓取excell表格里的指定数据

    每次从示波器上采集的数据总是会带有示波器的相关信息 xff0c 没法直接load到matlab里 xff0c 每次手动删除让人感到疲惫 xff0c 特别是数据量达到100 43 的时候 瞬间emmm 示波器采到的数据如下图 xff1a 于是
  • nginx更改进程名称 学习笔记

    如何更改进程名称 在进入正题之前 xff0c 我们需要了解一下以下参数的作用 xff1a span class token keyword int span span class token function main span span
  • Apache 2部署SSL证书

    在Ubuntu系统Apache 2部署SSL证书 本文介绍了如何在Ubuntu系统以及Apache 2中安装阿里云SSL证书 前提条件 已从SSL证书控制台下载Apache服务器证书 已安装Open SSL 环境准备 操作系统 xff1a
  • NVDIA Jetson TX2软件介绍

    介绍 JETSON TX2 模块 它是一台基于 NVIDIA Pascal 架构的 AI 单模块超级计算机 它性能强大 xff0c 但外形小巧 xff0c 节能高效 xff0c 非常适合机器人 无人机 智能摄像机和便携医疗设备等智能终端设备
  • 12.6V/8.4V锂离子或锂聚合物电池充电器

    AL1261是一款专门为高精度的线性锂电池充电器而设计的电路 xff0c 非常适合那些低成本 便携式的充电器使用 它集高精度预充电 恒定电流充电 恒定电压充电 电池状态检测 充电结束低泄漏 充电状态指示等性能于一身 xff0c 可以广泛地使
  • import requests ModuleNotFoundError: No module named 'requests'

    错误描述 xff1a import requests ModuleNotFoundError No module named 39 requests 39 解决办法 xff1a Step 1 xff1a 打开命令窗口 xff0c Win 4
  • UITableViewController

    UITableViewController 表视图控制器 UITableViewController继承自UIViewController 自带了一个tableView 其根视图就是tableView 创建UIViewVontroller运
  • stm32开发板点亮led遇到问题

    最近由于毕业设计是四旋翼无人飞行器的系统设计 xff0c 在学STM32F103R8 xff0c 学长自己设计的一块板子 xff0c 让我根据野火的教程一步一步做 xff0c 先熟悉一下板子的工作原理 xff0c 为以后编程控制电机转速做准
  • Debian Linux 的安装

    Debian Linux 的安装 作者 xff1a Grey 原文地址 xff1a 博客园 xff1a Debian Linux 的安装 CSDN xff1a Debian Linux 的安装 说明 本安装说明是基于 Windows 10

随机推荐