LAT1457
Local Application Tips
LAT1457 Rev 1.0 Sep. 2024
Keil 工程使用 NEAI 库的异常问题
关键字:AI NEAIKeil
1. 简介
最近在给客户完成电机预测性维护类的 POC 项目时,使用 Keil 编译器时遇到了一个 NEAI
的异常,在和欧洲 NEAI 团队调查过程中发现了比较奇怪的 BUG,本文将介绍该问题发生的条件
和后续的规避方法。
2. 项目介绍
该项目是和电机相关的预测性维护项目,需要模拟一些异常的情况,然后使 NEAI 进行
模和部署。
我们通过小夹子模拟了电机带动风扇的不平衡情况,如下:
1. 不平衡模拟
然后采集正常和异常的数据,使用 NEAI Abnormal detection 类方法,进行训练,训练
完成后进行部署。
LAT1457
LAT1457 - Rev 1.0 page 2/6
3. 发生异常
发生异常是在部署的时候,使用 neai_anomalydetection_detect 这个 API 的返回值发生了
异常,如下图 2 所示。
2. 出现问题的 API
该函数使用 input_user_buffer 中的数据,进行推理,然后将结果返回到 similarity 变量中。
similarity 变量的值范围为 0~100,表示 input_user_buffer 中的数据和正常数据相比相似度大
概是多少,通过这个返回结果,可以判断设备运转是正常还是异常。但是在实际部署测试的时候,
发现 similarity 变量的值有时候会超过 100,明显是一个不合理的值。
4. 过程
该问题非常隐蔽和难以发现,欧洲 NEAI 开发团队的同事也花了非常多的精力才定位到发现
问题的点:
3. 单步调试,发现问题的