NanoEdge AI Studio 教程 第二章--异常数据分析

OK,好久不见,各位,最近挺忙,欢迎回来。

让我们开始第二章节,异常判断。

2024.5.7更新:

发现大家经常会出现一些基础的问题,这样吧,大家将问题私信给我,我会给大家一一解答,并且将整理问题及其解决方法到本教程最后一篇文章中。

目录

一 Nano Edge AI Studio 简单概述

二 异常判断

1.工程选择

2.进行工程设置

2.1 MCU选择

2.2 数据设定

3.输入数据

4.模型训练

5.验证

6.生成模型

7.布置模型


一 Nano Edge AI Studio 简单概述

NanoEdge AI Studio主要可以实现的功能主要分为四种:

1.异常判断:异常判断的是指模型对正常数据与异常数据进行训练、学习后,生成的模型可以识别生成的边缘AI可以判断数据是正常还是错误。

这里可能有人要问,为什么不使用阈值判断,不是更简单吗?其实很简单,当数据多维时,根据阈值判断数据状态其实是个很难的设定。同时,当阈值变化后,程序里的判断只能通过手动更改进行数据判断,其实挺麻烦。而机器学习可以在MCU进行数据学习优化,避免了数据多维和阈值问题。

2.单分类:单分类的是指,将数据进行导入,进行机器学习后,可以判断出设备的正常或者异常。这里与异常判断不同的是,这里会将所有非正常的数据判断为异常,而异常判断却可以分析出当前数据与正常数据的相似度。

3.多分类:多分类是指模型可以进行多个状态的数据分析、训练,最终训练出的模型可以分析出当前数据对应各个状态数据的相似度。

4.推断:这里的意思是,模型可以对过往的数据进行分析,训练,生成的模型可以根据近期的数据近似分析出下一个时刻可能的数据。

      

二 异常判断

1.工程选择

2.进行工程设置

这里的工程名、RAM、FLASH大家根据需求写就好。我这里简单写一下MCU选择和数据设定。

2.1 MCU选择

点击TARGET SELECTION 进行MCU选择

这里的话开发板是指NanoEdge AI Studio配套的开发板。

如果想要实现的模型要在开发板上跑的话就选择,想要使用自己的开发板,就选择MICROCONTROLLERS 进行MCU型号选择。

我这里选择STM32F4系列,这个工具的好处就在于支持STM全系列芯片,很棒。

选择完成后点击CONFIRM 进入下一步

2.2 数据设定

数据维度的意思是多个种类不同数据要训练,比如三轴传感器,输出X、Y、Z信息,那么我们要对X、Y、Z三维的数据进行训练,就代表着数据是三维的。

我这里选择1维,大家自己选择就好,过程都是一样的。

保存,进入下一步。

3.输入数据

这里点击ADD SIGNAL,有三种方法:

1.文件导入,就是导入CSV文件。

注意这里对于CSV文件有个要求,

(1).每行数据按照X、Y、Z进行排列。

(2).每行中每个维度的数据至少要有16个,你有一个维度,那么你只需要X1、X2、X3...X16。

假如你有3个维度:X、Y、Z,那么按照排列顺序,你必须X、Y、Z。且一行至少要有X1、Y1、Z1、X2、Y2、Z2、X3、Y3、Z3....X48、Y48、Z48.

(2).一行最多有中每个维度最多有256个。

(4).数据最好在30条以上。

2.USB导入,这个意思是比如说你有一个传感器,你可以用USB连接NE AI Studio,直接将数据导入这个软件中。就省去你去进行数据采集,前提传感器输出的数据不需要清洗。

3.不知道,也没搜到资料,才疏学浅了。

这里我们选择从文件导入

导入完成后选择CONTINUE,进行下一步,数据预览

选择IMPORT进行数据导入

这里我们选择RUN OPTIONAL CHECKS将对数据进行检查。

这里会提示一些数据的情况,不用太担心。

同上一步一样,这里导入异常数据。

4.模型训练

这里选择RUN NUW BENCHMARK进行模型训练

选择START 开始

等待一下,它会自动从算法搜索符合咱们需求的算法。

可以看到,模型准确度还是很高的。

我这里训练结果还挺高的,就直接STOP了,你们可以等待训练完成。

如果准确度不高,可以在RUN NEW BENCHMARK选择一个新的模型进行训练,然后在训练完成的模型里选择符合你要求的。

训练结果还不错,给STM点个赞,很棒!

5.验证

这一步你可以导入一些数据给模型,看训练结果。

选择算法库

点击NEW EXPERIMENT

导入数据,这里learn是指在MCU上需要学习的数据。

normal是指正常数据

abnormal是指异常数据

查看结果,几乎完全正确。

这一步是指在PC上运行当前训练完成的模型,看数据的模型的运行情况。

点击 INITIALIZE EMULATOR 

导入数据。

这里的数据格式和2.导入数据是一样的。

选择LEARN FILE和GO TO DECTECTION

添加要学习的数据,和上一步一样的操作。

点击RUN DECTECTION进行数据判断,可以看到判断正确。

6.生成模型

写到这里的时候刚好是十二点,累成狗,也不知道为啥这么热爱这个专业,明明写代码写到梦里都在找BUG解决方案,还是这么热爱。哎,天生就是劳碌命。

前进吧,继续写。

按需选择好。

设定好后,点击COMPILE LIBRARY生成模型库。

保存模型。

这个复制走,这里教你怎么用这个库。

7.布置模型

解压模型,将这俩复制到你的工程下面。

keil 导入库这俩文件。

这里可能会对库文件报错,解决方法是右击选择Options for File  “libneal.a”

选择库文件。

OK,接下来教你怎么用这个库。

从这里面复制这些部分到keil

简单讲一下这些都是干嘛的。

简单讲讲整个过程是就是,先将数据填充到input_user_buffer中,对这个数据进行预学习。

然后后续将数据填充到input_user_buffer,然后对这个buff进行判断。

其中similarity会输出与正常数据的相似度。

注意,input_user_buffer的填充格式与csv格式相同

编译没问题,就下载到MCU,然后,try。

三、相关例程下载

https://download.youkuaiyun.com/download/qq_39172792/88977308https://download.youkuaiyun.com/download/qq_39172792/88977308

<think>好的,我需要回答用户关于NanoEdge AINanoEdge技术的介绍。首先,我需要回顾提供的引用内容,看看有哪些相关信息可用。 引用[1]到[5]主要涉及NanoEdge AI Studio的不同章节教程,比如单分类、异常数据分析、多分类和数据预测。用户可能想知道NanoEdge的整体技术框架、核心功能和应用场景。 首先,我应该定义NanoEdge AI是什么。根据引用[2],它是由意法半导体开发的边缘AI开发工具,用于在资源受限的嵌入式设备上部署机器学习模型。需要提到其低代码或零代码的特点,支持自动模型生成,适合传感器数据分析。 接下来,核心技术特点。引用[4]提到异常判断,即区分正常与异常数据。引用[3]涉及多分类,引用[5]提到数据预测,说明支持多种任务类型。另外,自动优化模型和低功耗设计也是关键点,需要结合引用[2]中的软件工具链,如与STM32CubeMX和CubeIDE的集成。 应用场景方面,工业预测性维护(来自引用[4]的异常检测)、智能设备中的实时分类(引用[3]的多分类)、环境监测中的数据预测(引用[5]的数据预测)都是例子。需要具体说明这些场景如何利用NanoEdge技术。 开发流程部分,可以按照引用[2]提到的步骤:数据采集、项目创建、模型生成、验证优化、部署到STM32。这展示了从数据到部署的全流程。 最后,生成相关问题需要考虑用户可能想深入了解的方向,比如与TensorFlow Lite的区别、数据要求、支持的算法、实际案例等。 需要确保回答结构清晰,分点说明,并正确引用来源。同时,检查LaTeX格式是否符合要求,比如行内公式使用$...$,独立公式用$$...$$,但当前内容中可能不需要数学公式,所以可能不需要添加。不过如果有涉及数学的地方,要正确应用格式。现在检查是否有需要公式的地方,比如在模型优化或算法部分,但根据引用内容,暂时没有,所以可能可以忽略。 最后,确保使用中文,问题部分要相关且引导进一步学习。检查引用标识是否正确放置在相关段落末尾,如技术特点中的异常检测引用[4],多分类引用[3]等。</think>### NanoEdge AI 技术介绍 #### 1. **技术定义** NanoEdge AI 是意法半导体(STMicroelectronics)开发的边缘人工智能工具链,专为嵌入式设备设计,可在低功耗、低算力的微控制器(如STM32系列)上实现本地化机器学习模型部署。其核心是通过**自动化模型生成**简化开发流程,支持传感器数据分析异常检测、分类、回归等任务[^2][^4]。 #### 2. **核心技术特点** - **低代码/零代码开发** NanoEdge AI Studio 提供图形化界面,用户无需编写复杂算法代码,只需提供传感器数据即可自动生成优化模型。 - **轻量化模型** 生成的模型占用内存极小(通常低于10KB),适合资源受限的嵌入式设备[^5]。 - **多任务支持** - **异常检测**:学习正常数据特征,实时识别异常(如设备故障)。 - **分类**:支持单分类(识别特定状态)和多分类(区分多个类别)[^1][^3]。 - **预测**:基于时序数据进行数值预测(如温度趋势)。 - **自动优化** 工具自动对比多种算法(如KNN、SVM、决策树),选择最佳模型并压缩参数。 #### 3. **典型应用场景** - **工业预测性维护** 通过振动或温度传感器数据检测设备异常,避免非计划停机。 - **智能设备** 实时分类环境状态(如手势识别、语音指令)。 - **环境监测** 预测空气质量、温湿度变化趋势[^5]。 #### 4. **开发流程示例** 1. **数据采集** 使用传感器收集目标场景的原始数据(如15个连续采样点构成一个输入样本)。 2. **项目创建** 在NanoEdge AI Studio中选择任务类型(如异常检测),导入数据。 3. **模型生成与验证** 工具自动训练模型并生成准确率报告,用户可调整参数重新优化。 4. **部署到设备** 通过STM32CubeMX生成代码,集成到STM32CubeIDE中烧录至硬件。 ```c // 示例:STM32中调用NanoEdge AI库进行推理 #include "NanoEdgeAI.h" float input_buffer[15]; // 输入数据缓冲区 void main() { NanoEdgeAI_initialize(); while (1) { fill_buffer(input_buffer); // 填充传感器数据 int result = NanoEdgeAI_learn(input_buffer); // 在线学习与推断 if (result == ANOMALY) trigger_alert(); // 触发异常警报 } } ```
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚秋大魔王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值