框架

Core ML

在 App 中整合机器学习模型。

概览

利用 Core ML 在 App 中整合机器学习模型。Core ML 为所有模型提供了一种统一的呈现方式。App 可以使用 Core ML API 和用户数据进行预测,以及训练或精调模型,一切都在用户设备上完成。

从左到右的流程图。从左侧开始,首先是 Core ML 模型文件图标。接着是中间的 Core ML 框架图标,右侧则是通用的 App 图标,标有“Your App”(你的 App)。

模型”是对一组训练数据应用机器学习算法而得到的结果。你使用模型来基于新的输入数据进行预测。有很多依靠编写代码仅能低效甚至很难完成的任务,使用模型能更好地完成。例如,你可以训练模型来归类照片,或者直接根据像素检测照片内的特定对象。

你可以使用 Xcode 内置的 Create ML App 来构建和训练模型。使用 Create ML 训练的模型采用 Core ML 模型格式,并能直接在 App 中使用。另外,也可以使用许多其他机器学习资源库,再使用 Core ML 工具 (英文) 将模型转换成 Core ML 格式。模型下载到用户设备上后,你可以使用 Core ML 在设备端利用用户数据进行重新训练或优化。

Core ML 通过利用 CPU、GPU 和神经网络引擎,同时最大程度地减小内存占用空间和功耗,来优化设备端性能。由于模型严格地在用户设备上,因此无需任何网络连接,这有助于保护用户数据的私密性和 App 的响应速度。

Core ML 是域特定的框架和功能的基础所在。Core ML 支持使用计算机视觉 (英文) 框架分析图像,使用自然语言 (英文) 框架处理文本,使用语音 (英文) 框架将音频转换为文本,以及使用 SoundAnalysis (英文) 来识别音频中的声音。Core ML 本身是基于 Accelerate (英文)BNNS (英文) 等底层语言以及 Metal Performance Shaders (英文) 而构建的。

机器学习堆叠的方块图。最上层是一个标有“Your App”(你的 App) 的方块,横跨整个方块图。第二层有四个方块,分别标有“Vision”(计算机视觉)、“Natural Language”(自然语言)、“Speech”(语音) 和“Sound Analysis”。第三层标有“Core ML”,也横跨整个方块图。第四层 (也是最后一层) 有两个方块,即“Accelerate and BNNS”(Accelerate 和 BNNS) 和“Metal Performance Shaders”。

相关主题

准备工作

获取 Core ML 模型

获取要在 App 中使用的 Core ML 模型。

将 Core ML 模型集成到你的 App 中 (英文)

向 App 中添加简单的模型,将输入数据传递给模型,并处理模型的预测。

将经过训练的模型转换为 Core ML

将使用第三方机器学习工具创建且经过训练的模型转换为 Core ML 模型格式。

计算机视觉

通过计算机视觉和 Core ML 对图像进行分类 (英文)

使用计算机视觉框架对照片进行预处理,然后通过 Core ML 模型对照片进行分类。

通过计算机视觉和对象检测了解掷骰子 (英文)

检测相机取景框内显示的骰子位置和值,并通过利用骰子检测模型确定掷骰子的结果。

自然语言

在文本文稿中查找问题答案 (英文)

通过向 Bidirectional Encoder Representations from Transformers (BERT) 模型提问,查找文稿中的相关段落。

App 大小管理

缩减 Core ML App 的大小

缩减 App 套装中由 Core ML 模型占用的存储容量。

Core ML API

Core ML API (英文)

直接使用 Core ML API 来支持自定工作流程和高级用例。