mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-16 18:31:27 +00:00
* Update ORT Mobile documentation for both the pre-built package and custom build usage Add info on pre-built package and CoreML EP Refer to operator kernels and contrib ops documentation in github so we can point to the version specific content Tweak some aspects like not specifying nav_order in places (items sort alphabetically by default) * merge previous unmerged ios doc updates * Address PR comments * Minor tweaks * Address PR comments Co-authored-by: Guoyu Wang <wanggy@outlook.com>
2.4 KiB
2.4 KiB
| title | parent | grand_parent | nav_order |
|---|---|---|---|
| Enabling NNAPI or CoreML Execution Providers | Deploy ONNX Runtime Mobile | How to | 6 |
Using NNAPI and CoreML with ONNX Runtime Mobile
- Usage of NNAPI on Android platforms is via the NNAPI Execution Provider (EP).
- See the NNAPI Execution Provider documentation for more details.
- Usage of CoreML on iOS and macOS platforms is via the CoreML EP.
- See the CoreML Execution Provider documentation for more details.
The pre-built ONNX Runtime Mobile package includes the NNAPI EP on Android, and the CoreML EP on iOS.
If performing a custom build of ONNX Runtime, support for the NNAPI EP or CoreML EP must be enabled when building.
Create a minimal build with NNAPI EP or CoreML EP support
Please see the instructions for setting up the Android or iOS environment required to build. The Android build can be cross-compiled on Windows or Linux. The iOS/macOS build must be performed on a mac machine.
Once you have all the necessary components setup, follow the instructions to create the custom build, with the following changes:
- Replace
--minimal_buildwith--minimal_build extendedto enable support for execution providers that dynamically create kernels at runtime, which is required by the NNAPI EP and CoreML EP. - Add
--use_nnapito include the NNAPI EP in the build - Add
--use_coremlto include the CoreML EP in the build
Example build commands with the NNAPI EP enabled:
- Windows example:
<ONNX Runtime repository root>.\build.bat --config MinSizeRel --android --android_sdk_path D:\Android --android_ndk_path D:\Android\ndk\21.1.6352462\ --android_abi arm64-v8a --android_api 29 --cmake_generator Ninja --minimal_build extended --use_nnapi --disable_ml_ops --disable_exceptions --build_shared_lib --skip_tests --include_ops_by_config <config file from model conversion> - Linux example:
<ONNX Runtime repository root>./build.sh --config MinSizeRel --android --android_sdk_path /Android --android_ndk_path /Android/ndk/21.1.6352462/ --android_abi arm64-v8a --android_api 29 --minimal_build extended --use_nnapi --disable_ml_ops --disable_exceptions --build_shared_lib --skip_tests --include_ops_by_config <config file from model conversion>
Next: Limitations