ONNX Runtime launcher is one of the supported wrappers for easily launching models within Accuracy Checker tool. This launcher allows to execute models in ONNX format using ONNX Runtime as inference backend.
For enabling ONNX Runtime launcher you need to add
framework: onnx_runtime in launchers section of your configuration file and provide following parameters:
device- specifies which device will be used for infer (
gpuand so on). Optional, cpu used as default or can depend on used executable provider.
model- path to the network file in ONNX format.
adapter- approach how raw output will be converted to representation of dataset problem, some adapters can be specific to framework. You can find detailed instruction how to use adapters here.
execution_providers- list of execution providers for evaluation, e.g. OpenVINO Execution Provider. Default [
Note: execution providers available only with newest versions of ONNXRuntime, if your installed version does not support such API, please update or does not specify this field.
In case when you model has several inputs you should provide list of input layers in launcher config section using key
inputs. Each input description should has following info:
name- input layer name in network
type - type of input values, it has impact on filling policy. Available options:
CONST_INPUT- input will be filled using constant provided in config. It also requires to provide
IMAGE_INFO- specific key for setting information about input shape to layer (used in Faster RCNN based topologies). You do not need to provide
value, because it will be calculated in runtime. Format value is list with
Nelements of the form
[H, W, S], where
Nis batch size,
H- original image height,
W- original image width,
S- scale of original image (default 1).
ORIG_IMAGE_INFO- specific key for setting information about original image size before preprocessing.
IGNORE_INPUT- input which should be stayed empty during evaluation.
INPUT- network input for main data stream (e. g. images). If you have several data inputs, you should provide regular expression for identifier as
valuefor specifying which one data should be provided in specific input.
Optionally you can determine
shape of input (actually does not used, ONNX Runtime launcher uses info given from network),
layout in case when your model was trained with non-standard data layout (For ONNX Runtime default layout is
precision (Supported precisions:
FP32 - float,
FP16 - signed shot,
U8 - unsigned char,
U16 - unsigned short int,
I8 - signed char,
I16 - short int,
I32 - int,
I64 - long int).
ONNX Runtime launcher config example: