Skip to main content

Edge AI

Ask questions and find answers on how to deploy, debug, and optimize AI models on ST microcontrollers, microprocessors, and smart sensors.

  • 1,538 Topics
  • 4,450 Replies
1538 Topics
dw1
dw1Associate II
 Edge AI
NanoEdge AI 训练后出现异常数据相似度为零,但工程运行错误。

你好,近期我在使用NanoEdge AI Studio实现异常检测功能,基于三轴加速度计的数据实现。我出现了以下问题:1.我使用的最新版本5.0.2,在benchmark界面训练模型后,表格Best Library Result 中异常数据的结果为零,就是在表格的底部。但我生成代码需要的文件后运用到工程中其相似度一直输出为91%,即使我大幅度的改变加速度计的值也仍然时91%。2.在有一次训练时,表格Best Library Result 中异常数据的结果不为零了,大概为68%。我生成需要的额NanoEdge AI.h和library.a以及knowledge.h生成后运用到keil工程中发现能够正常进行学习,并且也可不学习使用knowledge.h的这个数据集进行检测相似度,结果较为明显。只是原本的异常数据其相似度对应的也为68%。3.我的疑惑在于,对应的模型训练不应该异常数据接近为零,正常数据接近一百吗,可我似乎于认为的不一样。并且同样的数据进行第一次训练的结果可能异常数据不为零,但后面几次训练后一直为零。导致的结果就是,训练结果异常数据为零的模型,在使用官方给的先进行学习一段时间,在进行异常检测运行效果是错误的,相似度一直输出为一个固定值,比如91%。并且运行不事先学习,利用knowledge这个数组作为学习数据,运行结果也是不正确的,但是训练结果异常数据不为零的就可正常运行。但这个结果也不是一直会出现的,偶尔出现。我的数据上传使用的是USB串口上传(USB转TTL、或者蓝牙串口) 以下为代码(省略了部分)#include “NanoEdgeAI.h”#include “knowledge.h”#define LEARNING_ITERATIONS 30浮点数 input_user_buffer[DATA_INPUT_USER * AXIS_NUMBER];输入值的缓冲区无效 SystemClock_Config(void);静态 void MPU_Config(void);void fill_buffer(float input_buffer[]){/* 用户开始 */float acc_mg[3]; // 临时存储单个样本的X/Y/Z数据uint16_t samples_collected = 0;uint32_t last_tick = HAL_