接回手表:一份窗口怎样走到分类结果
沿真实调用路径读当前活动识别,把窗口、预处理、模型接口和应用更新连起来。完成后应能指出每次推理究竟用了哪份数据。
1 · 从任务找到模型调用
Sensor_Task 读取两颗传感器,将运动批次从 26 组重采样成 25 组,再由 app_on_imu_batch 进入 HAR_AddSamples。先前学过的采样与任务知识在这里汇合;算法的输入不是任意时刻临时读出的几个值。
2 · 把物理单位和内存顺序逐项核对
当前预处理把加速度原始值除以 4096,把角速度乘以 0.070,再用文件中的均值、标准差做归一化并量化。它们是当前量程和原训练约定相关的参数,不是所有 LSM6DSOX 工程通用常量。
尤其要把加速度单位、历史训练统计来源、时间优先扁平写入与模型实际布局对齐。教程为新模型提供明确的通道优先参考;原模型要通过原始训练说明与同一窗口跨端比较核实,不能因推理函数返回成功就认为语义一致。
3 · 初始化、权重和工作区怎样组织
har_model_init 调用生成网络初始化,绑定只读权重和激活工作区。har_model_run 取得输入地址、复制字节、执行同步推理,再取得输出地址并复制结果。工作区保存中间计算,执行期间不能被其他网络任意覆盖。
返回值先判断,再读结果。若换模型,输入大小、输出类数、工作区、运行库版本和对齐都必须重新核对;生成的上下文不适合未经协调地从多个任务同时调用。当前调用集中在传感器任务中。
4 · 输出的七个字节怎样解释
当前活动接口输出七项量化分数,按输出比例和零点反量化后才有对应的数值含义。若各类共享单调的仿射变换,取最大类别的次序可以保持;置信度计算仍需按原始分数含义处理。不要把任何七个数都当成已经校准的概率。
特征提取通过生成网络特定节点回调复制 128 个浮点数。重导出后回调节点、布局和缓冲有效期都要重查,不能只替换权重文件。支线五 A 将继续使用这份特征讨论原型更新。
5 · 把三类验证分开记录
| 验证 | 怎样做 |
|---|---|
| 输入一致 | 同一原始窗口逐通道比较单位、归一化和量化字节。 |
| 计算一致 | 同一模型输入比较训练框架、导出运行时与目标端输出。 |
| 实际可用 | 佩戴场景测准确性、最大耗时、RAM 余量及采样积压。 |
从 main.c 开始画到 har_model_run,再沿输出回到界面。记录首次填满窗口的时间、每次加入 25 点后的推理次数,以及一次长计算是否影响声音任务和采样缓冲。