本页介绍了如何设置开发环境,以在 iOS 应用中使用 MediaPipe Tasks。
支持的设备和平台
如需使用 MediaPipe Tasks 创建 iOS 应用,您的开发环境需要满足以下要求:
macOS Mojave 10.14.3 或更高版本。
Xcode 10.3 或更高版本。
搭载 iOS 12.0 或更高版本的 iOS 设备。或者,iOS 模拟器也可以处理不需要设备相机的应用。
开发者环境设置
在 iOS 应用上运行 MediaPipe 任务之前,您必须已有 Xcode 项目或在本地机器上创建一个新项目。
只能使用 CocoaPods 安装 MediaPipe Tasks。 您必须先安装 CocoaPods 1.12.1 或更高版本,然后才能开始操作。如需了解如何在 macOS 上安装 CocoaPods,请参阅 CocoaPods 安装指南。
示例代码设置
MediaPipe 示例代码库包含用于 MediaPipe 任务的示例 iOS 应用。
您可以从示例代码创建项目,构建项目并运行任务。以下步骤构建文本分类器任务。
如需导入并构建示例代码项目,请执行以下操作:
打开终端,克隆 MediaPipe 示例代码库,然后导航到包含
TextClassifier.xcodeproj
和Podfile
的目录。git clone https://github.com/google-ai-edge/mediapipe-samples cd mediapipe/examples/text_classification/ios
使用 CocoaPods 安装 MediaPipe Tasks:
pod install
此命令会在示例项目目录中创建一个
TextClassifier.xcworkspace
文件。双击
TextClassifier.xcworkspace
文件以在 Xcode 中打开项目。如果TextClassifier.xcodeproj
文件已经打开,请先将其关闭,然后再打开TextClassifier.xcworkspace
文件。选择
TextClassifier
架构,然后从项目窗口的工具栏中选择 iOS 实体设备或模拟器。使用 iOS 实体设备时,请确保该设备已连接到您的 Mac。点击项目工具栏中的
Run
按钮。
如需详细了解如何在 Xcode 上运行应用,请参阅构建和运行应用。
MediaPipe Tasks 依赖项
MediaPipe Tasks 提供了两个预构建的视觉和文本库。.tflite
模型文件必须位于使用该模型的 iOS 应用的软件包中。根据 MediaPipe Tas,将 Vision 库或文本库添加到 CocoaPods Podfile
内的 Pod 列表中。如需了解如何使用应用所需的 pod 创建 Podfile
,请参阅使用 CocoaPods。
生成式 AI 任务
MediaPipe Tasks 生成式 AI 库包含用于处理图片或文本生成的任务。如需安装 MediaPipe Tasks Generative AI 库,请在 Podfile
中将 MediaPipeTasksGenAI
和 MediaPipeTasksGenAIC
Pod 添加到应用的目标。
LLM 推断 API
MediaPipe LLM 推断任务包含在 MediaPipeTasksGenAI
和 MediaPipeTasksGenAIC
pod 中。
target 'MyLlmInferenceApp' do
use_frameworks!
pod 'MediaPipeTasksGenAI'
pod 'MediaPipeTasksGenAIC'
end
视觉任务
MediaPipe Tasks 视觉库包含用于处理图片或视频输入的任务。如需安装 MediaPipe Tasks 视觉库,请在 Podfile
中将 MediaPipeTasksVision
pod 添加到应用的目标。
target 'MyAppWithMediaPipeTasksVision' do
use_frameworks!
pod 'MediaPipeTasksVision'
end
文本任务
MediaPipe Tasks 文本库包含以文本格式处理语言数据的任务。如需安装 MediaPipe Tasks 文本库,请在 Podfile
中将 MediaPipeTasksText
pod 添加到应用的目标
target 'MyAppWithMediaPipeTasksText' do
use_frameworks!
pod 'MediaPipeTasksText'
end
配置测试目标
如果您的应用具有测试目标,请确保您的 Podfile 符合以下任一实现要求,以避免在使用 MediaPipe 任务库时出现任何不良行为。
最简单的实现是确保测试目标未嵌套在添加 MediaPipe 任务 pod 的主应用目标中。
target 'MyAppWithMediaPipeTasks' do
pod 'MediaPipeTasksVision'
end
target 'MyAppWithMediaPipeTasksTests' do
end
如果测试目标必须嵌套在主应用目标中,则 Podfile 必须符合以下实现要求:
target 'MyAppWithMediaPipeTasks' do
pod 'MediaPipeTasksVision'
target 'MyAppWithMediaPipeTasksTests' do
inherit! :none
end
end
BaseOptions 配置
BaseOptions 允许对 MediaPipe 任务 API 进行常规配置。
选项名称 | 说明 | 已接受的值 |
---|---|---|
modelAssetPath |
iOS 应用软件包中模型文件的模型路径。 | 以字符串表示的路径。 |
硬件加速
在 iOS 上,MediaPipe Tasks 仅支持在标准 CPU 处理器上运行模型。
问题排查
如需有关 MediaPipe 的技术问题方面的帮助,请访问论坛或 Stack Overflow 以获取社区支持。如需报告 bug 或提出功能请求,请在 GitHub 上提交问题。
如果在设置 iOS 开发环境方面需要帮助,请访问 Apple 开发者文档。