Commit ·
8aec406
1
Parent(s): 9726c4e
docs(rvm): add §7.5 graph-surgery op-count delta (353→317, −36 nodes)
Browse files
README.md
CHANGED
|
@@ -36,6 +36,7 @@ pipeline_tag: image-segmentation
|
|
| 36 |
5. [生成与部署指南(Generation & Deployment Guide)](#5-生成与部署指南generation--deployment-guide)
|
| 37 |
6. [速查表(Quick Reference)](#6-速查表quick-reference)
|
| 38 |
7. [RobustVideoMatting(RVM)模型](#7-robustvideoMattingrvm模型)
|
|
|
|
| 39 |
8. [相关文档(Related Documentation)](#8-相关文档related-documentation)
|
| 40 |
|
| 41 |
---
|
|
@@ -445,6 +446,52 @@ python3 tools/MODNet/verify_golden_tensor.py
|
|
| 445 |
| **速度优先** | `rvm_mobilenetv3_fp16_1080x1920_rk3588_fp16.rknn` | 比 dsr=0.5 快 1.43 倍 |
|
| 446 |
| **低内存** | `rvm_mobilenetv3_fp16_288x512_rk3588_fp16_v20260416.rknn` | 最小 r-state 占用 |
|
| 447 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 448 |
---
|
| 449 |
|
| 450 |
## 8. 相关文档(Related Documentation)
|
|
@@ -481,6 +528,6 @@ Overfitting: ✓ No significant degradation, clean convergence
|
|
| 481 |
|
| 482 |
---
|
| 483 |
|
| 484 |
-
**文档版本**:1.
|
| 485 |
**最后更新**:2026-07-03 by PotterWhite
|
| 486 |
**提交历史**:通过 Git commit message 追踪
|
|
|
|
| 36 |
5. [生成与部署指南(Generation & Deployment Guide)](#5-生成与部署指南generation--deployment-guide)
|
| 37 |
6. [速查表(Quick Reference)](#6-速查表quick-reference)
|
| 38 |
7. [RobustVideoMatting(RVM)模型](#7-robustvideoMattingrvm模型)
|
| 39 |
+
- [7.5 Graph Surgery:移除最终的 Resize 及以后的算子](#75-graph-surgery移除最终的-resize-及以后的算子)
|
| 40 |
8. [相关文档(Related Documentation)](#8-相关文档related-documentation)
|
| 41 |
|
| 42 |
---
|
|
|
|
| 446 |
| **速度优先** | `rvm_mobilenetv3_fp16_1080x1920_rk3588_fp16.rknn` | 比 dsr=0.5 快 1.43 倍 |
|
| 447 |
| **低内存** | `rvm_mobilenetv3_fp16_288x512_rk3588_fp16_v20260416.rknn` | 最小 r-state 占用 |
|
| 448 |
|
| 449 |
+
### 7.5 Graph Surgery:移除最终的 Resize 及以后的算子
|
| 450 |
+
|
| 451 |
+
> 最终调试版 RKNN 模型(文件名包含 `no-resize`)通过 ArcFoundry `graph_surgery`
|
| 452 |
+
> 把原始 RVM ONNX 中 refiner 末尾的 2 个 Resize + 后续 element-wise 链裁掉,
|
| 453 |
+
> 由 C++ 后处理端自行完成 guided-filter 组合 + 上采样。
|
| 454 |
+
>
|
| 455 |
+
> 详情见仓库内 `log-MR2-P5-s5_8_22-bottleneck-investigation.md`
|
| 456 |
+
> 的 §s5_8_22_12(独立脚本版)和 §s5_8_22_14(ArcFoundry 集成版)。
|
| 457 |
+
|
| 458 |
+
#### 裁剪点
|
| 459 |
+
|
| 460 |
+
| 项目 | 数值 |
|
| 461 |
+
|------|-----|
|
| 462 |
+
| 原始 ONNX 总节点数 | 353 |
|
| 463 |
+
| 被删除的"尾部"命名算子 | 2× Resize + Mul + Add + Split + Add + 2× Clip(共 8 个) |
|
| 464 |
+
| `graph.cleanup()` 级联删除的死节点 | 28 个 |
|
| 465 |
+
| **图清理后净减少的节点(实测)** | **36 个**(353 → 317) |
|
| 466 |
+
| 裁剪版图输出 tensor | `777`(Conv_316 输出,refiner A,4ch,272×480)、`779`(Sub_318 输出,refiner b,4ch,272×480),外加 `r1o~r4o` |
|
| 467 |
+
|
| 468 |
+
#### 实测算子分类对比(脚本:`scripts/compare_rvm_op_counts.py`)
|
| 469 |
+
|
| 470 |
+
| op_type | 原版 | 裁剪版 | Δ(原版 − 裁剪版) |
|
| 471 |
+
|---------|----:|-----:|------------------:|
|
| 472 |
+
| Constant | 48 | 32 | +16 |
|
| 473 |
+
| Shape | 12 | 8 | +4 |
|
| 474 |
+
| Slice | 12 | 8 | +4 |
|
| 475 |
+
| Concat | 23 | 20 | +3 |
|
| 476 |
+
| Add | 16 | 14 | +2 |
|
| 477 |
+
| Clip | 2 | 0 | +2 |
|
| 478 |
+
| Resize | 7 | 5 | +2 |
|
| 479 |
+
| Mul | 47 | 46 | +1 |
|
| 480 |
+
| ReduceMean | 2 | 1 | +1 |
|
| 481 |
+
| Split | 10 | 9 | +1 |
|
| 482 |
+
| **合计** | | | **+36** |
|
| 483 |
+
|
| 484 |
+
> 上表只列出发生变化的 `op_type`(未变的不列出)。所有数值均由
|
| 485 |
+
> `scripts/compare_rvm_op_counts.py` 在 2026-07-03 实测得出,无估算。
|
| 486 |
+
|
| 487 |
+
**为什么 `Constant` 减少了 16 个?** 因为 `graph.cleanup()` 会同时清理那些原本只为
|
| 488 |
+
被删节点提供常量输入的 Constant 节点;而 `Shape`/`Slice`/`Concat` 的减少则来自
|
| 489 |
+
refiner 内 Concat_311 上游、只为已删除 Resize 准备 shape/slice 信息的辅助节点。
|
| 490 |
+
|
| 491 |
+
**为什么 `Conv` 一颗没少?** 裁剪只动 refiner 尾巴(ID 195-202 对应的算子),
|
| 492 |
+
refiner 内部产生 A/b 的 Conv 网络(Conv_312/314/316)被保留——它输出的
|
| 493 |
+
A(4ch,272×480) + b(4ch,272×480) 是 C++ 后处理 guided-filter 组合的输入。
|
| 494 |
+
|
| 495 |
---
|
| 496 |
|
| 497 |
## 8. 相关文档(Related Documentation)
|
|
|
|
| 528 |
|
| 529 |
---
|
| 530 |
|
| 531 |
+
**文档版本**:1.2
|
| 532 |
**最后更新**:2026-07-03 by PotterWhite
|
| 533 |
**提交历史**:通过 Git commit message 追踪
|