M2芯片Mac开发YOLOv5 iOS目标检测App遇CoreML导出错误
解决YOLOv5导出CoreML模型时的weights_dir错误
错误原因
导出CoreML的mlProgram类型模型时,仅提供权重文件路径不足以完成导出,需要额外指定权重文件所在的目录。
解决步骤
添加weights_dir参数
修改导出命令,补充--weights_dir参数指向权重文件所在的目录。如果权重文件在当前终端工作目录,命令如下:python export-nms.py --include coreml --weights yolov5n.pt --weights_dir ./若使用绝对路径的权重文件,将
--weights_dir设为权重文件所在的父目录即可,示例:python export-nms.py --weights /Users/oscarcanning-thompson/Documents/app/yolov5/yolov5n.pt --include coreml --weights_dir /Users/oscarcanning-thompson/Documents/app/yolov5/匹配教程对应的YOLOv5版本
不同版本的YOLOv5导出逻辑存在差异,建议切换到教程使用的YOLOv5版本:- 确认教程中提及的YOLOv5版本号
- 在克隆的YOLOv5仓库目录下执行版本切换:
git checkout [教程对应的版本tag] - 重新安装对应版本的依赖:
pip install -r requirements.txt
验证ARM架构依赖兼容性
M2芯片为ARM架构,确保coremltools等依赖适配该架构,执行升级命令:pip install --upgrade coremltools
内容的提问来源于stack exchange,提问作者oscartadhg
相关产品推荐
相关产品推荐

