fix(actpred): 落实 0812 代码审计 N-2/N-3 修复项

- 默认 batch_size 32→4(1920×1080 下 CPU/Pi 内存不可行)
- 速度基准报告补 1080p 复测注记(CPU 不可实时,需 NPU 或降分辨率)
- 附重写后首轮全量审计报告(含 N-1 checkpoint 兼容性回归记录)
This commit is contained in:
qing committed 2026-08-13 01:34:00 +00:00
1 parent 0d16832612
commit 2068319c3a
3 files changed
+371 -1

No files matched your search

@@ -4,6 +4,16 @@
设备:Raspberry Pi 5(4×A76)+ AI HAT 2(Hailo-10H)
模型:actpred(~450K 参数,frame_len=3,history_len=5,action_dim=18)
> ⚠️ **基线分辨率说明(2026-08-12 补注,N-3 修复)**
>
> 本报告 §1~§4 的全部数据均在 **640×480** 输入分辨率下测得。
> 提交 `91b3004`(2026-08-12)已将模块默认输入分辨率改为
> **1920×1080**(`config.py` 默认 `image_width/image_height`,与 pybot
> 相机采集分辨率对齐)。**推理延迟随输入像素量近似线性增长
> (1920×1080 ≈ 640×480 的 6.75 倍像素),本报告数字不能直接外推到
> 新默认分辨率。** x86 参考机上的 1920×1080 复测数据见 §5;
> Pi 5 / Hailo 板载在新分辨率下的数据待补测。
## 1. 测试方法
- **PyTorch CPU**:`ActionPredictorInference(checkpoints/best_inference.pt)`,
@@ -45,6 +55,31 @@
编译环境调研详见
[actpred_hailo_hat2_inference_research_20260813.md](actpred_hailo_hat2_inference_research_20260813.md)
## 5. 1920×1080 复测(2026-08-12,x86 参考机)
分辨率重构(`91b3004`)后在新默认分辨率下补测 CPU 部分
(Hailo 板载待有硬件环境后补测):
| 方案 | 输入分辨率 | 延迟 | 备注 |
|---|---|---|---|
| PyTorch CPU | 1920×1080 | 701.6 ms | 含 PIL 预处理,预热 2 次取 5 次均值 |
| ONNX Runtime CPU | 1920×1080 | 326.3 ms | 纯推理,预热 2 次取 10 次均值 |
测试机:Intel i3-3240(2 核 4 线程,2012 年款),7.7 GB 内存;
与 Pi 5(4×A76)**不可直接横向对比绝对值**,仅用于观察分辨率影响趋势。
**结论**:
1. ONNX 相对 PyTorch 仍快约 2.2 倍,§4 的部署优先级方向不变;
2. 即便在 x86 桌面 CPU 上,1920×1080 单帧推理也需数百毫秒,
**远不能满足实时闭环**(原 640×480 报告推算 Pi 5 上将超过 1 秒)。
1920×1080 全分辨率闭环推理必须依赖:
- Hailo HAT 2 NPU(uint8 量化 + 硬件加速,预期可压到几十毫秒级),或
- 训练/推理时降低实际分辨率(如 960×540 或 640×360),或
- 裁剪输入(ROI)后再推理;
3. 建议在 Pi 5 + HAT 2 环境补测 1920×1080(ONNX CPU / HEF NPU),
并据此确定量产部署分辨率。
## 参考
- [张高兴的 Raspberry Pi AI 开发指南:将自定义模型编译为 Hailo NPU 的 .hef 模型](https://www.cnblogs.com/zhanggaoxing/articles/18597244.html)