Skip to content

YOLO11模型的CoreML导出

在iPhone和Mac等Apple设备上部署计算机视觉模型需要确保无缝性能的格式。

CoreML导出格式使您能够优化您的Ultralytics YOLO11模型,以在iOS和macOS应用程序中实现高效目标检测。在本指南中,我们将引导您完成将模型转换为CoreML格式的步骤,使您的模型在Apple设备上表现出色。

CoreML

CoreML概述

CoreML是Apple的基础机器学习框架,建立在Accelerate、BNNS和Metal Performance Shaders之上。它提供了一种机器学习模型格式,可以无缝集成到iOS应用程序中,并支持图像分析、自然语言处理、音频转文本和声音分析等任务。

应用程序可以利用Core ML,无需网络连接或API调用,因为Core ML框架使用设备端计算工作。这意味着模型推理可以在用户的设备上本地执行。

CoreML模型的关键特性

Apple的CoreML框架为设备端机器学习提供了强大的功能。以下是使CoreML成为开发人员强大工具的关键特性:

  • 全面的模型支持:从流行的框架如TensorFlow、PyTorch、scikit-learn、XGBoost和LibSVM转换和运行模型。

CoreML支持的模型

  • 设备端机器学习:通过直接在用户设备上执行模型,确保数据隐私和快速处理,无需网络连接。

  • 性能和优化:使用设备的CPU、GPU和神经引擎,以最小的功耗和内存使用实现最佳性能。提供模型压缩和优化工具,同时保持准确性

  • 易于集成:为各种模型类型提供统一格式,并提供用户友好的API,以便无缝集成到应用程序中。通过Vision和Natural Language等框架支持特定领域的任务。

  • 高级功能:包括设备端训练能力,用于个性化体验,异步预测用于交互式ML体验,以及模型检查和验证工具。

CoreML部署选项

在我们查看将YOLO11模型导出为CoreML格式的代码之前,让我们了解CoreML模型通常的使用位置。

CoreML为机器学习模型提供了各种部署选项,包括:

  • 设备端部署:此方法直接将CoreML模型集成到您的iOS应用程序中。它特别有利于确保低延迟、增强隐私(因为数据保留在设备上)和离线功能。然而,这种方法可能受限于设备的硬件能力,特别是对于更大和更复杂的模型。设备端部署可以通过以下两种方式执行。

    • 嵌入式模型:这些模型包含在应用程序包中,并立即可用。它们适用于不需要频繁更新的小型模型。

    • 下载的模型:这些模型根据需要从服务器获取。这种方法适用于较大的模型或需要定期更新的模型。它有助于保持应用程序包的大小较小。

  • 基于云的部署:CoreML模型托管在服务器上,并通过API请求由iOS应用程序访问。这种可扩展且灵活的选项使模型更新变得容易,无需应用程序修订。它适用于复杂的模型或需要定期更新的大规模应用程序。然而,它确实需要互联网连接,并可能带来延迟和安全问题。

将YOLO11模型导出为CoreML

将YOLO11导出为CoreML可以在Apple生态系统中实现优化的设备端机器学习性能,提供效率、安全性和与iOS、macOS、watchOS和tvOS平台无缝集成的好处。

安装

要安装所需的软件包,请运行:

安装

# 安装YOLO11所需的软件包
pip install ultralytics

有关安装过程的详细说明和最佳实践,请查看我们的YOLO11安装指南。在安装YOLO11所需的软件包时,如果遇到任何困难,请参考我们的常见问题指南以获取解决方案和提示。

使用

在深入使用说明之前,请务必查看Ultralytics提供的YOLO11模型范围。这将帮助您为项目需求选择最合适的模型。

使用

from ultralytics import YOLO

# 加载YOLO11模型
model = YOLO("yolo11n.pt")

# 将模型导出为CoreML格式
model.export(format="coreml")  # 创建'yolo11n.mlpackage'

# 加载导出的CoreML模型
coreml_model = YOLO("yolo11n.mlpackage")

# 运行推理
results = coreml_model("https://ultralytics.com/images/bus.jpg")
# 将YOLO11n PyTorch模型导出为CoreML格式
yolo export model=yolo11n.pt format=coreml  # 创建'yolo11n.mlpackage'

# 使用导出的模型运行推理
yolo predict model=yolo11n.mlpackage source='https://ultralytics.com/images/bus.jpg'

有关导出过程的更多详细信息,请访问Ultralytics关于导出的文档页面

部署导出的YOLO11 CoreML模型

成功将Ultralytics YOLO11模型导出为CoreML后,下一个关键阶段是有效地部署这些模型。有关在各种环境中部署CoreML模型的详细指导,请查看以下资源:

  • CoreML工具:本指南包括将模型从TensorFlow、PyTorch和其他库转换为Core ML的说明和示例。

  • ML和Vision:一系列涵盖使用和实现CoreML模型各个方面的综合视频。

  • 将Core ML模型集成到您的应用中:一个关于将CoreML模型集成到iOS应用程序的综合指南,详细介绍了从准备模型到在应用程序中实现各种功能的步骤。

总结

在本指南中,我们介绍了如何将Ultralytics YOLO11模型导出为CoreML格式。通过遵循本指南中概述的步骤,您可以确保在将YOLO11模型导出为CoreML时获得最大的兼容性和性能。

有关更多使用细节,请访问CoreML官方文档

此外,如果您想了解更多关于其他Ultralytics YOLO11集成的信息,请访问我们的集成指南页面。您将在那里找到大量有价值的资源和见解。

常见问题

如何将YOLO11模型导出为CoreML格式?

要将您的Ultralytics YOLO11模型导出为CoreML格式,您首先需要确保已安装ultralytics包。您可以使用以下命令安装它:

安装

pip install ultralytics

接下来,您可以使用以下Python或CLI命令导出模型:

使用

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="coreml")
yolo export model=yolo11n.pt format=coreml

有关更多详细信息,请参阅我们的文档中的将YOLO11模型导出为CoreML部分。

使用CoreML部署YOLO11模型有哪些好处?

CoreML为在Apple设备上部署Ultralytics YOLO11模型提供了许多优势:

  • 设备上处理:在设备上进行本地模型推理,确保数据隐私并最小化延迟。
  • 性能优化:充分利用设备的CPU、GPU和神经引擎,优化速度和效率。
  • 易于集成:提供与Apple生态系统的无缝集成体验,包括iOS、macOS、watchOS和tvOS。
  • 多功能性:支持使用CoreML框架进行图像分析、音频处理和自然语言处理等各种机器学习任务。 有关将您的 CoreML 模型集成到 iOS 应用中的更多详细信息,请查看 将 Core ML 模型集成到您的应用中 的指南。

YOLO11 模型导出到 CoreML 后的部署选项有哪些?

一旦您将 YOLO11 模型导出为 CoreML 格式,您有多种部署选项:

  1. 设备上部署:直接将 CoreML 模型集成到您的应用中,以增强隐私和离线功能。这可以通过以下方式实现:

    • 嵌入式模型:包含在应用包中,可立即访问。
    • 下载的模型:根据需要从服务器获取,保持应用包大小较小。
  2. 基于云的部署:在服务器上托管 CoreML 模型,并通过 API 请求访问它们。这种方法支持更轻松的更新,并且可以处理更复杂的模型。

有关部署 CoreML 模型的详细指导,请参阅 CoreML 部署选项

CoreML 如何确保 YOLO11 模型的优化性能?

CoreML 通过利用各种优化技术确保 Ultralytics YOLO11 模型的优化性能:

  • 硬件加速:使用设备的 CPU、GPU 和神经引擎进行高效计算。
  • 模型压缩:提供压缩模型的工具,以减少其占用空间而不影响准确性。
  • 自适应推理:根据设备的能力调整推理,以在速度和性能之间保持平衡。

有关性能优化的更多信息,请访问 CoreML 官方文档

我可以直接使用导出的 CoreML 模型进行推理吗?

是的,您可以直接使用导出的 CoreML 模型进行推理。以下是 Python 和 CLI 的命令:

运行推理

from ultralytics import YOLO

coreml_model = YOLO("yolo11n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")
yolo predict model=yolo11n.mlpackage source='https://ultralytics.com/images/bus.jpg'

有关更多信息,请参阅 CoreML 导出指南的 使用部分


📅 Created 8 months ago ✏️ Updated 13 days ago

Comments