构建一个 ExecuTorch iOS 演示应用
欢迎来到 ExecuTorch iOS 演示应用的设置教程!
该应用使用 MobileNet v3 模型来处理实时摄像头图像,并利用三个不同的后端:XNNPACK、Core ML 和 Metal Performance Shaders (MPS)(仅限 Xcode 15+ 和 iOS 17+)。
先决条件
在开始之前,请确保您已安装以下工具:
2. Python 3.10+
MacOS 13.5+ 上应预装 Python 3.10 或更高版本以及 pip
。如有需要,可下载 Python 并安装。使用以下命令验证 Python 和 pip 版本:
whichpython3pip
python3--version
pip--version
3. 入门教程
请按照 设置 ExecuTorch 教程来配置基本环境:
gitclonehttps://github.com/pytorch/executorch.git--depth1--recurse-submodules--shallow-submodules
cdexecutorch
python3-mvenv.venv&&source.venv/bin/activate
pipinstall--upgradecmakepipsetuptoolswheel
./install_requirements.sh--pybindcoremlmpsxnnpack
模型和标签
现在,让我们继续导出并打包 MobileNet v3 模型。
1. 导出模型
将 MobileNet v3 模型导出为 Core ML、MPS 和 XNNPACK 后端格式,并将导出的模型移动到 Demo App 将取用的特定位置:
MODEL_NAME="mv3"
python3-mexamples.portable.scripts.export--model_name="$MODEL_NAME"
python3-mexamples.apple.coreml.scripts.export--model_name="$MODEL_NAME"
python3-mexamples.apple.mps.scripts.mps_example--model_name="$MODEL_NAME"
python3-mexamples.xnnpack.aot_compiler--model_name="$MODEL_NAME"--delegate
mkdir-pexamples/demo-apps/apple_ios/ExecuTorchDemo/ExecuTorchDemo/Resources/Models/MobileNet/
mv"$MODEL_NAME*.pte"examples/demo-apps/apple_ios/ExecuTorchDemo/ExecuTorchDemo/Resources/Models/MobileNet/
2. 下载标签
下载图像分类所需的 MobileNet 模型标签:
curlhttps://raw.githubusercontent.com/pytorch/hub/master/imagenet_classes.txt\
*oexamples/demo-apps/apple_ios/ExecuTorchDemo/ExecuTorchDemo/Resources/Models/MobileNet/imagenet_classes.txt
最后步骤
我们马上就要完成了!现在,我们只需要在 Xcode 中打开项目,运行测试,最后运行应用程序。
1. 在 Xcode 中打开项目
双击 examples/demo-apps/apple_ios/ExecuTorchDemo
目录下的项目文件,或运行以下命令:
openexamples/demo-apps/apple_ios/ExecuTorchDemo/ExecuTorchDemo.xcodeproj
2. 运行测试
您可以直接在 Xcode 中使用 Cmd + U
在模拟器上运行测试,或者使用命令行:
xcrunsimctlcreateexecutorch"iPhone 15"
xcodebuildcleantest\
*projectexamples/demo-apps/apple_ios/ExecuTorchDemo/ExecuTorchDemo.xcodeproj\
*schemeApp\
*destinationname=executorch
xcrunsimctldeleteexecutorch
3. 运行应用程序
最后,连接设备,在 Xcode 中设置代码签名,然后使用 Cmd + R
运行应用程序。尝试安装 Release 版本以获得更好的性能。
恭喜!您已成功设置 ExecuTorch iOS 演示应用程序。现在,您可以在 iOS 设备上探索并享受 ExecuTorch 的强大功能!
了解更多关于在 Apple 平台 上集成和运行 ExecuTorch 的信息。