一、从真机闪退开始说起
上周三深夜,测试同事扔过来一台Android设备,屏幕上赫然是熟悉的“App has stopped”。日志里只有一行模糊的memory allocation failure,但PC端模拟器明明跑得顺畅。这就是移动端部署的典型开场——模型在服务器上精度再高,到了真机上可能就是另一回事。
YOLOv11的移动端部署,本质上是在算力、内存、精度之间走钢丝。今天要聊的NCNN和MNN,就是两根不同的平衡杆。
二、NCNN实战:先过转换这道坎
从PyTorch到NCNN,模型转换这条路我踩过三个大坑:
// 转换脚本里这个参数千万别漏param_path='yolo11.param'bin_path='yolo11.bin'// 这里有个隐藏坑:YOLOv11的Focus层(如果还在用)// NCNN原生支持不够好,得用slice+concat手动拼// 建