onnxruntime/docs/how-to/mobile/model-execution.md
Scott McKay 9e8d795344
Update ORT Mobile documentation (#7874)
* 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>
2021-06-01 21:21:41 -07:00

1.5 KiB

title parent grand_parent has_children nav_order
Model Execution Deploy ONNX Runtime Mobile How to false 5

{::options toc_levels="2..4" /}

Executing an ORT format model

The API for executing ORT format models is the same as for ONNX models.

See the ONNX Runtime API documentation for details on individual API usage.

APIs by platform

Platform Available APIs
Android C, C++, Java
iOS C, C++, Objective-C (Swift via bridge)

ORT format model loading

If you provide a filename for the ORT format model, a file extension of '.ort' will be inferred to be an ORT format model.

If you provide in-memory bytes for the ORT format model, a marker in those bytes will be checked to infer if it's an ORT format model.

If you wish to explicitly say that the InferenceSession input is an ORT format model you can do so via SessionOptions, although this generally should not be necessary.

C++ API

Ort::SessionOptions session_options;
session_options.AddConfigEntry('session.load_model_format', 'ORT');

Ort::Env env;
Ort::Session session(env, <path to model>, session_options);

Java API

SessionOptions session_options = new SessionOptions();
session_options.addConfigEntry("session.load_model_format", "ORT");

OrtEnvironment env = OrtEnvironment.getEnvironment();
OrtSession session = env.createSession(<path to model>, opsession_optionstions);

Next: Using NNAPI and CoreML with ORT Mobile