CoreML模型在MacOS上预测正常但iOS设备上异常的问题排查求助
CoreML模型在MacOS上预测正常但iOS设备上异常的问题排查求助
大家好,我最近碰到个头疼的问题,CoreML模型在Mac上跑完全正常,但到了iOS设备上就出问题了,想请各位帮忙分析下原因:
我的操作流程
- 先在Ultralytics Hub上用yolov8x训练了一个图像检测模型
- 接着在Linux机器上执行命令导出CoreML格式的模型:
导出得到yolo export model={model_url} format=coreml nms=truebest.mlpackage后,把它传到了我的M2芯片MacBook Air上 - 在Mac环境下测试完全正常:
- 把模型导入XCode项目后,预览tab上传测试图片,模型检测结果符合预期
- 在本地Swift Playground里运行以下代码,能检测到15个目标,和预览tab的结果一致:
guard let imageUrl = Bundle.main.url(forResource: "test_image", withExtension: "jpg") else { return } guard let output = try? best().prediction(input: bestInput.init(imageAt: imageUrl, iouThreshold: 0.45, confidenceThreshold: 0.25)) else { return } print(output.confidence)
遇到的问题
但是把同样的代码部署到iOS设备上(试过iPhone和iPad),模型的预测结果就完全不对了——目前只能得到异常的结果(比如几乎检测不到目标,或者检测数量远低于预期)。
有没有朋友遇到过类似的跨设备不一致的情况?可能是模型导出、设备适配或者代码层面的问题吗?麻烦给点排查方向或者解决建议,谢谢大家!
备注:内容来源于stack exchange,提问作者Pedro Sousa
相关产品推荐
相关产品推荐

