-
Notifications
You must be signed in to change notification settings - Fork 18
Optimization Note
SgDylan edited this page May 11, 2020
·
4 revisions
2020-05-11 更新测试结果
- 替换了可能存在错误的模型,更新了鲁棒性测试结果
- 由于无法使用 ONNX Simplifier 融合 BN 层,推理开销会大幅增加
尝试使用标称同等性能但推理速度显著提高(已知最大为原本的 5 倍)的 RegNet。
根据论文说明,选择和 EfficientNet-b2 相近的 RegNetY-1.6GF 直接对照。
纯粹推理性能:
排除预处理阶段下,同样对已经标准化的图像做推理 1000 次。
模型 | 时间开销(s) |
---|---|
EfficientNet-b2 | 66.9710 |
RegNetY-1.6GF | 35.2964 |
RegNetY-1.6GF(未合并 BN 层) | 57.5169 |
RegNetY-8.0GF(未合并 BN 层) | 153.1541 |
Once for All(flops@[email protected]_finetune@75) | 60.3093 |
检索鲁棒性测试:
使用自制数据集,包含裁剪、旋转、翻转、噪音等方法处理后的同一张图片共 17 张。
模型 | 成功检索数量 |
---|---|
EfficientNet-b2 | 15 |
RegNetY-1.6GF | 12 |
RegNetY-8.0GF | 13 |
Once for All(flops@[email protected]_finetune@75) | 17 |
结论:
由于实际运算开销主要集中在图像处理阶段,推理开销占比不大。
故实际加速抵不上鲁棒性降低的损失,没有足够的理由更换模型为 RegNetY-1.6GF。
但从测试表现看,Once for All 模型有足够的价值作为升级方案。
使用 onnx-simplifier 对模型简化,合并 BN 层的操作为模型带来了 40~55% 的性能提升。
在同样匹配结果下提速,故采纳新的优化方法并替换模型。