mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-14 20:48:00 +00:00
* Eliminate the confusing double negative I was having trouble parsing the caveat NOTE, proposing wording changes that I think reflect the meaning and avoid the confusion. * Eliminate double negative without further explanation on role of this file. Incorporate @pranavsharma feedback.
26 lines
1.2 KiB
Markdown
26 lines
1.2 KiB
Markdown
# C API
|
|
|
|
**NOTE: The C API is PRE-RELEASE and subject to change.**
|
|
|
|
## Features
|
|
|
|
* Creating an InferenceSession from an on-disk model file and a set of SessionOptions.
|
|
* Registering customized loggers.
|
|
* Registering customized allocators.
|
|
* Registering predefined providers and set the priority order. ONNXRuntime has a set of predefined execution providers,like CUDA, MKLDNN. User can register providers to their InferenceSession. The order of registration indicates the preference order as well.
|
|
* Running a model with inputs. These inputs must be in CPU memory, not GPU. If the model has multiple outputs, user can specify which outputs they want.
|
|
* Converting an in-memory ONNX Tensor encoded in protobuf format, to a pointer that can be used as model input.
|
|
* Setting the thread pool size for each session.
|
|
* Dynamically loading custom ops.
|
|
|
|
## How to use it
|
|
|
|
1. Include [onnxruntime_c_api.h](/include/onnxruntime/core/session/onnxruntime_c_api.h).
|
|
2. Call ONNXRuntimeInitialize
|
|
3. Create Session: ONNXRuntimeCreateInferenceSession(env, model_uri, nullptr,...)
|
|
4. Create Tensor
|
|
1) ONNXRuntimeCreateAllocatorInfo
|
|
2) ONNXRuntimeCreateTensorWithDataAsONNXValue
|
|
5. ONNXRuntimeRunInference
|
|
|
|
|