瑞萨单片机AI教程【七】SKAB异常检测模型

发布时间:2026/8/7 10:51:59
瑞萨单片机AI教程【七】SKAB异常检测模型
开发板官网www.edevkit.comSKAB异常检测模型下载模型训练数据下载地址https://opendatalab.com/OpenDataLab/SKAB/explore/main解压之后打开“data”-“value”文件夹有15个实验数据打开文件可以看到数据用“;”处理并没有形成表格接下来通过Python代码把文件输出成表格形式。python转换代码import pandas as pd import os # 处理 1.csv 到 14.csv for i in range(1, 15): input_file f{i}.csv output_file fout{i}.csv try: # 检查输入文件是否存在 if not os.path.exists(input_file): print(f警告文件 {input_file} 不存在跳过) continue # 读取原始 CSV 文件分号分隔 df pd.read_csv(input_file, sep;) # 输出为新的 CSV 文件默认逗号分隔 df.to_csv(output_file, indexFalse, encodingutf-8-sig) print(f✓ 已处理{input_file} - {output_file}) except Exception as e: print(f✗ 处理文件 {input_file} 时出错{e}) print(\n所有文件处理完成)新建tocsv.py文件,复制代码在CMD执行“python tocsv.py”。所有文件都会转为表格。数据说明数据采集自一个专门搭建的水循环泵试验台通过控制阀门的开关来模拟真实工业过程中的各种异常状况 。传感器数据每个时间点都记录了8个不同传感器的读数包括加速度计 (2个)、电流、压力、温度、热电偶、电压和体积流量。包含34个独立的CSV实验文件每个文件代表一次实验并且至少包含一次异常 。总数据点约37,401个其中异常数据占比少于5%高度符合现实场景中“异常稀疏”的特点。数据字段| datetime | 日期时间 ||---|---|| Accelerometer1RMS | 加速度计1均方根 || Accelerometer2RMS | 加速度计2均方根 || Current | 电流 || Pressure | 压力 || Temperature | 温度 || Thermocouple | 热电偶 || Voltage | 电压 || Volume Flow RateRMS | 体积流量均方根 || anomaly | 异常 || changepoint | 变化点 |根据数据接下来通过“Reality AI Tools”训练一个异常检测模型时间字段和变化点字段不需要结合传感器数据和异常状态准备训练数据。导入数据准备csv数据文件前面转换好了表格文件接下来需要筛选数据选取out1~out4四个文件然后把“datatime”和“changepoint”两列删除把“anomaly”异常状态为1的数据筛选出来保存到新表格。如out1~~out4是正常数据out1_1~out4_1是异常数据。准备metadata描述文件复制一个之前的“metadata.csv”文件修改描述给上面的文件添加标签。正常数据添加“Normal”标签异常数据添加“Abnormal”标签。导入数据文件进入“Reality AI Tools”添加一个工程“SKAB”。进入“Data”-“Source”-“External Data”上传准备的数据文件。上传完填写采样频率表格数据是1s一组数据所以填写1hz。导入metadata.csv文件进入“Data”-“Curate”点击②“Add Metadata”添加准备的“metadata.csv”文件。添加文件后点击③打开配置侧栏点击④选择“Target Class”分类可以看到⑤文件都被添加了标签分类。接下来就可以添加数据集训练。训练模型添加数据集全选所有文件点击“Add to Data Set”创建数据集。2.添加采样列表进入“Data Sets”选择刚添加的数据集点击“Create Sample list”-“Single list”创建采样列表。窗口值设置为1每次输入一组数据。进入“AI Explore”-“Classes”选择添加的采样列表。点击下方的Start exploring”开始训练模型。等待模型生成完成。生成完成选择模型点击“Create Base Tool”添加生成代码。进入“Deploy”-“Embedded”选择模型点击“New Package”配置部署点击“Generate Package”开始生成代码。等待生成完成点击“Download”下载代码也可以直接在e2 Studio工程中下载。模型使用生成模型代码下载后放到工程项目“src”文件夹下。下载方式具体参考6.3章节如果是新工程还需要添加库路径具体参考5.1章节。打开“example.c”修改示例函数使用训练测试数据不使用随机数。输入数据是一组9个数据从训练数据表格赋值10组数据放入数组中。修改代码按顺序输入10组数据打印结果。编译下载查看串口打印结果。