构建 ExecuTorch iOS 演示应用程序¶
欢迎来到设置 ExecuTorch iOS 演示应用程序的教程!
此应用程序使用 MobileNet v3 模型来 利用三个不同的后端处理实时摄像机图像:XNNPACK、Core ML 和 Metal Performance Shaders (MPS)。
先决条件¶
在开始之前,请确保您已安装以下工具:
2. Python 3.10+¶
Python 3.10 或更高版本以及 应预装在 MacOS 13.5+ 上。
如果需要,请下载 Python 和
安装它。使用以下命令验证 Python 和 pip 版本:pip
which python3 pip
python3 --version
pip --version
3. 入门教程¶
在继续之前,请按照设置 ExecuTorch 教程配置基本环境。随意跳过构建任何内容 只是现在。确保您已安装所有必需的依赖项,包括 以下工具:
Buck2 (作为
/tmp/buck2
)Cmake ( 可访问
cmake
$PATH
)FlatBuffers 编译器 ( 可在 enironment 变量处访问或作为 enironment 变量访问)
flatc
$PATH
$FLATC_EXECUTABLE
模型和标签¶
现在,让我们继续导出和捆绑 MobileNet v3 模型。
1. 导出模型¶
导出带有 Core ML、MPS 和 XNNPACK 委托的 MobileNet v3 模型,然后移动 将导出的模型移动到 Demo App 将选取它们的特定位置:
python3 -m examples.portable.scripts.export --model_name="mv3"
python3 -m examples.xnnpack.aot_compiler --delegate --model_name="mv3"
python3 -m examples.apple.coreml.scripts.export_and_delegate --model_name="mv3"
python3 -m examples.apple.mps.scripts.mps_example --model_name="mv3"
mkdir -p examples/demo-apps/apple_ios/ExecuTorchDemo/ExecuTorchDemo/Resources/Models/MobileNet/
mv mv3*.pte examples/demo-apps/apple_ios/ExecuTorchDemo/ExecuTorchDemo/Resources/Models/MobileNet/
2. 下载标签¶
下载图像分类所需的 MobileNet 模型标签:
curl https://raw.githubusercontent.com/pytorch/hub/master/imagenet_classes.txt \
-o examples/demo-apps/apple_ios/ExecuTorchDemo/ExecuTorchDemo/Resources/Models/MobileNet/imagenet_classes.txt
构建运行时和后端¶
接下来,我们将为 ExecuTorch 构建必要的框架,并将它们移交给应用程序链接。
1. 构建框架¶
./build/build_apple_frameworks.sh --Release --coreml --mps --xnnpack
2. 移动应用链接框架¶
确保在上一步中生成所有捆绑包
在 Demo App 将接收它们的特定位置:.xcframework
mv cmake-out examples/demo-apps/apple_ios/ExecuTorchDemo/ExecuTorchDemo/Frameworks
最后的步骤¶
我们快完成了!现在,我们只需要在 Xcode 中打开项目,运行 测试,最后运行应用程序。
1. 在 Xcode 中打开 Project¶
双击 下的项目文件或运行以下命令:examples/demo-apps/apple_ios/ExecuTorchDemo
open examples/demo-apps/apple_ios/ExecuTorchDemo/ExecuTorchDemo.xcodeproj
2. 运行测试¶
您可以直接在 Xcode 中使用 Simulaltor 运行测试,也可以使用
命令行:Cmd + U
xcrun simctl create executorch "iPhone 15"
xcodebuild clean test \
-project examples/demo-apps/apple_ios/ExecuTorchDemo/ExecuTorchDemo.xcodeproj \
-scheme App \
-destination name=executorch
xcrun simctl delete executorch
3. 运行应用程序¶
最后,在 Xcode 中设置代码签名,然后使用 .Cmd + R
祝贺!您已成功设置 ExecuTorch iOS 演示应用程序。现在 您可以在 iOS 设备上探索和享受 ExecuTorch 的强大功能!