NCNN 常见问题
NCNN 常见问题
转换出来的模型跑不通,怎么定位
先用示例程序加载模型,看报错落在哪一层;再打开 .param 对照层列表,确认运行时是否认识每个层类型;若遇到 layer X not exists or registered,要么升级 NCNN 版本,要么为该层写自定义层实现并注册,要么在训练侧换掉这个算子重训。
Vulkan 开了反而更慢
常见原因有三个:模型太小,GPU 调度开销盖过了收益;有算子在中途回退到 CPU,数据来回搬运;首帧没有预热。处理思路是先分别测量单帧耗时与端到端耗时,再决定是否开启,而不是默认打开。
INT8 量化后精度掉得厉害
按顺序检查:校准集是否覆盖真实分布;ncnn2table 的 mean / norm / shape / pixel 是否与推理预处理一致;量化前是否漏了 ncnnoptimize;是否有大量层不支持 int8 而退化为浮点。逐项排除仍不达标,可以对敏感层保持浮点,或者放弃量化、改用 fp16 存储来换体积。

