# Tools This page describes the various SDK tools and feature for Linux/Android and Windows developers. For the integration flow of different developers, please refer to [Overview](https://docs.qualcomm.com/doc/80-63442-10/topic/QNN_general_overview.html) page for further information. | Category | Tool | Developer | Developer | Developer | Developer | Developer | Developer | | --- | --- | --- | --- | --- | --- | --- | --- | | Category | Tool | Linux/Android | Linux/Android | Linux/Android | Windows | Windows | Windows | | Category | Tool | Ubuntu | WSL x86 | Device | WSL x86 | Windows x86\_64 | Windows on Snapdragon | | [Model Conversion](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#model-conversion) | [qnn-tensorflow-converter](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-tensorflow-converter) | YES | YES | | YES | YES | YES\*\* | | [Model Conversion](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#model-conversion) | [qnn-tflite-converter](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-tflite-converter) | YES | YES | | YES | | | | [Model Conversion](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#model-conversion) | [qnn-pytorch-converter](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-pytorch-converter) | YES | YES | | YES | | | | [Model Conversion](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#model-conversion) | [qnn-onnx-converter](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-onnx-converter) | YES | YES | | YES | YES | YES\*\* | | [Model Conversion](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#model-conversion) | [qairt-converter](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qairt-converter) | YES | YES | | YES | YES | YES\*\* | | [Model Preparation](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#model-preparation) | [Quantization Support](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#quantization-support) | YES | YES | | YES | YES | YES | | [Model Preparation](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#model-preparation) | [qnn-model-lib-generator](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-model-lib-generator) | YES | YES | | | YES | YES | | [Model Preparation](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#model-preparation) | [qnn-op-package-generator](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-op-package-generator) | YES | YES | | YES | | | | [Model Preparation](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#model-preparation) | [qnn-context-binary-generator](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-context-binary-generator) | YES | YES | YES | YES | YES | YES | | [Execution](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#execution) | [qnn-net-run](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-net-run) | YES | YES | YES | | YES | YES | | [Execution](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#execution) | [qnn-throughput-net-run](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-throughput-net-run) | YES | YES | YES | | | YES | | [Analysis](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#analysis) | [qairt-accuracy-evaluator](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qairt-accuracy-evaluator) | YES | | | | | YES\*\*\*\* | | [Analysis](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#analysis) | [qnn-architecture-checker (Beta)](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-architecture-checker-beta) | YES | YES | | YES | YES | YES\*\* | | [Analysis](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#analysis) | [qnn-accuracy-debugger (Beta)](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-accuracy-debugger-beta) | YES | YES | | | YES\*\*\* | YES | | [Analysis](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#analysis) | [qairt-accuracy-debugger](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qairt-accuracy-debugger) | YES | | | | | YES | | [Analysis](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#analysis) | [qnn-platform-validator](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-platform-validator) | YES | | YES | | | YES | | [Analysis](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#analysis) | [qnn-profile-viewer](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-profile-viewer) | YES | YES | YES | | YES\* | YES\* | | [Analysis](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#analysis) | [Benchmarking](https://docs.qualcomm.com/doc/80-63442-10/topic/benchmarking.html) | YES | | | | | | | [Analysis](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#analysis) | [qnn-context-binary-utility](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-context-binary-utility) | YES | | | | YES | YES | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note The **Beta designation** indicates **pre-production quality**. This means that the component is currently undergoing more rigorous testing and may not fully satisfy compatibility requirements as expected in the production version. In other words, **incompatible changes** (such as alterations in behavior or interface) between releases are allowed without prior notice, although every effort is made to minimize such changes. Note \* When using converter tools in Windows PowerShell, make sure a virtual environment with the required python packages (see [Setup](https://docs.qualcomm.com/doc/80-63442-10/topic/general_setup.html) for more details) is activated and converters are executed via **python**, as shown in the following example. (venv-3.10) > python qnn-onnx-converter <options> Note - Extension naming of library: For Windows developers, please replace all ‘.so’ files with the analogous ‘.dll’ file in the following sections. Please refer to Platform Differences for more details. - For more detailed information on converters please refer to [Converters](https://docs.qualcomm.com/doc/80-63442-10/topic/converters.html). - [\*] libQnnGpuProfilingReader.dll is not supported on Windows platform for qnn-profile-viewer. - [\*\*] Requires the python scripts and the executables from the Windows x86\_64 binary folder(bin\x86\_64-windows-msvc). - [[\*\*](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#id1)[\*](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#id3)] Accuracy debugger on Windows x86 system is tested only for CPU runtime currently. - [[\*\*](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#id5)[\*\*](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#id7)] The Accuracy Evaluator on Windows for Snapdragon has been tested and verified for both CPU and HTP runtimes. - PyTorch models and preprocessing/postprocessing stages that depend upon the torch library are currently not supported in the Windows version of the Accuracy Evaluator. - TFlite conversion using [qairt-converter](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qairt-converter) is not supported for Windows x86\_64 and Windows on Snapdragon due TVM library dependency. - Pytorch conversion using [qairt-converter](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qairt-converter) is not supported for Windows on Snapdragon due to Pytorch 2.4.0 [known issue](https://github.com/pytorch/pytorch/issues/131662). ## Model Conversion ### qnn-tensorflow-converter The **qnn-tensorflow-converter** tool converts a model from the TensorFlow framework to a CPP file representing the model as a series of QNN API calls. Additionally, a binary file containing static weights of the model is produced. usage: qnn-tensorflow-converter -d INPUT_NAME INPUT_DIM --out_node OUT_NAMES [--input_type INPUT_NAME INPUT_TYPE] [--input_dtype INPUT_NAME INPUT_DTYPE] [--input_encoding ...] [--input_layout INPUT_NAME INPUT_LAYOUT] [--custom_io CUSTOM_IO] [--show_unconsumed_nodes] [--saved_model_tag SAVED_MODEL_TAG] [--saved_model_signature_key SAVED_MODEL_SIGNATURE_KEY] [--quantization_overrides QUANTIZATION_OVERRIDES] [--keep_quant_nodes] [--disable_batchnorm_folding] [--expand_lstm_op_structure] [--keep_disconnected_nodes] [--input_list INPUT_LIST] [--param_quantizer PARAM_QUANTIZER] [--act_quantizer ACT_QUANTIZER] [--algorithms ALGORITHMS [ALGORITHMS ...]] [--bias_bitwidth BIAS_BITWIDTH] [--bias_bw BIAS_BW] [--act_bitwidth ACT_BITWIDTH] [--act_bw ACT_BW] [--weights_bitwidth WEIGHTS_BITWIDTH] [--weight_bw WEIGHT_BW] [--float_bias_bitwidth FLOAT_BIAS_BITWIDTH] [--ignore_encodings] [--use_per_channel_quantization] [--use_per_row_quantization] [--enable_per_row_quantized_bias] [--float_fallback] [--use_native_input_files] [--use_native_dtype] [--use_native_output_files] [--disable_relu_squashing] [--restrict_quantization_steps ENCODING_MIN, ENCODING_MAX] --input_network INPUT_NETWORK [--debug [DEBUG]] [-o OUTPUT_PATH] [--copyright_file COPYRIGHT_FILE] [--float_bitwidth FLOAT_BITWIDTH] [--float_bw FLOAT_BW] [--float_bias_bw FLOAT_BIAS_BW] [--overwrite_model_prefix] [--exclude_named_tensors] [--op_package_lib OP_PACKAGE_LIB] [--converter_op_package_lib CONVERTER_OP_PACKAGE_LIB] [-p PACKAGE_NAME | --op_package_config CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...]] [-h] [--arch_checker] Script to convert TF model into QNN required arguments: -d INPUT_NAME INPUT_DIM, --input_dim INPUT_NAME INPUT_DIM The names and dimensions of the network input layers specified in the format [input_name comma-separated-dimensions], for example: 'data' 1,224,224,3 Note that the quotes should always be included in order to handlespecial characters, spaces, etc. For multiple inputs specify multiple --input_dim on the command line like: --input_dim 'data1' 1,224,224,3 --input_dim 'data2' 1,50,100,3 --out_node OUT_NODE, --out_name OUT_NAMES Name of the graph's output nodes. Multiple output nodes should be provided separately like: --out_node out_1 --out_node out_2 --input_network INPUT_NETWORK, -i INPUT_NETWORK Path to the source framework model. optional arguments: --input_type INPUT_NAME INPUT_TYPE, -t INPUT_NAME INPUT_TYPE Type of data expected by each input op/layer. Type for each input is |default| if not specified. For example: "data" image.Note that the quotes should always be included in order to handle special characters, spaces,etc. For multiple inputs specify multiple --input_type on the command line. Eg: --input_type "data1" image --input_type "data2" opaque These options get used by DSP runtime and following descriptions state how input will be handled for each option. Image: Input is float between 0-255 and the input's mean is 0.0f and the input's max is 255.0f. We will cast the float to uint8ts and pass the uint8ts to the DSP. Default: Pass the input as floats to the dsp directly and the DSP will quantize it. Opaque: Assumes input is float because the consumer layer(i.e next layer) requires it as float, therefore it won't be quantized. Choices supported: image default opaque --input_dtype INPUT_NAME INPUT_DTYPE The names and datatype of the network input layers specified in the format [input_name datatype], for example: 'data' 'float32'. Default is float32 if not specified. Note that the quotes should always be included in order to handle special characters, spaces, etc. For multiple inputs specify multiple --input_dtype on the command line like: --input_dtype 'data1' 'float32' --input_dtype 'data2' 'float32' --input_encoding INPUT_ENCODING [INPUT_ENCODING ...], -e INPUT_ENCODING [INPUT_ENCODING ...] Usage: --input_encoding "INPUT_NAME" INPUT_ENCODING_IN [INPUT_ENCODING_OUT] Input encoding of the network inputs. Default is bgr. e.g. --input_encoding "data" rgba Quotes must wrap the input node name to handle special characters, spaces, etc. To specify encodings for multiple inputs, invoke --input_encoding for each one. e.g. --input_encoding "data1" rgba --input_encoding "data2" other Optionally, an output encoding may be specified for an input node by providing a second encoding. The default output encoding is bgr. e.g. --input_encoding "data3" rgba rgb Input encoding types: image color encodings: bgr,rgb, nv21, nv12, ... time_series: for inputs of rnn models; other: not available above or is unknown. Supported encodings: bgr rgb rgba argb32 nv21 nv12 time_series other --input_layout INPUT_NAME INPUT_LAYOUT, -l INPUT_NAME INPUT_LAYOUT Layout of each input tensor. If not specified, it will use the default based on the Source Framework, shape of input and input encoding. Accepted values are- NCDHW, NDHWC, NCHW, NHWC, NFC, NCF, NTF, TNF, NF, NC, F, NONTRIVIAL N = Batch, C = Channels, D = Depth, H = Height, W = Width, F = Feature, T = Time NDHWC/NCDHW used for 5d inputs NHWC/NCHW used for 4d image-like inputs NFC/NCF used for inputs to Conv1D or other 1D ops NTF/TNF used for inputs with time steps like the ones used for LSTM op NF used for 2D inputs, like the inputs to Dense/FullyConnected layers NC used for 2D inputs with 1 for batch and other for Channels (rarely used) F used for 1D inputs, e.g. Bias tensor NONTRIVIAL for everything elseFor multiple inputs specify multiple --input_layout on the command line. Eg: --input_layout "data1" NCHW --input_layout "data2" NCHW --custom_io CUSTOM_IO Use this option to specify a yaml file for custom IO --show_unconsumed_nodes Displays a list of unconsumed nodes, if there any are found. Nodes which are unconsumed do not violate the structural fidelity of thegenerated graph. --saved_model_tag SAVED_MODEL_TAG Specify the tag to seletet a MetaGraph from savedmodel. ex: --saved_model_tag serve. Default value will be 'serve' when it is not assigned. --saved_model_signature_key SAVED_MODEL_SIGNATURE_KEY Specify signature key to select input and output of the model. ex: --saved_model_signature_key serving_default. Default value will be 'serving_default' when it is not assigned --disable_batchnorm_folding --expand_lstm_op_structure Enables optimization that breaks the LSTM op to equivalent math ops --keep_disconnected_nodes Disable Optimization that removes Ops not connected to the main graph. This optimization uses output names provided over commandline OR inputs/outputs extracted from the Source model to determine the main graph --debug [DEBUG] Run the converter in debug mode. -o OUTPUT_PATH, --output_path OUTPUT_PATH Path where the converted Output model should be saved.If not specified, the converter model will be written to a file with same name as the input model --copyright_file COPYRIGHT_FILE Path to copyright file. If provided, the content of the file will be added to the output model. --float_bitwidth FLOAT_BITWIDTH Selects the bitwidth to use when using float for parameters (weights/bias) and activations for all ops or a specific op (via encodings) selected through encoding; 32 (default) or 16. --float_bw FLOAT_BW Deprecated; use --float_bitwidth. --float_bias_bw FLOAT_BIAS_BW Deprecated; use --float_bias_bitwidth. --overwrite_model_prefix If option passed, model generator will use the output path name to use as model prefix to name functions in .cpp. (Useful for running multiple models at once) eg: ModelName_composeGraphs. Default is to use generic "QnnModel_". --exclude_named_tensors Remove using source framework tensorNames; instead use a counter for naming tensors. Note: This can potentially help to reduce the final model library that will be generated(Recommended for deploying model). Default is False. -h, --help show this help message and exit Quantizer Options: --quantization_overrides QUANTIZATION_OVERRIDES Use this option to specify a json file with parameters to use for quantization. These will override any quantization data carried from conversion (eg TF fake quantization) or calculated during the normal quantization process. Format defined as per AIMET specification. --keep_quant_nodes Use this option to keep activation quantization nodes in the graph rather than stripping them. --input_list INPUT_LIST Path to a file specifying the input data. This file should be a plain text file, containing one or more absolute file paths per line. Each path is expected to point to a binary file containing one input in the "raw" format, ready to be consumed by the quantizer without any further preprocessing. Multiple files per line separated by spaces indicate multiple inputs to the network. See documentation for more details. Must be specified for quantization. All subsequent quantization options are ignored when this is not provided. --param_quantizer PARAM_QUANTIZER Optional parameter to indicate the weight/bias quantizer to use. Must be followed by one of the following options: "tf": Uses the real min/max of the data and specified bitwidth (default). "enhanced": Uses an algorithm useful for quantizing models with long tails present in the weight distribution. "adjusted": Deprecated. "symmetric": Ensures min and max have the same absolute values about zero. Data will be stored as int#_t data such that the offset is always 0. --act_quantizer ACT_QUANTIZER Optional parameter to indicate the activation quantizer to use. Must be followed by one of the following options: "tf": Uses the real min/max of the data and specified bitwidth (default). "enhanced": Uses an algorithm useful for quantizing models with long tails present in the weight distribution. "adjusted": Deprecated. "symmetric": Ensures min and max have the same absolute values about zero. Data will be stored as int#_t data such that the offset is always 0. --algorithms ALGORITHMS [ALGORITHMS ...] Use this option to enable new optimization algorithms. Usage is: --algorithms ... The available optimization algorithms are: "cle" - Cross layer equalization includes a number of methods for equalizing weights and biases across layers in order to rectify imbalances that cause quantization errors. --bias_bitwidth BIAS_BITWIDTH Selects the bitwidth to use when quantizing the biases; 8 (default) or 32. --bias_bw BIAS_BW Deprecated; use --bias_bitwidth. --act_bitwidth ACT_BITWIDTH Selects the bitwidth to use when quantizing the activations; 8 (default) or 16. --act_bw ACT_BW Deprecated; use --act_bitwidth. --weights_bitwidth WEIGHTS_BITWIDTH Selects the bitwidth to use when quantizing the weights; 4 or 8 (default). --weight_bw WEIGHT_BW Deprecated; use --weights_bitwidth. --float_bias_bitwidth FLOAT_BIAS_BITWIDTH Selects the bitwidth to use when biases are in float; 32 or 16. --ignore_encodings Use only quantizer generated encodings, ignoring any user or model provided encodings. Note: Cannot use --ignore_encodings with --quantization_overrides --use_per_channel_quantization Enables per-channel quantization for convolution-based op weights. This replaces the built-in model QAT encodings when used for a given weight. --use_per_row_quantization Enables row wise quantization of Matmul and FullyConnected ops. --enable_per_row_quantized_bias Enables row wise quantization of bias for FullyConnected op, when weights are per-row quantized. --float_fallback Enables fallback to floating point (FP) instead of fixed point. This option can be paired with --float_bitwidth to indicate the bitwidth for FP (by default 32). If this option is enabled, --input_list must not be provided and --ignore_encodings must not be provided. The external quantization encodings (encoding file/FakeQuant encodings) might be missing quantization parameters for some interim tensors. First it will try to fill the gaps by propagating across math-invariant functions. If the quantization params are still missing, it applies fallback to nodes to floating point. --use_native_input_files Boolean flag to indicate how to read input files: 1. float (default): reads inputs as floats and quantizes if necessary based on quantization parameters in the model. 2. native: reads inputs assuming the data type to be native to the model. For ex., uint8_t. --use_native_dtype Note: This option is deprecated, use --use_native_input_files option in future. Boolean flag to indicate how to read input files: 1. float (default): reads inputs as floats and quantizes if necessary based on quantization parameters in the model. 2. native: reads inputs assuming the data type to be native to the model. For ex., uint8_t. --use_native_output_files Use this option to indicate the data type of the output files 1. float (default): output the file as floats. 2. native: outputs the file that is native to the model. For ex., uint8_t. --disable_relu_squashing Disables squashing of ReLU against convolution-based ops for quantized models. --restrict_quantization_steps ENCODING_MIN, ENCODING_MAX Specifies the number of steps to use for computing quantization encodings such that scale = (max - min) / number of quantization steps. The option should be passed as a space separated pair of hexadecimal string minimum and maximum values. i.e. --restrict_quantization_steps "MIN MAX". Please note that this is a hexadecimal string literal and not a signed integer, to supply a negative value an explicit minus sign is required. E.g.--restrict_quantization_steps "-0x80 0x7F" indicates an example 8 bit range, --restrict_quantization_steps "-0x8000 0x7F7F" indicates an example 16 bit range. This argument is required for 16-bit Matmul operations. Custom Op Package Options: --op_package_lib OP_PACKAGE_LIB, -opl OP_PACKAGE_LIB Use this argument to pass an op package library for quantization. Must be in the form and be separated by a comma for multiple package libs -p PACKAGE_NAME, --package_name PACKAGE_NAME A global package name to be used for each node in the Model.cpp file. Defaults to Qnn header defined package name --converter_op_package_lib CONVERTER_OP_PACKAGE_LIB, -cpl CONVERTER_OP_PACKAGE_LIB Absolute path to converter op package library compiled by the OpPackage generator. Must be separated by a comma for multiple package libraries. Note: Libraries must follow the same order as the xml files. E.g.1: --converter_op_package_lib absolute_path_to/libExample.so E.g.2: -cpl absolute_path_to/libExample1.so,absolute_path_to/libExample2.so --op_package_config OP_PACKAGE_CONFIG [OP_PACKAGE_CONFIG ...], -opc OP_PACKAGE_CONFIG [OP_PACKAGE_CONFIG ...] Path to a Qnn Op Package XML configuration file that contains user defined custom operations. Architecture Checker Options(Experimental): --arch_checker Note: This option will be soon deprecated. Use the qnn-architecture-checker tool to achieve the same result. Note: Only one of: {'package_name', 'op_package_config'} can be specified Copy to clipboard Basic command line usage looks like: $ qnn-tensorflow-converter -i /frozen_graph.pb -d --out_node -o --allow_unconsumed_nodes # optional, but most likely will be need for larger models -p # Defaults to "qti.aisw" Copy to clipboard ### qnn-tflite-converter The **qnn-tflite-converter** tool converts a TFLite model to a CPP file representing the model as a series of QNN API calls. Additionally, a binary file containing static weights of the model is produced. usage: qnn-tflite-converter [-d INPUT_NAME INPUT_DIM] [--signature_name SIGNATURE_NAME] [--out_node OUT_NAMES] [--input_type INPUT_NAME INPUT_TYPE] [--input_dtype INPUT_NAME INPUT_DTYPE] [--input_encoding ...] [--input_layout INPUT_NAME INPUT_LAYOUT] [--custom_io CUSTOM_IO] [--dump_relay DUMP_RELAY] [--quantization_overrides QUANTIZATION_OVERRIDES] [--keep_quant_nodes] [--disable_batchnorm_folding] [--expand_lstm_op_structure] [--keep_disconnected_nodes] [--input_list INPUT_LIST] [--param_quantizer PARAM_QUANTIZER] [--act_quantizer ACT_QUANTIZER] [--algorithms ALGORITHMS [ALGORITHMS ...]] [--bias_bitwidth BIAS_BITWIDTH] [--bias_bw BIAS_BW] [--act_bitwidth ACT_BITWIDTH] [--act_bw ACT_BW] [--weights_bitwidth WEIGHTS_BITWIDTH] [--weight_bw WEIGHT_BW] [--float_bias_bitwidth FLOAT_BIAS_BITWIDTH] [--ignore_encodings] [--use_per_channel_quantization] [--use_per_row_quantization] [--enable_per_row_quantized_bias] [--float_fallback] [--use_native_input_files] [--use_native_dtype] [--use_native_output_files] [--disable_relu_squashing] [--restrict_quantization_steps ENCODING_MIN, ENCODING_MAX] --input_network INPUT_NETWORK [--debug [DEBUG]] [-o OUTPUT_PATH] [--copyright_file COPYRIGHT_FILE] [--float_bitwidth FLOAT_BITWIDTH] [--float_bw FLOAT_BW] [--float_bias_bw FLOAT_BIAS_BW] [--overwrite_model_prefix] [--exclude_named_tensors] [--op_package_lib OP_PACKAGE_LIB] [--converter_op_package_lib CONVERTER_OP_PACKAGE_LIB] [-p PACKAGE_NAME | --op_package_config CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...]] [-h] [--arch_checker] Script to convert TFLite model into QNN required arguments: --input_network INPUT_NETWORK, -i INPUT_NETWORK Path to the source framework model. optional arguments: -d INPUT_NAME INPUT_DIM, --input_dim INPUT_NAME INPUT_DIM The names and dimensions of the network input layers specified in the format [input_name comma-separated-dimensions], for example: 'data' 1,224,224,3 Note that the quotes should always be included in order to handle special characters, spaces, etc. For multiple inputs specify multiple --input_dim on the command line like: --input_dim 'data1' 1,224,224,3 --input_dim 'data2' 1,50,100,3 --signature_name SIGNATURE_NAME, -sn SIGNATURE_NAME Specifies a specific subgraph signature to convert. --out_node OUT_NAMES, --out_name OUT_NAMES Name of the graph's output Tensor Names. Multiple output names should be provided separately like: --out_name out_1 --out_name out_2 --input_type INPUT_NAME INPUT_TYPE, -t INPUT_NAME INPUT_TYPE Type of data expected by each input op/layer. Type for each input is |default| if not specified. For example: "data" image.Note that the quotes should always be included in order to handle special characters, spaces,etc. For multiple inputs specify multiple --input_type on the command line. Eg: --input_type "data1" image --input_type "data2" opaque These options get used by DSP runtime and following descriptions state how input will be handled for each option. Image: Input is float between 0-255 and the input's mean is 0.0f and the input's max is 255.0f. We will cast the float to uint8ts and pass the uint8ts to the DSP. Default: Pass the input as floats to the dsp directly and the DSP will quantize it. Opaque: Assumes input is float because the consumer layer(i.e next layer) requires it as float, therefore it won't be quantized. Choices supported: image default opaque --input_dtype INPUT_NAME INPUT_DTYPE The names and datatype of the network input layers specified in the format [input_name datatype], for example: 'data' 'float32' Default is float32 if not specified Note that the quotes should always be included in order to handlespecial characters, spaces, etc. For multiple inputs specify multiple --input_dtype on the command line like: --input_dtype 'data1' 'float32' --input_dtype 'data2' 'float32' --input_encoding INPUT_ENCODING [INPUT_ENCODING ...], -e INPUT_ENCODING [INPUT_ENCODING ...] Usage: --input_encoding "INPUT_NAME" INPUT_ENCODING_IN [INPUT_ENCODING_OUT] Input encoding of the network inputs. Default is bgr. e.g. --input_encoding "data" rgba Quotes must wrap the input node name to handle special characters, spaces, etc. To specify encodings for multiple inputs, invoke --input_encoding for each one. e.g. --input_encoding "data1" rgba --input_encoding "data2" other Optionally, an output encoding may be specified for an input node by providing a second encoding. The default output encoding is bgr. e.g. --input_encoding "data3" rgba rgb Input encoding types: image color encodings: bgr,rgb, nv21, nv12, ... time_series: for inputs of rnn models; other: not available above or is unknown. Supported encodings: bgr rgb rgba argb32 nv21 nv12 time_series other --input_layout INPUT_NAME INPUT_LAYOUT, -l INPUT_NAME INPUT_LAYOUT Layout of each input tensor. If not specified, it will use the default based on the Source Framework, shape of input and input encoding. Accepted values are- NCDHW, NDHWC, NCHW, NHWC, NFC, NCF, NTF, TNF, NF, NC, F, NONTRIVIAL N = Batch, C = Channels, D = Depth, H = Height, W = Width, F = Feature, T = Time NDHWC/NCDHW used for 5d inputs NHWC/NCHW used for 4d image-like inputs NFC/NCF used for inputs to Conv1D or other 1D ops NTF/TNF used for inputs with time steps like the ones used for LSTM op NF used for 2D inputs, like the inputs to Dense/FullyConnected layers NC used for 2D inputs with 1 for batch and other for Channels (rarely used) F used for 1D inputs, e.g. Bias tensor NONTRIVIAL for everything elseFor multiple inputs specify multiple --input_layout on the command line. Eg: --input_layout "data1" NCHW --input_layout "data2" NCHW --custom_io CUSTOM_IO Use this option to specify a yaml file for custom IO. --dump_relay DUMP_RELAY Dump Relay ASM and Params at the path provided with the argument Usage: --dump_relay --show_unconsumed_nodes Displays a list of unconsumed nodes, if there any are found. Nodes which are unconsumed do not violate the structural fidelity of the generated graph. --disable_batchnorm_folding --expand_lstm_op_structure Enables optimization that breaks the LSTM op to equivalent math ops --keep_disconnected_nodes Disable Optimization that removes Ops not connected to the main graph. This optimization uses output names provided over commandline OR inputs/outputs extracted from the Source model to determine the main graph -o OUTPUT_PATH, --output_path OUTPUT_PATH Path where the converted Output model should be saved.If not specified, the converter model will be written to a file with same name as the input model --copyright_file COPYRIGHT_FILE Path to copyright file. If provided, the content of the file will be added to the output model. --float_bitwidth FLOAT_BITWIDTH Selects the bitwidth to use when using float for parameters (weights/bias) and activations for all ops or a specific op (via encodings) selected through encoding; 32 (default) or 16. --float_bw FLOAT_BW Deprecated; use --float_bitwidth. --float_bias_bw FLOAT_BIAS_BW Deprecated; use --float_bias_bitwidth. --overwrite_model_prefix If option passed, model generator will use the output path name to use as model prefix to name functions in .cpp. (Useful for running multiple models at once) eg: ModelName_composeGraphs. Default is to use generic "QnnModel_". --exclude_named_tensors Remove using source framework tensorNames; instead use a counter for naming tensors. Note: This can potentially help to reduce the final model library that will be generated(Recommended for deploying model). Default is False. -h, --help show this help message and exit Quantizer Options: --quantization_overrides QUANTIZATION_OVERRIDES Use this option to specify a json file with parameters to use for quantization. These will override any quantization data carried from conversion (eg TF fake quantization) or calculated during the normal quantization process. Format defined as per AIMET specification. --keep_quant_nodes Use this option to keep activation quantization nodes in the graph rather than stripping them. --input_list INPUT_LIST Path to a file specifying the input data. This file should be a plain text file, containing one or more absolute file paths per line. Each path is expected to point to a binary file containing one input in the "raw" format, ready to be consumed by the quantizer without any further preprocessing. Multiple files per line separated by spaces indicate multiple inputs to the network. See documentation for more details. Must be specified for quantization. All subsequent quantization options are ignored when this is not provided. --param_quantizer PARAM_QUANTIZER Optional parameter to indicate the weight/bias quantizer to use. Must be followed by one of the following options: "tf": Uses the real min/max of the data and specified bitwidth (default). "enhanced": Uses an algorithm useful for quantizing models with long tails present in the weight distribution. "adjusted": Deprecated. "symmetric": Ensures min and max have the same absolute values about zero. Data will be stored as int#_t data such that the offset is always 0. --act_quantizer ACT_QUANTIZER Optional parameter to indicate the activation quantizer to use. Must be followed by one of the following options: "tf": Uses the real min/max of the data and specified bitwidth (default). "enhanced": Uses an algorithm useful for quantizing models with long tails present in the weight distribution. "adjusted": Deprecated. "symmetric": Ensures min and max have the same absolute values about zero. Data will be stored as int#_t data such that the offset is always 0. --algorithms ALGORITHMS [ALGORITHMS ...] Use this option to enable new optimization algorithms. Usage is: --algorithms ... The available optimization algorithms are: "cle" - Cross layer equalization includes a number of methods for equalizing weights and biases across layers in order to rectify imbalances that cause quantization errors. --bias_bitwidth BIAS_BITWIDTH Selects the bitwidth to use when quantizing the biases; 8 (default) or 32. --bias_bw BIAS_BW Deprecated; use --bias_bitwidth. --act_bitwidth ACT_BITWIDTH Selects the bitwidth to use when quantizing the activations; 8 (default) or 16. --act_bw ACT_BW Deprecated; use --act_bitwidth. --weights_bitwidth WEIGHTS_BITWIDTH Selects the bitwidth to use when quantizing the weights; 4 or 8 (default). --weight_bw WEIGHT_BW Deprecated; use --weights_bitwidth. --float_bias_bitwidth FLOAT_BIAS_BITWIDTH Selects the bitwidth to use when biases are in float; 32 or 16. --ignore_encodings Use only quantizer generated encodings, ignoring any user or model provided encodings. Note: Cannot use --ignore_encodings with --quantization_overrides --use_per_channel_quantization Enables per-channel quantization for convolution-based op weights. This replaces the built-in model QAT encodings when used for a given weight. --use_per_row_quantization Enables row wise quantization of Matmul and FullyConnected ops. --enable_per_row_quantized_bias Enables row wise quantization of bias for FullyConnected op, when weights are per-row quantized. --float_fallback Enables fallback to floating point (FP) instead of fixed point. This option can be paired with --float_bitwidth to indicate the bitwidth for FP (by default 32). If this option is enabled, --input_list must not be provided and --ignore_encodings must not be provided. The external quantization encodings (encoding file/FakeQuant encodings) might be missing quantization parameters for some interim tensors. First it will try to fill the gaps by propagating across math-invariant functions. If the quantization params are still missing, it applies fallback to nodes to floating point. --use_native_input_files Boolean flag to indicate how to read input files: 1. float (default): reads inputs as floats and quantizes if necessary based on quantization parameters in the model. 2. native: reads inputs assuming the data type to be native to the model. For ex., uint8_t. --use_native_dtype Note: This option is deprecated, use --use_native_input_files option in future. Boolean flag to indicate how to read input files: 1. float (default): reads inputs as floats and quantizes if necessary based on quantization parameters in the model. 2. native: reads inputs assuming the data type to be native to the model. For ex., uint8_t. --use_native_output_files Use this option to indicate the data type of the output files 1. float (default): output the file as floats. 2. native: outputs the file that is native to the model. For ex., uint8_t. --disable_relu_squashing Disables squashing of ReLU against convolution-based ops for quantized models. --restrict_quantization_steps ENCODING_MIN, ENCODING_MAX Specifies the number of steps to use for computing quantization encodings such that scale = (max - min) / number of quantization steps. The option should be passed as a space separated pair of hexadecimal string minimum and maximum values. i.e. --restrict_quantization_steps "MIN MAX". Please note that this is a hexadecimal string literal and not a signed integer, to supply a negative value an explicit minus sign is required. E.g.--restrict_quantization_steps "-0x80 0x7F" indicates an example 8 bit range, --restrict_quantization_steps "-0x8000 0x7F7F" indicates an example 16 bit range. Custom Op Package Options: --op_package_lib OP_PACKAGE_LIB, -opl OP_PACKAGE_LIB Use this argument to pass an op package library for quantization. Must be in the form and be separated by a comma for multiple package libs --converter_op_package_lib CONVERTER_OP_PACKAGE_LIB, -cpl CONVERTER_OP_PACKAGE_LIB Absolute path to converter op package library compiled by the OpPackage generator. Must be separated by a comma for multiple package libraries. Note: Libraries must follow the same order as the xml files. E.g.1: --converter_op_package_lib absolute_path_to/libExample.so E.g.2: -cpl absolute_path_to/libExample1.so,absolute_path_to/libExample2.so -p PACKAGE_NAME, --package_name PACKAGE_NAME A global package name to be used for each node in the Model.cpp file. Defaults to Qnn header defined package name --op_package_config OP_PACKAGE_CONFIG [OP_PACKAGE_CONFIG ...], -opc OP_PACKAGE_CONFIG [OP_PACKAGE_CONFIG ...] Path to a Qnn Op Package XML configuration file that contains user defined custom operations. Architecture Checker Options(Experimental): --arch_checker Note: This option will be soon deprecated. Use the qnn-architecture-checker tool to achieve the same result. Note: Only one of: {'package_name', 'op_package_config'} can be specified Copy to clipboard Basic command line usage looks like: $ qnn-tflite-converter -i /model.tflite -d -o -p # Defaults to "qti.aisw" Copy to clipboard ### qnn-pytorch-converter The **qnn-pytorch-converter** tool converts a PyTorch model to a CPP file representing the model as a series of QNN API calls. Additionally, a binary file containing static weights of the model is produced. usage: qnn-pytorch-converter -d INPUT_NAME INPUT_DIM [--out_node OUT_NAMES] [--input_type INPUT_NAME INPUT_TYPE] [--input_dtype INPUT_NAME INPUT_DTYPE] [--input_encoding ...] [--input_layout INPUT_NAME INPUT_LAYOUT] [--custom_io CUSTOM_IO] [--preserve_io [PRESERVE_IO [PRESERVE_IO ...]]] [--dump_relay DUMP_RELAY] [--dry_run] [--dump_out_names] [--pytorch_custom_op_lib PYTORCH_CUSTOM_OP_LIB] [--quantization_overrides QUANTIZATION_OVERRIDES] [--keep_quant_nodes] [--disable_batchnorm_folding] [--expand_lstm_op_structure] [--keep_disconnected_nodes] [--input_list INPUT_LIST] [--param_quantizer PARAM_QUANTIZER] [--act_quantizer ACT_QUANTIZER] [--algorithms ALGORITHMS [ALGORITHMS ...]] [--bias_bitwidth BIAS_BITWIDTH] [--bias_bw BIAS_BW] [--act_bitwidth ACT_BITWIDTH] [--act_bw ACT_BW] [--weights_bitwidth WEIGHTS_BITWIDTH] [--weight_bw WEIGHT_BW] [--float_bias_bitwidth FLOAT_BIAS_BITWIDTH] [--ignore_encodings] [--use_per_channel_quantization] [--use_per_row_quantization] [--enable_per_row_quantized_bias] [--float_fallback] [--use_native_input_files] [--use_native_dtype] [--use_native_output_files] [--disable_relu_squashing] [--restrict_quantization_steps ENCODING_MIN, ENCODING_MAX] --input_network INPUT_NETWORK [--debug [DEBUG]] [-o OUTPUT_PATH] [--copyright_file COPYRIGHT_FILE] [--float_bitwidth FLOAT_BITWIDTH] [--float_bw FLOAT_BW] [--float_bias_bw FLOAT_BIAS_BW] [--overwrite_model_prefix] [--exclude_named_tensors] [--op_package_lib OP_PACKAGE_LIB] [--converter_op_package_lib CONVERTER_OP_PACKAGE_LIB] [-p PACKAGE_NAME | --op_package_config CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...]] [-h] [--arch_checker] Script to convert PyTorch model into QNN required arguments: -d INPUT_NAME INPUT_DIM, --input_dim INPUT_NAME INPUT_DIM The names and dimensions of the network input layers specified in the format [input_name comma-separated- dimensions], for example: 'data' 1,3,224,224 Note that the quotes should always be included in order to handle special characters, spaces, etc. For multiple inputs specify multiple --input_dim on the command line like: --input_dim 'data1' 1,3,224,224 --input_dim 'data2' 1,50,100,3 --input_network INPUT_NETWORK, -i INPUT_NETWORK Path to the source framework model. optional arguments: --out_node OUT_NAMES, --out_name OUT_NAMES Name of the graph's output Tensor Names. Multiple output names should be provided separately like: --out_name out_1 --out_name out_2 --input_type INPUT_NAME INPUT_TYPE, -t INPUT_NAME INPUT_TYPE Type of data expected by each input op/layer. Type for each input is |default| if not specified. For example: "data" image.Note that the quotes should always be included in order to handle special characters, spaces, etc. For multiple inputs specify multiple --input_type on the command line. Eg: --input_type "data1" image --input_type "data2" opaque These options get used by DSP runtime and following descriptions state how input will be handled for each option. Image: Input is float between 0-255 and the input's mean is 0.0f and the input's max is 255.0f. We will cast the float to uint8ts and pass the uint8ts to the DSP. Default: Pass the input as floats to the dsp directly and the DSP will quantize it. Opaque: Assumes input is float because the consumer layer(i.e next layer) requires it as float, therefore it won't be quantized. Choices supported: image default opaque --input_dtype INPUT_NAME INPUT_DTYPE The names and datatype of the network input layers specified in the format [input_name datatype], for example: 'data' 'float32' Default is float32 if not specified Note that the quotes should always be included in order to handlespecial characters, spaces, etc. For multiple inputs specify multiple --input_dtype on the command line like: --input_dtype 'data1' 'float32' --input_dtype 'data2' 'float32' --input_encoding INPUT_ENCODING [INPUT_ENCODING ...], -e INPUT_ENCODING [INPUT_ENCODING ...] Usage: --input_encoding "INPUT_NAME" INPUT_ENCODING_IN [INPUT_ENCODING_OUT] Input encoding of the network inputs. Default is bgr. e.g. --input_encoding "data" rgba Quotes must wrap the input node name to handle special characters, spaces, etc. To specify encodings for multiple inputs, invoke --input_encoding for each one. e.g. --input_encoding "data1" rgba --input_encoding "data2" other Optionally, an output encoding may be specified for an input node by providing a second encoding. The default output encoding is bgr. e.g. --input_encoding "data3" rgba rgb Input encoding types: image color encodings: bgr,rgb, nv21, nv12, ... time_series: for inputs of rnn models; other: not available above or is unknown. Supported encodings: bgr rgb rgba argb32 nv21 nv12 time_series other --input_layout INPUT_NAME INPUT_LAYOUT, -l INPUT_NAME INPUT_LAYOUT Layout of each input tensor. If not specified, it will use the default based on the Source Framework, shape of input and input encoding. Accepted values are- NCDHW, NDHWC, NCHW, NHWC, NFC, NCF, NTF, TNF, NF, NC, F, NONTRIVIAL N = Batch, C = Channels, D = Depth, H = Height, W = Width, F = Feature, T = Time NDHWC/NCDHW used for 5d inputs NHWC/NCHW used for 4d image-like inputs NFC/NCF used for inputs to Conv1D or other 1D ops NTF/TNF used for inputs with time steps like the ones used for LSTM op NF used for 2D inputs, like the inputs to Dense/FullyConnected layers NC used for 2D inputs with 1 for batch and other for Channels (rarely used) F used for 1D inputs, e.g. Bias tensor NONTRIVIAL for everything elseFor multiple inputs specify multiple --input_layout on the command line. Eg: --input_layout "data1" NCHW --input_layout "data2" NCHW --custom_io CUSTOM_IO Use this option to specify a yaml file for custom IO. --preserve_io [PRESERVE_IO [PRESERVE_IO ...]] Use this option to preserve IO layout and datatype. The different ways of using this option are as follows: --preserve_io layout --preserve_io datatype In this case, user should also specify the string - layout or datatype in the command to indicate that converter needs to preserve the layout or datatype. e.g. --preserve_io layout input1 input2 output1 --preserve_io datatype input1 input2 output1 Optionally, the user may choose to preserve the layout and/or datatype for all the inputs and outputs of the graph. This can be done in the following two ways: --preserve_io layout --preserve_io datatype Additionally, the user may choose to preserve both layout and datatypes for all IO tensors by just passing the option as follows: --preserve_io Note: Only one of the above usages are allowed at a time. Note: --custom_io gets higher precedence than --preserve_io. --dump_relay DUMP_RELAY Dump Relay ASM and Params at the path provided with the argument Usage: --dump_relay --dry_run Evaluates the model without actually converting any ops, and returns unsupported ops if any. --dump_out_names Dump output names mapped from QNN CPP stored names to converter used names and save to file 'model_output_names.json'. --pytorch_custom_op_lib PYTORCH_CUSTOM_OP_LIB, -pcl PYTORCH_CUSTOM_OP_LIB Absolute path to the PyTorch library containing the custom op definition. Multiple custom op libraries must be comma-separated. For PyTorch custom op details, refer to: https://pytorch.org/tutorials/advanced/torch_script_custom_ops.html For custom C++ extension details, refer to: https://pytorch.org/tutorials/advanced/cpp_extension.html Eg. 1: --pytorch_custom_op_lib absolute_path_to/Example.so Eg. 2: -pcl absolute_path_to/Example1.so,absolute_path_to/Example2.so --disable_batchnorm_folding --expand_lstm_op_structure Enables optimization that breaks the LSTM op to equivalent math ops --keep_disconnected_nodes Disable Optimization that removes Ops not connected to the main graph. This optimization uses output names provided over commandline OR inputs/outputs extracted from the Source model to determine the main graph --debug [DEBUG] Run the converter in debug mode. -o OUTPUT_PATH, --output_path OUTPUT_PATH Path where the converted Output model should be saved.If not specified, the converter model will be written to a file with same name as the input model --copyright_file COPYRIGHT_FILE Path to copyright file. If provided, the content of the file will be added to the output model. --float_bitwidth FLOAT_BITWIDTH Selects the bitwidth to use when using float for parameters (weights/bias) and activations for all ops or a specific op (via encodings) selected through encoding; 32 (default) or 16. --float_bw FLOAT_BW Deprecated; use --float_bitwidth. --float_bias_bw FLOAT_BIAS_BW Deprecated; use --float_bias_bitwidth. --overwrite_model_prefix If option passed, model generator will use the output path name to use as model prefix to name functions in .cpp. (Useful for running multiple models at once) eg: ModelName_composeGraphs. Default is to use generic "QnnModel_". --exclude_named_tensors Remove using source framework tensorNames; instead use a counter for naming tensors. Note: This can potentially help to reduce the final model library that will be generated(Recommended for deploying model). Default is False. -h, --help show this help message and exit Quantizer Options: --quantization_overrides QUANTIZATION_OVERRIDES Use this option to specify a json file with parameters to use for quantization. These will override any quantization data carried from conversion (eg TF fake quantization) or calculated during the normal quantization process. Format defined as per AIMET specification. --keep_quant_nodes Use this option to keep activation quantization nodes in the graph rather than stripping them. --input_list INPUT_LIST Path to a file specifying the input data. This file should be a plain text file, containing one or more absolute file paths per line. Each path is expected to point to a binary file containing one input in the "raw" format, ready to be consumed by the quantizer without any further preprocessing. Multiple files per line separated by spaces indicate multiple inputs to the network. See documentation for more details. Must be specified for quantization. All subsequent quantization options are ignored when this is not provided. --param_quantizer PARAM_QUANTIZER Optional parameter to indicate the weight/bias quantizer to use. Must be followed by one of the following options: "tf": Uses the real min/max of the data and specified bitwidth (default). "enhanced": Uses an algorithm useful for quantizing models with long tails present in the weight distribution. "adjusted": Deprecated. "symmetric": Ensures min and max have the same absolute values about zero. Data will be stored as int#_t data such that the offset is always 0. --act_quantizer ACT_QUANTIZER Optional parameter to indicate the activation quantizer to use. Must be followed by one of the following options: "tf": Uses the real min/max of the data and specified bitwidth (default). "enhanced": Uses an algorithm useful for quantizing models with long tails present in the weight distribution. "adjusted": Deprecated. "symmetric": Ensures min and max have the same absolute values about zero. Data will be stored as int#_t data such that the offset is always 0. --algorithms ALGORITHMS [ALGORITHMS ...] Use this option to enable new optimization algorithms. Usage is: --algorithms ... The available optimization algorithms are: "cle" - Cross layer equalization includes a number of methods for equalizing weights and biases across layers in order to rectify imbalances that cause quantization errors. --bias_bitwidth BIAS_BITWIDTH Selects the bitwidth to use when quantizing the biases; 8 (default) or 32. --bias_bw BIAS_BW Deprecated; use --bias_bitwidth. --act_bitwidth ACT_BITWIDTH Selects the bitwidth to use when quantizing the activations; 8 (default) or 16. --act_bw ACT_BW Deprecated; use --act_bitwidth. --weights_bitwidth WEIGHTS_BITWIDTH Selects the bitwidth to use when quantizing the weights; 4 or 8 (default). --weight_bw WEIGHT_BW Deprecated; use --weights_bitwidth. --float_bias_bitwidth FLOAT_BIAS_BITWIDTH Selects the bitwidth to use when biases are in float; 32 or 16. --ignore_encodings Use only quantizer generated encodings, ignoring any user or model provided encodings. Note: Cannot use --ignore_encodings with --quantization_overrides --use_per_channel_quantization Enables per-channel quantization for convolution-based op weights. This replaces the built-in model QAT encodings when used for a given weight. --use_per_row_quantization Enables row wise quantization of Matmul and FullyConnected ops. --enable_per_row_quantized_bias Enables row wise quantization of bias for FullyConnected op, when weights are per-row quantized. --float_fallback Enables fallback to floating point (FP) instead of fixed point. This option can be paired with --float_bitwidth to indicate the bitwidth for FP (by default 32). If this option is enabled, --input_list must not be provided and --ignore_encodings must not be provided. The external quantization encodings (encoding file/FakeQuant encodings) might be missing quantization parameters for some interim tensors. First it will try to fill the gaps by propagating across math-invariant functions. If the quantization params are still missing, it applies fallback to nodes to floating point. --use_native_input_files Boolean flag to indicate how to read input files: 1. float (default): reads inputs as floats and quantizes if necessary based on quantization parameters in the model. 2. native: reads inputs assuming the data type to be native to the model. For ex., uint8_t. --use_native_dtype Note: This option is deprecated, use --use_native_input_files option in future. Boolean flag to indicate how to read input files: 1. float (default): reads inputs as floats and quantizes if necessary based on quantization parameters in the model. 2. native: reads inputs assuming the data type to be native to the model. For ex., uint8_t. --use_native_output_files Use this option to indicate the data type of the output files 1. float (default): output the file as floats. 2. native: outputs the file that is native to the model. For ex., uint8_t. --disable_relu_squashing Disables squashing of ReLU against convolution-based ops for quantized models. --restrict_quantization_steps ENCODING_MIN, ENCODING_MAX Specifies the number of steps to use for computing quantization encodings such that scale = (max - min) / number of quantization steps. The option should be passed as a space separated pair of hexadecimal string minimum and maximum values. i.e. --restrict_quantization_steps "MIN MAX". Please note that this is a hexadecimal string literal and not a signed integer, to supply a negative value an explicit minus sign is required. E.g.--restrict_quantization_steps "-0x80 0x7F" indicates an example 8 bit range, --restrict_quantization_steps "-0x8000 0x7F7F" indicates an example 16 bit range. Custom Op Package Options: --op_package_lib OP_PACKAGE_LIB, -opl OP_PACKAGE_LIB Use this argument to pass an op package library for quantization. Must be in the form and be separated by a comma for multiple package libs --converter_op_package_lib CONVERTER_OP_PACKAGE_LIB, -cpl CONVERTER_OP_PACKAGE_LIB Absolute path to converter op package library compiled by the OpPackage generator. Must be separated by a comma for multiple package libraries. Note: Libraries must follow the same order as the xml files. E.g.1: --converter_op_package_lib absolute_path_to/libExample.so E.g.2: -cpl absolute_path_to/libExample1.so,absolute_path_to/libExample2.so -p PACKAGE_NAME, --package_name PACKAGE_NAME A global package name to be used for each node in the Model.cpp file. Defaults to Qnn header defined package name --op_package_config CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...], -opc CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...] Path to a Qnn Op Package XML configuration file that contains user defined custom operations. Architecture Checker Options(Experimental): --arch_checker Note: This option will be soon deprecated. Use the qnn-architecture-checker tool to achieve the same result. Copy to clipboard Note: Only one of: {‘package\_name’, ‘op\_package\_config’} can be specified Basic command line usage looks like: $ qnn-pytorch-converter -i /model.pt -d -o -p # Defaults to "qti.aisw" Copy to clipboard ### qnn-onnx-converter The **qnn-onnx-converter** tool converts a model from the ONNX framework to a CPP file representing the model as a series of QNN API calls. Additionally, a binary file containing static weights of the model is produced. usage: qnn-onnx-converter [--out_node OUT_NAMES] [--input_type INPUT_NAME INPUT_TYPE] [--input_dtype INPUT_NAME INPUT_DTYPE] [--input_encoding [ ...]] [--input_layout INPUT_NAME INPUT_LAYOUT] [--custom_io CUSTOM_IO] [--preserve_io [PRESERVE_IO ...]] [--dump_qairt_io_config_yaml [DUMP_QAIRT_IO_CONFIG_YAML]] [--enable_framework_trace] [--dry_run [DRY_RUN]] [-d INPUT_NAME INPUT_DIM] [-n] [-b BATCH] [-s SYMBOL_NAME VALUE] [--dump_custom_io_config_template DUMP_CUSTOM_IO_CONFIG_TEMPLATE] [--quantization_overrides QUANTIZATION_OVERRIDES] [--keep_quant_nodes] [--disable_batchnorm_folding] [--expand_lstm_op_structure] [--keep_disconnected_nodes] [--preserve_onnx_output_order] [--apply_masked_softmax {compressed,uncompressed}] [--packed_masked_softmax_inputs PACKED_MASKED_SOFTMAX_INPUTS [PACKED_MASKED_SOFTMAX_INPUTS ...]] [--packed_max_seq PACKED_MAX_SEQ] [--input_list INPUT_LIST] [--param_quantizer PARAM_QUANTIZER] [--act_quantizer ACT_QUANTIZER] [--algorithms ALGORITHMS [ALGORITHMS ...]] [--bias_bitwidth BIAS_BITWIDTH] [--bias_bw BIAS_BITWIDTH] [--act_bitwidth ACT_BITWIDTH] [--act_bw ACT_BITWIDTH] [--weights_bitwidth WEIGHTS_BITWIDTH] [--weight_bw WEIGHTS_BITWIDTH] [--ignore_encodings] [--use_per_channel_quantization] [--use_per_row_quantization] [--enable_per_row_quantized_bias] [--float_fallback] [--use_native_input_files] [--use_native_dtype] [--use_native_output_files] [--disable_relu_squashing] [--restrict_quantization_steps ENCODING_MIN, ENCODING_MAX] [--pack_4_bit_weights] [--keep_weights_quantized] [--act_quantizer_calibration ACT_QUANTIZER_CALIBRATION] [--param_quantizer_calibration PARAM_QUANTIZER_CALIBRATION] [--act_quantizer_schema ACT_QUANTIZER_SCHEMA] [--param_quantizer_schema PARAM_QUANTIZER_SCHEMA] [--percentile_calibration_value PERCENTILE_CALIBRATION_VALUE] [--dump_qairt_quantizer_command DUMP_QAIRT_QUANTIZER_COMMAND] [--quantizer_log QUANTIZER_LOG] [--quantizer_log_level {LogLevel.NONE,LogLevel.TRACE,LogLevel.INFO}] --input_network INPUT_NETWORK [--debug [DEBUG]] [-o OUTPUT_PATH] [--copyright_file COPYRIGHT_FILE] [--float_bitwidth FLOAT_BITWIDTH] [--float_bw FLOAT_BW] [--float_bias_bitwidth FLOAT_BIAS_BITWIDTH] [--float_bias_bw FLOAT_BIAS_BW] [--overwrite_model_prefix] [--exclude_named_tensors] [--model_version MODEL_VERSION] [--op_package_lib OP_PACKAGE_LIB] [--converter_op_package_lib CONVERTER_OP_PACKAGE_LIB] [-p PACKAGE_NAME | --op_package_config CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...]] [--arch_checker] [-h] [--validate_models] Script to convert ONNX model into QNN required arguments: --input_network INPUT_NETWORK, -i INPUT_NETWORK Path to the source framework model. optional arguments: --out_node OUT_NAMES, --out_name OUT_NAMES Name of the graph's output Tensor Names. Multiple output names should be provided separately like: --out_name out_1 --out_name out_2 --input_type INPUT_NAME INPUT_TYPE, -t INPUT_NAME INPUT_TYPE Type of data expected by each input op/layer. Type for each input is |default| if not specified. For example: "data" image.Note that the quotes should always be included in order to handle special characters, spaces,etc. For multiple inputs specify multiple --input_type on the command line. Eg: --input_type "data1" image --input_type "data2" opaque These options get used by DSP runtime and following descriptions state how input will be handled for each option. Image: Input is float between 0-255 and the input's mean is 0.0f and the input's max is 255.0f. We will cast the float to uint8ts and pass the uint8ts to the DSP. Default: Pass the input as floats to the dsp directly and the DSP will quantize it. Opaque: Assumes input is float because the consumer layer(i.e next layer) requires it as float, therefore it won't be quantized. Choices supported: image default opaque --input_dtype INPUT_NAME INPUT_DTYPE The names and datatype of the network input layers specified in the format [input_name datatype], for example: 'data' 'float32' Default is float32 if not specified Note that the quotes should always be included in order to handlespecial characters, spaces, etc. For multiple inputs specify multiple --input_dtype on the command line like: --input_dtype 'data1' 'float32' --input_dtype 'data2' 'float32' --input_encoding INPUT_ENCODING [INPUT_ENCODING ...], -e INPUT_ENCODING [INPUT_ENCODING ...] Usage: --input_encoding "INPUT_NAME" INPUT_ENCODING_IN [INPUT_ENCODING_OUT] Input encoding of the network inputs. Default is bgr. e.g. --input_encoding "data" rgba Quotes must wrap the input node name to handle special characters, spaces, etc. To specify encodings for multiple inputs, invoke --input_encoding for each one. e.g. --input_encoding "data1" rgba --input_encoding "data2" other Optionally, an output encoding may be specified for an input node by providing a second encoding. The default output encoding is bgr. e.g. --input_encoding "data3" rgba rgb Input encoding types: image color encodings: bgr,rgb, nv21, nv12, ... time_series: for inputs of rnn models; other: not available above or is unknown. Supported encodings: bgr rgb rgba argb32 nv21 nv12 time_series other --input_layout INPUT_NAME INPUT_LAYOUT, -l INPUT_NAME INPUT_LAYOUT Layout of each input tensor. If not specified, it will use the default based on the Source Framework, shape of input and input encoding. Accepted values are- NCDHW, NDHWC, NCHW, NHWC, HWIO, OIHW, NFC, NCF, NTF, TNF, NF, NC, F, NONTRIVIAL N = Batch, C = Channels, D = Depth, H = Height, W = Width, F = Feature, T = Time NDHWC/NCDHW used for 5d inputs NHWC/NCHW used for 4d image-like inputs NFC/NCF used for inputs to Conv1D or other 1D ops NTF/TNF used for inputs with time steps like the ones used for LSTM op NF used for 2D inputs, like the inputs to Dense/FullyConnected layers NC used for 2D inputs with 1 for batch and other for Channels (rarely used) F used for 1D inputs, e.g. Bias tensor NONTRIVIAL for everything elseFor multiple inputs specify multiple --input_layout on the command line. Eg: --input_layout "data1" NCHW --input_layout "data2" NCHW --custom_io CUSTOM_IO Use this option to specify a yaml file for custom IO. --preserve_io [PRESERVE_IO ...] Use this option to preserve IO layout and datatype. The different ways of using this option are as follows: --preserve_io layout --preserve_io datatype In this case, user should also specify the string - layout or datatype in the command to indicate that converter needs to preserve the layout or datatype. e.g. --preserve_io layout input1 input2 output1 --preserve_io datatype input1 input2 output1 Optionally, the user may choose to preserve the layout and/or datatype for all the inputs and outputs of the graph. This can be done in the following two ways: --preserve_io layout --preserve_io datatype Additionally, the user may choose to preserve both layout and datatypes for all IO tensors by just passing the option as follows: --preserve_io Note: Only one of the above usages are allowed at a time. Note: --custom_io gets higher precedence than --preserve_io. --dump_qairt_io_config_yaml [DUMP_QAIRT_IO_CONFIG_YAML] Use this option to dump a yaml file which contains the equivalent I/O configurations of QAIRT Converter along with the QAIRT Converter Command and can be passed to QAIRT Converter using the option --io_config. --enable_framework_trace Use this option to enable converter to trace the op/tensor change information. Currently framework op trace is supported only for ONNX converter. --dry_run [DRY_RUN] Evaluates the model without actually converting any ops, and returns unsupported ops/attributes as well as unused inputs and/or outputs if any. Leave empty or specify "info" to see dry run as a table, or specify "debug" to show more detailed messages only" -d INPUT_NAME INPUT_DIM, --input_dim INPUT_NAME INPUT_DIM The name and dimension of all the input buffers to the network specified in the format [input_name comma-separated-dimensions], for example: 'data' 1,224,224,3. Note that the quotes should always be included in order to handle special characters, spaces, etc. For scalar inputs, use a single dimension `0` to indicate that the input is a scalar value. For multiple inputs specify multiple --input_dim on the command line like: --input_dim 'data1' 1,224,224,3 --input_dim 'data2' 0 NOTE: This feature works only with Onnx 1.6.0 and above -n, --no_simplification Do not attempt to simplify the model automatically. This may prevent some models from properly converting when sequences of unsupported static operations are present. -b BATCH, --batch BATCH The batch dimension override. This will take the first dimension of all inputs and treat it as a batch dim, overriding it with the value provided here. For example: --batch 6 will result in a shape change from [1,3,224,224] to [6,3,224,224]. If there are inputs without batch dim this should not be used and each input should be overridden independently using -d option for input dimension overrides. -s SYMBOL_NAME VALUE, --define_symbol SYMBOL_NAME VALUE This option allows overriding specific input dimension symbols. For instance you might see input shapes specified with variables such as : data: [1,3,height,width] To override these simply pass the option as: --define_symbol height 224 --define_symbol width 448 which results in dimensions that look like: data: [1,3,224,448] --dump_custom_io_config_template DUMP_CUSTOM_IO_CONFIG_TEMPLATE Dumps the yaml template for Custom I/O configuration. This file canbe edited as per the custom requirements and passed using the option --custom_ioUse this option to specify a yaml file to which the custom IO config template is dumped. --disable_batchnorm_folding --expand_lstm_op_structure Enables optimization that breaks the LSTM op to equivalent math ops --keep_disconnected_nodes Disable Optimization that removes Ops not connected to the main graph. This optimization uses output names provided over commandline OR inputs/outputs extracted from the Source model to determine the main graph --preserve_onnx_output_order Preserve the ONNX output order in the converted graph. Note: This may slightly impact performance. --debug [DEBUG] Run the converter in debug mode. -o OUTPUT_PATH, --output_path OUTPUT_PATH Path where the converted Output model should be saved.If not specified, the converter model will be written to a file with same name as the input model --copyright_file COPYRIGHT_FILE Path to copyright file. If provided, the content of the file will be added to the output model. --float_bitwidth FLOAT_BITWIDTH Use the --float_bitwidth option to convert the graph to the specified float bitwidth, either 32 (default), 16 or bf16. --float_bw FLOAT_BW Note: --float_bw is deprecated, use --float_bitwidth. --float_bias_bitwidth FLOAT_BIAS_BITWIDTH Use the --float_bias_bitwidth option to select the bitwidth to use for float bias tensor --float_bias_bw FLOAT_BIAS_BW Note: --float_bias_bw is deprecated, use --float_bias_bitwidth. --overwrite_model_prefix If option passed, model generator will use the output path name to use as model prefix to name functions in .cpp. (Useful for running multiple models at once) eg: ModelName_composeGraphs. Default is to use generic "QnnModel_". --exclude_named_tensors Remove using source framework tensorNames; instead use a counter for naming tensors. Note: This can potentially help to reduce the final model library that will be generated(Recommended for deploying model). Default is False. --model_version MODEL_VERSION User-defined ASCII string to identify the model, only first 64 bytes will be stored -h, --help show this help message and exit --validate_models Validate the original onnx model against optimized onnx model. Constant inputs with all value 1s will be generated and will be used by both models and their outputs are checked against each other. The {'option_strings': ['--validate_models'], 'dest': 'validate_models', 'nargs': 0, 'const': True, 'default': False, 'type': None, 'choices': None, 'required': False, 'help': 'Validate the original onnx model against optimized onnx model.\nConstant inputs with all value 1s will be generated and will be used \nby both models and their outputs are checked against each other.\nThe % average error and 90th percentile of output differences will be calculated for this.\nNote: Usage of this flag will incur extra time due to inference of the models.', 'metavar': None, 'container': , 'prog': 'qnn-onnx- converter'}verage error and 90th percentile of output differences will be calculated for this. Note: Usage of this flag will incur extra time due to inference of the models. Custom Op Package Options: --op_package_lib OP_PACKAGE_LIB, -opl OP_PACKAGE_LIB Use this argument to pass an op package library for quantization. Must be in the form and be separated by a comma for multiple package libs --converter_op_package_lib CONVERTER_OP_PACKAGE_LIB, -cpl CONVERTER_OP_PACKAGE_LIB Absolute path to converter op package library compiled by the OpPackage generator. Must be separated by a comma for multiple package libraries. Note: Order of converter op package libraries must follow the order of xmls. Ex1: --converter_op_package_lib absolute_path_to/libExample.so Ex2: -cpl absolute_path_to/libExample1.so,absolute_path_to/libExample2.so -p PACKAGE_NAME, --package_name PACKAGE_NAME A global package name to be used for each node in the Model.cpp file. Defaults to Qnn header defined package name --op_package_config CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...], -opc CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...] Path to a Qnn Op Package XML configuration file that contains user defined custom operations. Quantizer Options: --quantization_overrides QUANTIZATION_OVERRIDES Use this option to specify a json file with parameters to use for quantization. These will override any quantization data carried from conversion (eg TF fake quantization) or calculated during the normal quantization process. Format defined as per AIMET specification. --keep_quant_nodes Use this option to keep activation quantization nodes in the graph rather than stripping them. --input_list INPUT_LIST Path to a file specifying the input data. This file should be a plain text file, containing one or more absolute file paths per line. Each path is expected to point to a binary file containing one input in the "raw" format, ready to be consumed by the quantizer without any further preprocessing. Multiple files per line separated by spaces indicate multiple inputs to the network. See documentation for more details. Must be specified for quantization. All subsequent quantization options are ignored when this is not provided. --param_quantizer PARAM_QUANTIZER Optional parameter to indicate the weight/bias quantizer to use. Must be followed by one of the following options: "tf": Uses the real min/max of the data and specified bitwidth (default). "enhanced": Uses an algorithm useful for quantizing models with long tails present in the weight distribution. "adjusted": Note: "adjusted" mode is deprecated. "symmetric": Ensures min and max have the same absolute values about zero. Data will be stored as int#_t data such that the offset is always 0.Note: Legacy option --param_quantizer will be deprecated, use --param_quantizer_calibration instead --act_quantizer ACT_QUANTIZER Optional parameter to indicate the activation quantizer to use. Must be followed by one of the following options: "tf": Uses the real min/max of the data and specified bitwidth (default). "enhanced": Uses an algorithm useful for quantizing models with long tails present in the weight distribution. "adjusted": Note: "adjusted" mode is deprecated. "symmetric": Ensures min and max have the same absolute values about zero. Data will be stored as int#_t data such that the offset is always 0.Note: Legacy option --act_quantizer will be deprecated, use --act_quantizer_calibration instead --algorithms ALGORITHMS [ALGORITHMS ...] Use this option to enable new optimization algorithms. Usage is: --algorithms ... The available optimization algorithms are: "cle" - Cross layer equalization includes a number of methods for equalizing weights and biases across layers in order to rectify imbalances that cause quantization errors. --bias_bitwidth BIAS_BITWIDTH Use the --bias_bitwidth option to select the bitwidth to use when quantizing the biases, either 8 (default) or 32. --bias_bw BIAS_BITWIDTH Note: --bias_bw is deprecated, use --bias_bitwidth. --act_bitwidth ACT_BITWIDTH Use the --act_bitwidth option to select the bitwidth to use when quantizing the activations, either 8 (default) or 16. --act_bw ACT_BITWIDTH Note: --act_bw is deprecated, use --act_bitwidth. --weights_bitwidth WEIGHTS_BITWIDTH Use the --weights_bitwidth option to select the bitwidth to use when quantizing the weights, either 4 or 8 (default). --weight_bw WEIGHTS_BITWIDTH Note: --weight_bw is deprecated, use --weights_bitwidth. --ignore_encodings Use only quantizer generated encodings, ignoring any user or model provided encodings. Note: Cannot use --ignore_encodings with --quantization_overrides --use_per_channel_quantization Use this option to enable per-channel quantization for convolution-based op weights. Note: This will replace built-in model QAT encodings when used for a given weight. --use_per_row_quantization Use this option to enable rowwise quantization of Matmul and FullyConnected ops. --enable_per_row_quantized_bias Use this option to enable rowwise quantization of bias for FullyConnected op, when weights are per-row quantized. --float_fallback Use this option to enable fallback to floating point (FP) instead of fixed point. This option can be paired with --float_bitwidth to indicate the bitwidth for FP (by default 32). If this option is enabled, then input list must not be provided and --ignore_encodings must not be provided. The external quantization encodings (encoding file/FakeQuant encodings) might be missing quantization parameters for some interim tensors. First it will try to fill the gaps by propagating across math-invariant functions. If the quantization params are still missing, then it will apply fallback to nodes to floating point. --use_native_input_files Boolean flag to indicate how to read input files: 1. float (default): reads inputs as floats and quantizes if necessary based on quantization parameters in the model. 2. native: reads inputs assuming the data type to be native to the model. For ex., uint8_t. --use_native_dtype Note: This option is deprecated, use --use_native_input_files option in future. Boolean flag to indicate how to read input files: 1. float (default): reads inputs as floats and quantizes if necessary based on quantization parameters in the model. 2. native: reads inputs assuming the data type to be native to the model. For ex., uint8_t. --use_native_output_files Use this option to indicate the data type of the output files 1. float (default): output the file as floats. 2. native: outputs the file that is native to the model. For ex., uint8_t. --disable_relu_squashing Disables squashing of Relu against Convolution based ops for quantized models --restrict_quantization_steps ENCODING_MIN, ENCODING_MAX Specifies the number of steps to use for computing quantization encodings such that scale = (max - min) / number of quantization steps. The option should be passed as a space separated pair of hexadecimal string minimum and maximum valuesi.e. --restrict_quantization_steps "MIN MAX". Please note that this is a hexadecimal string literal and not a signed integer, to supply a negative value an explicit minus sign is required. E.g.--restrict_quantization_steps "-0x80 0x7F" indicates an example 8 bit range, --restrict_quantization_steps "-0x8000 0x7F7F" indicates an example 16 bit range. This argument is required for 16-bit Matmul operations. --pack_4_bit_weights Store 4-bit quantized weights in packed format in a single byte i.e. two 4-bit quantized tensors can be stored in one byte --keep_weights_quantized Use this option to keep the weights quantized even when the output of the op is in floating point. Bias will be converted to floating point as per the output of the op. Required to enable wFxp_actFP configurations according to the provided bitwidth for weights and activations Note: These modes are not supported by all runtimes. Please check corresponding Backend OpDef supplement if these are supported --act_quantizer_calibration ACT_QUANTIZER_CALIBRATION Specify which quantization calibration method to use for activations supported values: min-max (default), sqnr, entropy, mse, percentile This option can be paired with --act_quantizer_schema to override the quantization schema to use for activations otherwise default schema(asymmetric) will be used --param_quantizer_calibration PARAM_QUANTIZER_CALIBRATION Specify which quantization calibration method to use for parameters supported values: min-max (default), sqnr, entropy, mse, percentile This option can be paired with --param_quantizer_schema to override the quantization schema to use for parameters otherwise default schema(asymmetric) will be used --act_quantizer_schema ACT_QUANTIZER_SCHEMA Specify which quantization schema to use for activations supported values: asymmetric (default), symmetric, unsignedsymmetric This option cannot be used with legacy quantizer option --act_quantizer --param_quantizer_schema PARAM_QUANTIZER_SCHEMA Specify which quantization schema to use for parameters supported values: asymmetric (default), symmetric, unsignedsymmetric This option cannot be used with legacy quantizer option --param_quantizer --percentile_calibration_value PERCENTILE_CALIBRATION_VALUE Specify the percentile value to be used with Percentile calibration method The specified float value must lie within 90 and 100, default: 99.99 --dump_qairt_quantizer_command DUMP_QAIRT_QUANTIZER_COMMAND Use this option to dump a file which contains the equivalent Commandline input for QAIRT Quantizer --quantizer_log QUANTIZER_LOG Enable logging in quantizer v2, logging to the file . E.g., --quantizer_log my_model_name.csv will produce the file my_model_name.csv. See --quantizer_log_level. --quantizer_log_level {LogLevel.NONE,LogLevel.TRACE,LogLevel.INFO} Sets the logging level in quantizer v2. INFO: Emits a file in the CSV format. Requires --quantizer_log to be set. Warnings and errors are emitted to the console. TRACE: Emits a file in the TXT format. Requires --quantizer_log to be set. Warnings and errors are emitted to the console. NONE: Default value. No file is emitted. Warnings and errors are emitted to the console. Masked Softmax Optimization Options: --apply_masked_softmax {compressed,uncompressed} This flag enables the pass that creates a MaskedSoftmax Op and rewrites the graph to include this Op. MaskedSoftmax Op may not be supported by all the QNN backends. Please check the supplemental backend XML for the targeted backend. This argument takes a string parameter input that selects the mode of MaskedSoftmax Op. 'compressed' value rewrites the graph with the compressed version of MaskedSoftmax Op. 'uncompressed' value rewrites the graph with the uncompressed version of MaskedSoftmax Op. --packed_masked_softmax_inputs PACKED_MASKED_SOFTMAX_INPUTS [PACKED_MASKED_SOFTMAX_INPUTS ...] Mention the input ids tensor name which will be packed in the single inference. This is applicable only for Compressed MaskedSoftmax Op. This will create a new input to the graph named 'position_ids' with same shape as the provided input name in this flag. During runtime, this input shall be provided with the token locations for individual sequences so that the same will be internally passed to positional embedding layer. E.g. If 2 sequences of length 20 and 30 are packed together in single batch of 64 tokens then this new input 'position_ids' should have value [0, 1, ..., 19, 0, 1, ..., 29, 0, 0, 0, ..., 0] Usage: --packed_masked_softmax input_ids Packed model will enable the user to pack multiple sequences into single batch of inference. --packed_max_seq PACKED_MAX_SEQ Number of sequences packed in the single input ids and single attention mask inputs. Applicable only for Compressed MaskedSoftmax Op. Architecture Checker Options(Experimental): --arch_checker Pass this option to enable architecture checker tool. This is an experimental option for models that are intended to run on HTP backend. Note: Only one of: {'op_package_config', 'package_name'} can be specified Note: Only one of: {'op_package_config', 'package_name'} can be specified Copy to clipboard ### qairt-converter The **qairt-converter** tool converts a model from the one of Onnx/TensorFlow/TFLite/PyTorch framework to a DLC file representing the QNN graph format that can enable inference on Qualcomm AI IP/HW. The converter auto detects the framework based on the source model extension. Basic command line usage looks like: usage: qairt-converter [--source_model_input_shape INPUT_NAME INPUT_DIM] [--out_tensor_node OUT_NAMES] [--source_model_input_datatype INPUT_NAME INPUT_DTYPE] [--source_model_input_layout INPUT_NAME INPUT_LAYOUT] [--desired_input_layout INPUT_NAME DESIRED_INPUT_LAYOUT] [--source_model_output_layout OUTPUT_NAME OUTPUT_LAYOUT] [--desired_output_layout OUTPUT_NAME DESIRED_OUTPUT_LAYOUT] [--desired_input_color_encoding [ ...]] [--preserve_io_datatype [PRESERVE_IO_DATATYPE ...]] [--dump_config_template DUMP_IO_CONFIG_TEMPLATE] [--config IO_CONFIG] [--dry_run [DRY_RUN]] [--enable_framework_trace] [--remove_unused_inputs] [--quantizer_log QUANTIZER_LOG] [--quantizer_log_level {LogLevel.NONE,LogLevel.TRACE,LogLevel.INFO}] [--quantization_overrides QUANTIZATION_OVERRIDES] [--lora_weight_list LORA_WEIGHT_LIST] [--quant_updatable_mode {none,adapter_only,all}] [--onnx_skip_simplification] [--onnx_override_batch BATCH] [--onnx_define_symbol SYMBOL_NAME VALUE] [--onnx_validate_models] [--onnx_summary] [--onnx_perform_sequence_construct_optimizer] [--tf_summary] [--tf_override_batch BATCH] [--tf_disable_optimization] [--tf_show_unconsumed_nodes] [--tf_saved_model_tag SAVED_MODEL_TAG] [--tf_saved_model_signature_key SAVED_MODEL_SIGNATURE_KEY] [--tf_validate_models] [--tflite_signature_name SIGNATURE_NAME] [--dump_exported_onnx] --input_network INPUT_NETWORK [--debug [DEBUG]] [--output_path OUTPUT_PATH] [--copyright_file COPYRIGHT_FILE] [--float_bitwidth FLOAT_BITWIDTH] [--float_bias_bitwidth FLOAT_BIAS_BITWIDTH] [--set_model_version MODEL_VERSION] [--export_format EXPORT_FORMAT] [--converter_op_package_lib CONVERTER_OP_PACKAGE_LIB] [--package_name PACKAGE_NAME | --op_package_config CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...]] [--target_backend BACKEND] [--target_soc_model SOC_MODEL] [-h] required arguments: --input_network INPUT_NETWORK, -i INPUT_NETWORK Path to the source framework model. optional arguments: --source_model_input_shape INPUT_NAME INPUT_DIM, -s INPUT_NAME INPUT_DIM The name and dimension of all the input buffers to the network specified in the format [input_name comma-separated-dimensions], for example: --source_model_input_shape 'data' 1,224,224,3. Note that the quotes should always be included in order to handle special characters, spaces, etc. For scalar inputs, use a single dimension `0` to indicate that the input is a scalar value. This representation is supported for ONNX models only. For multiple inputs specify multiple --source_model_input_shape on the commandline like: --source_model_input_shape 'data1' 1,224,224,3 --source_model_input_shape 'data2' 0 NOTE: Required for TensorFlow and PyTorch. Optional for Onnx and Tflite In case of Onnx, this feature works only with Onnx 1.6.0 and above --out_tensor_node OUT_NAMES, --out_tensor_name OUT_NAMES Name of the graph's output Tensor Names. Multiple output names should be provided separately like: --out_tensor_name out_1 --out_tensor_name out_2 NOTE: Required for TensorFlow. Optional for Onnx, Tflite and PyTorch --source_model_input_datatype INPUT_NAME INPUT_DTYPE The names and datatype of the network input layers specified in the format [input_name datatype], for example: 'data' 'float32' Default is float32 if not specified Note that the quotes should always be included in order to handlespecial characters, spaces, etc. For multiple inputs specify multiple --source_model_input_datatype on the command line like: --source_model_input_datatype 'data1' 'float32' --source_model_input_datatype 'data2' 'float32' --source_model_input_layout INPUT_NAME INPUT_LAYOUT Layout of each input tensor. If not specified, it will use the default based on the Source Framework, shape of input and input encoding. Accepted values are- NCDHW, NDHWC, NCHW, NHWC, HWIO, OIHW, NFC, NCF, NTF, TNF, NF, NC, F N = Batch, C = Channels, D = Depth, H = Height, W = Width, F = Feature, T = Time, I = Input, O = Output NDHWC/NCDHW used for 5d inputs NHWC/NCHW used for 4d image-like inputs HWIO/IOHW used for Weights of Conv Ops NFC/NCF used for inputs to Conv1D or other 1D ops NTF/TNF used for inputs with time steps like the ones used for LSTM op NF used for 2D inputs, like the inputs to Dense/FullyConnected layers NC used for 2D inputs with 1 for batch and other for Channels (rarely used) F used for 1D inputs, e.g. Bias tensor For multiple inputs specify multiple --source_model_input_layout on the command line. Eg: --source_model_input_layout "data1" NCHW --source_model_input_layout "data2" NCHW --desired_input_layout INPUT_NAME DESIRED_INPUT_LAYOUT Desired Layout of each input tensor. If not specified, it will use the default based on the Source Framework, shape of input and input encoding. Accepted values are- NCDHW, NDHWC, NCHW, NHWC, HWIO, OIHW, NFC, NCF, NTF, TNF, NF, NC, F N = Batch, C = Channels, D = Depth, H = Height, W = Width, F = Feature, T = Time, I = Input, O = Output NDHWC/NCDHW used for 5d inputs NHWC/NCHW used for 4d image-like inputs HWIO/IOHW used for Weights of Conv Ops NFC/NCF used for inputs to Conv1D or other 1D ops NTF/TNF used for inputs with time steps like the ones used for LSTM op NF used for 2D inputs, like the inputs to Dense/FullyConnected layers NC used for 2D inputs with 1 for batch and other for Channels (rarely used) F used for 1D inputs, e.g. Bias tensor For multiple inputs specify multiple --desired_input_layout on the command line. Eg: --desired_input_layout "data1" NCHW --desired_input_layout "data2" NCHW --source_model_output_layout OUTPUT_NAME OUTPUT_LAYOUT Layout of each output tensor. If not specified, it will use the default based on the Source Framework, shape of input and input encoding. Accepted values are- NCDHW, NDHWC, NCHW, NHWC, HWIO, OIHW, NFC, NCF, NTF, TNF, NF, NC, F N = Batch, C = Channels, D = Depth, H = Height, W = Width, F = Feature, T = Time NDHWC/NCDHW used for 5d inputs NHWC/NCHW used for 4d image-like inputs NFC/NCF used for inputs to Conv1D or other 1D ops NTF/TNF used for inputs with time steps like the ones used for LSTM op NF used for 2D inputs, like the inputs to Dense/FullyConnected layers NC used for 2D inputs with 1 for batch and other for Channels (rarely used) F used for 1D inputs, e.g. Bias tensor For multiple inputs specify multiple --source_model_output_layout on the command line. Eg: --source_model_output_layout "data1" NCHW --source_model_output_layout "data2" NCHW --desired_output_layout OUTPUT_NAME DESIRED_OUTPUT_LAYOUT Desired Layout of each output tensor. If not specified, it will use the default based on the Source Framework. Accepted values are- NCDHW, NDHWC, NCHW, NHWC, HWIO, OIHW, NFC, NCF, NTF, TNF, NF, NC, F N = Batch, C = Channels, D = Depth, H = Height, W = Width, F = Feature, T = Time NDHWC/NCDHW used for 5d outputs NHWC/NCHW used for 4d image-like outputs NFC/NCF used for outputs to Conv1D or other 1D ops NTF/TNF used for outputs with time steps like the ones used for LSTM op NF used for 2D outputs, like the outputs to Dense/FullyConnected layers NC used for 2D outputs with 1 for batch and other for Channels (rarely used) F used for 1D outputs, e.g. Bias tensor For multiple outputs specify multiple --desired_output_layout on the command line. Eg: --desired_output_layout "data1" NCHW --desired_output_layout "data2" NCHW --desired_input_color_encoding [ ...], -e [ ...] Usage: --input_color_encoding "INPUT_NAME" INPUT_ENCODING_IN [INPUT_ENCODING_OUT] Input encoding of the network inputs. Default is bgr. e.g. --input_color_encoding "data" rgba Quotes must wrap the input node name to handle special characters, spaces, etc. To specify encodings for multiple inputs, invoke --input_color_encoding for each one. e.g. --input_color_encoding "data1" rgba --input_color_encoding "data2" other Optionally, an output encoding may be specified for an input node by providing a second encoding. The default output encoding is bgr. e.g. --input_color_encoding "data3" rgba rgb Input encoding types: image color encodings: bgr,rgb, nv21, nv12, ... time_series: for inputs of rnn models; other: not available above or is unknown. Supported encodings: bgr rgb rgba argb32 nv21 nv12 --preserve_io_datatype [PRESERVE_IO_DATATYPE ...] Use this option to preserve IO datatype. The different ways of using this option are as follows: --preserve_io_datatype e.g. --preserve_io_datatype input1 input2 output1 The user may choose to preserve the datatype for all the inputs and outputs of the graph. --preserve_io_datatype Note: --config gets higher precedence than --preserve_io_datatype. --dump_config_template DUMP_IO_CONFIG_TEMPLATE Dumps the yaml template for I/O configuration. This file can be edited as per the custom requirements and passed using the option --configUse this option to specify a yaml file to which the IO config template is dumped. --config IO_CONFIG Use this option to specify a yaml file for input and output options. --dry_run [DRY_RUN] Evaluates the model without actually converting any ops, and returns unsupported ops/attributes as well as unused inputs and/or outputs if any. --enable_framework_trace Use this option to enable converter to trace the op/tensor change information. Currently framework op trace is supported only for ONNX converter. --remove_unused_inputs Use this option to remove the disconnected graph input nodes after the conversion --quantizer_log QUANTIZER_LOG Valid for use with v2.0.0 JSON schema for quantization overrides or when --use_quantize_v2 is provided. Enable logging in the quantizer, logging to the file . E.g., --quantizer_log my_model_name.csv will produce the file my_model_name.csv. See --quantizer_log_level. --quantizer_log_level {LogLevel.NONE,LogLevel.TRACE,LogLevel.INFO} Sets the logging level in the quantizer. See --quantizer_log. INFO: Emits a file in the CSV format. Requires --quantizer_log to be set. Warnings and errors are emitted to the console. TRACE: Emits a file in the TXT format. Requires --quantizer_log to be set. Warnings and errors are emitted to the console. NONE: Default value. No file is emitted. Warnings and errors are emitted to the console. --debug [DEBUG] Run the converter in debug mode. --output_path OUTPUT_PATH, -o OUTPUT_PATH Path where the converted Output model should be saved.If not specified, the converter model will be written to a file with same name as the input model --copyright_file COPYRIGHT_FILE Path to copyright file. If provided, the content of the file will be added to the output model. --float_bitwidth FLOAT_BITWIDTH Use the --float_bitwidth option to convert the graph to the specified float bitwidth, either 32 (default), 16 or bf16. --float_bias_bitwidth FLOAT_BIAS_BITWIDTH Use the --float_bias_bitwidth option to select the bitwidth to use for float bias tensor, either 32 or 16 (default '0' if not provided). --set_model_version MODEL_VERSION User-defined ASCII string to identify the model, only first 64 bytes will be stored --export_format EXPORT_FORMAT DLC_DEFAULT (default) - Produce a Float graph given a Float Source graph - Produce a Quant graph given a Source graph with provided Encodings DLC_STRIP_QUANT - Produce a Float Graph with discarding Quant data -h, --help show this help message and exit Custom Op Package Options: --converter_op_package_lib CONVERTER_OP_PACKAGE_LIB, -cpl CONVERTER_OP_PACKAGE_LIB Absolute path to converter op package library compiled by the OpPackage generator. Must be separated by a comma for multiple package libraries. Note: Order of converter op package libraries must follow the order of xmls. Ex1: --converter_op_package_lib absolute_path_to/libExample.so Ex2: -cpl absolute_path_to/libExample1.so,absolute_path_to/libExample2.so --package_name PACKAGE_NAME, -p PACKAGE_NAME A global package name to be used for each node in the Model.cpp file. Defaults to Qnn header defined package name --op_package_config CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...], -opc CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...] Path to a Qnn Op Package XML configuration file that contains user defined custom operations. Quantizer Options: --quantization_overrides QUANTIZATION_OVERRIDES, -q QUANTIZATION_OVERRIDES Use this option to specify a json file with parameters to use for quantization. These will override any quantization data carried from conversion (eg TF fake quantization) or calculated during the normal quantization process. Format defined as per AIMET specification. LoRA Converter Options: --lora_weight_list LORA_WEIGHT_LIST Path to a file specifying a list of tensor names that should be updateable. --quant_updatable_mode {none,adapter_only,all} Specify whether/for which tensors the quantization encodings change across use-cases. In none mode, no quantization encodings are updatable. In adapter_only mode quantization encodings for only lora/adapter branch (Conv->Mul->Conv) change across use-case, the base branch quantization encodings remain the same. In all mode, all quantization encodings are updatable. Onnx Converter Options: --onnx_skip_simplification, -oss Do not attempt to simplify the model automatically. This may prevent some models from properly converting when sequences of unsupported static operations are present. --onnx_override_batch BATCH The batch dimension override. This will take the first dimension of all inputs and treat it as a batch dim, overriding it with the value provided here. For example: --onnx_override_batch 6 will result in a shape change from [1,3,224,224] to [6,3,224,224]. If there are inputs without batch dim this should not be used and each input should be overridden independently using -s option for input dimension overrides. --onnx_define_symbol SYMBOL_NAME VALUE This option allows overriding specific input dimension symbols. For instance you might see input shapes specified with variables such as : data: [1,3,height,width] To override these simply pass the option as: --onnx_define_symbol height 224 --onnx_define_symbol width 448 which results in dimensions that look like: data: [1,3,224,448] --onnx_validate_models Validate the original ONNX model against optimized ONNX model. Constant inputs with all value 1s will be generated and will be used by both models and their outputs are checked against each other. The % average error and 90th percentile of output differences will be calculated for this. Note: Usage of this flag will incur extra time due to inference of the models. --onnx_summary Summarize the original onnx model and optimized onnx model. Summary will print the model information such as number of parameters, number of operators and their count, input-output tensor name, shape and dtypes. --onnx_perform_sequence_construct_optimizer This option allows optimization on SequenceConstruct Op. When SequenceConstruct op is one of the outputs of the graph, it removes SequenceConstruct op and makes its inputs as graph outputs to replace the original output of SequenceConstruct. --tf_summary Summarize the original TF model and optimized TF model. Summary will print the model information such as number of parameters, number of operators and their count, input-output tensor name, shape and dtypes. TensorFlow Converter Options: --tf_override_batch BATCH The batch dimension override. This will take the first dimension of all inputs and treat it as a batch dim, overriding it with the value provided here. For example: --tf_override_batch 6 will result in a shape change from [1,224,224,3] to [6,224,224,3]. If there are inputs without batch dim this should not be used and each input should be overridden independently using -s option for input dimension overrides. --tf_disable_optimization Do not attempt to optimize the model automatically. --tf_show_unconsumed_nodes Displays a list of unconsumed nodes, if there any are found. Nodeswhich are unconsumed do not violate the structural fidelity of thegenerated graph. --tf_saved_model_tag SAVED_MODEL_TAG Specify the tag to seletet a MetaGraph from savedmodel. ex: --saved_model_tag serve. Default value will be 'serve' when it is not assigned. --tf_saved_model_signature_key SAVED_MODEL_SIGNATURE_KEY Specify signature key to select input and output of the model. ex: --tf_saved_model_signature_key serving_default. Default value will be 'serving_default' when it is not assigned --tf_validate_models Validate the original TF model against optimized TF model. Constant inputs with all value 1s will be generated and will be used by both models and their outputs are checked against each other. The % average error and 90th percentile of output differences will be calculated for this. Note: Usage of this flag will incur extra time due to inference of the models. Tflite Converter Options: --tflite_signature_name SIGNATURE_NAME Use this option to specify a specific Subgraph signature to convert PyTorch Converter Options: --dump_exported_onnx Dump the exported Onnx model from input Torchscript model Backend Options: --target_backend BACKEND Use this option to specify the backend on which the model needs to run. Providing this option will generate a graph optimized for the given backend and this graph may not run on other backends. The default backend is HTP. Supported backends are CPU,GPU,DSP,HTP,HTA,LPAI. --target_soc_model SOC_MODEL Use this option to specify the SOC on which the model needs to run. This can be found from SOC info of the device and it starts with strings such as SDM, SM, QCS, IPQ, SA, QC, SC, SXR, SSG, STP, QRB, or AIC. NOTE: --target_backend option must be provided to use --target_soc_model option. Note: Only one of: {'package_name', 'op_package_config'} can be specified Copy to clipboard ## Model Preparation ### Quantization Support Quantization is supported through the converter interface and is performed at conversion time. The only required option to enable quantization along with conversion is the –input\_list option, which provides the quantizer with the required input data for the given model. The following options are available in each converter listed above to enable and configure quantization: Quantizer Options: --quantization_overrides QUANTIZATION_OVERRIDES Use this option to specify a json file with parameters to use for quantization. These will override any quantization data carried from conversion (eg TF fake quantization) or calculated during the normal quantization process. Format defined as per AIMET specification. --input_list INPUT_LIST Path to a file specifying the input data. This file should be a plain text file, containing one or more absolute file paths per line. Each path is expected to point to a binary file containing one input in the "raw" format, ready to be consumed by the quantizer without any further preprocessing. Multiple files per line separated by spaces indicate multiple inputs to the network. See documentation for more details. Must be specified for quantization. All subsequent quantization options are ignored when this is not provided. --param_quantizer PARAM_QUANTIZER Optional parameter to indicate the weight/bias quantizer to use. Must be followed by one of the following options: "tf": Uses the real min/max of the data and specified bitwidth (default) "enhanced": Uses an algorithm useful for quantizing models with long tails present in the weight distribution "adjusted": Uses an adjusted min/max for computing the range, particularly good for denoise models "symmetric": Ensures min and max have the same absolute values about zero. Data will be stored as int#_t data such that the offset is always 0. --act_quantizer ACT_QUANTIZER Optional parameter to indicate the activation quantizer to use. Must be followed by one of the following options: "tf": Uses the real min/max of the data and specified bitwidth (default) "enhanced": Uses an algorithm useful for quantizing models with long tails present in the weight distribution "adjusted": Uses an adjusted min/max for computing the range, particularly good for denoise models "symmetric": Ensures min and max have the same absolute values about zero. Data will be stored as int#_t data such that the offset is always 0. --algorithms ALGORITHMS [ALGORITHMS ...] Use this option to enable new optimization algorithms. Usage is: --algorithms ... The available optimization algorithms are: "cle" - Cross layer equalization includes a number of methods for equalizing weights and biases across layers in order to rectify imbalances that cause quantization errors. --bias_bitwidth BIAS_BITWIDTH Use the --bias_bitwidth option to select the bitwidth to use when quantizing the biases, either 8 (default) or 32. --act_bitwidth ACT_BITWIDTH Use the --act_bitwidth option to select the bitwidth to use when quantizing the activations, either 8 (default) or 16. --weight_bitwidth WEIGHT_BITWIDTH Use the --weight_bitwidth option to select the bitwidth to use when quantizing the weights, either 4, 8 (default) or 16. --float_bitwidth FLOAT_BITWIDTH Use the --float_bitwidth option to select the bitwidth to use for float tensors,either 32 (default) or 16. --float_bias_bitwidth FLOAT_BIAS_BITWIDTH Use the --float_bias_bitwidth option to select the bitwidth to use when biases are in float, either 32 or 16. --ignore_encodings Use only quantizer generated encodings, ignoring any user or model provided encodings. Note: Cannot use --ignore_encodings with --quantization_overrides --use_per_channel_quantization [USE_PER_CHANNEL_QUANTIZATION [USE_PER_CHANNEL_QUANTIZATION ...]] Use per-channel quantization for convolution-based op weights. Note: This will replace built-in model QAT encodings when used for a given weight.Usage "--use_per_channel_quantization" to enable or "--use_per_channel_quantization false" (default) to disable --use_per_row_quantization [USE_PER_ROW_QUANTIZATION [USE_PER_ROW_QUANTIZATION ...]] Use this option to enable rowwise quantization of Matmul and FullyConnected op. Usage "--use_per_row_quantization" to enable or "--use_per_row_quantization false" (default) to disable. This option may not be supported by all backends. Copy to clipboard Basic command line usage to convert and quantize a model using the TF converter would look like: $ qnn-tensorflow-converter -i /frozen_graph.pb -d --out_node -o --allow_unconsumed_nodes # optional, but most likely will be need for larger models -p # Defaults to "qti.aisw" --input_list input_list.txt Copy to clipboard This will quantize the network using the default quantizer and bitwidths (8 bits for activations, weights, and biases). For more detailed information on quantization, options, and algorithms please refer to [Quantization](https://docs.qualcomm.com/doc/80-63442-10/topic/quantization.html). ### qairt-quantizer The **qairt-quantizer** tool converts non-quantized DLC models into quantized DLC models. Basic command line usage looks like: usage: qairt-quantizer --input_dlc INPUT_DLC [--output_dlc OUTPUT_DLC] [--input_list INPUT_LIST] [--enable_float_fallback] [--apply_algorithms ALGORITHMS [ALGORITHMS ...]] [--bias_bitwidth BIAS_BITWIDTH] [--act_bitwidth ACT_BITWIDTH] [--weights_bitwidth WEIGHTS_BITWIDTH] [--float_bitwidth FLOAT_BITWIDTH] [--float_bias_bitwidth FLOAT_BIAS_BITWIDTH] [--ignore_quantization_overrides] [--use_per_channel_quantization] [--use_per_row_quantization] [--enable_per_row_quantized_bias] [--preserve_io_datatype [PRESERVE_IO_DATATYPE ...]] [--use_native_input_files] [--use_native_output_files] [--restrict_quantization_steps ENCODING_MIN, ENCODING_MAX] [--keep_weights_quantized] [--adjust_bias_encoding] [--act_quantizer_calibration ACT_QUANTIZER_CALIBRATION] [--param_quantizer_calibration PARAM_QUANTIZER_CALIBRATION] [--act_quantizer_schema ACT_QUANTIZER_SCHEMA] [--param_quantizer_schema PARAM_QUANTIZER_SCHEMA] [--percentile_calibration_value PERCENTILE_CALIBRATION_VALUE] [--use_aimet_quantizer] [--op_package_lib OP_PACKAGE_LIB] [--dump_encoding_json] [--config CONFIG_FILE] [--export_stripped_dlc] [-h] [--target_backend BACKEND] [--target_soc_model SOC_MODEL] [--debug [DEBUG]] required arguments: --input_dlc INPUT_DLC, -i INPUT_DLC Path to the dlc container containing the model for which fixed-point encoding metadata should be generated. This argument is required optional arguments: --output_dlc OUTPUT_DLC, -o OUTPUT_DLC Path at which the metadata-included quantized model container should be written.If this argument is omitted, the quantized model will be written at _quantized.dlc --input_list INPUT_LIST, -l INPUT_LIST Path to a file specifying the input data. This file should be a plain text file, containing one or more absolute file paths per line. Each path is expected to point to a binary file containing one input in the "raw" format, ready to be consumed by the quantizer without any further preprocessing. Multiple files per line separated by spaces indicate multiple inputs to the network. See documentation for more details. Must be specified for quantization. All subsequent quantization options are ignored when this is not provided. --enable_float_fallback, -f Use this option to enable fallback to floating point (FP) instead of fixed point. This option can be paired with --float_bitwidth to indicate the bitwidth for FP (by default 32). If this option is enabled, then input list must not be provided and --ignore_quantization_overrides must not be provided. The external quantization encodings (encoding file/FakeQuant encodings) might be missing quantization parameters for some interim tensors. First it will try to fill the gaps by propagating across math-invariant functions. If the quantization params are still missing, then it will apply fallback to nodes to floating point. --apply_algorithms ALGORITHMS [ALGORITHMS ...] Use this option to enable new optimization algorithms. Usage is: --apply_algorithms ... The available optimization algorithms are: "cle" - Cross layer equalization includes a number of methods for equalizing weights and biases across layers in order to rectify imbalances that cause quantization errors. --bias_bitwidth BIAS_BITWIDTH Use the --bias_bitwidth option to select the bitwidth to use when quantizing the biases, either 8 (default) or 32. --act_bitwidth ACT_BITWIDTH Use the --act_bitwidth option to select the bitwidth to use when quantizing the activations, either 8 (default) or 16. --weights_bitwidth WEIGHTS_BITWIDTH Use the --weights_bitwidth option to select the bitwidth to use when quantizing the weights, either 4, 8 (default) or 16. --float_bitwidth FLOAT_BITWIDTH Use the --float_bitwidth option to select the bitwidth to use for float tensors,either 32 (default) or 16. --float_bias_bitwidth FLOAT_BIAS_BITWIDTH Use the --float_bias_bitwidth option to select the bitwidth to use when biases are in float, either 32 or 16 (default '0' if not provided). --ignore_quantization_overrides Use only quantizer generated encodings, ignoring any user or model provided encodings. Note: Cannot use --ignore_quantization_overrides with --quantization_overrides (argument of Qairt Converter) --use_per_channel_quantization Use this option to enable per-channel quantization for convolution-based op weights. Note: This will only be used if built-in model Quantization-Aware Trained (QAT) encodings are not present for a given weight. --use_per_row_quantization Use this option to enable rowwise quantization of Matmul and FullyConnected ops. --enable_per_row_quantized_bias Use this option to enable rowwise quantization of bias for FullyConnected ops, when weights are per-row quantized. --preserve_io_datatype [PRESERVE_IO_DATATYPE ...] Use this option to preserve IO datatype. The different ways of using this option are as follows: --preserve_io_datatype e.g. --preserve_io_datatype input1 input2 output1 The user may choose to preserve the datatype for all the inputs and outputs of the graph. --preserve_io_datatype --use_native_input_files Boolean flag to indicate how to read input files. If not provided, reads inputs as floats and quantizes if necessary based on quantization parameters in the model. (default) If provided, reads inputs assuming the data type to be native to the model. For ex., uint8_t. --use_native_output_files Boolean flag to indicate the data type of the output files If not provided, outputs the file as floats. (default) If provided, outputs the file that is native to the model. For ex., uint8_t. --restrict_quantization_steps ENCODING_MIN, ENCODING_MAX Specifies the number of steps to use for computing quantization encodings such that scale = (max - min) / number of quantization steps. The option should be passed as a space separated pair of hexadecimal string minimum and maximum valuesi.e. --restrict_quantization_steps "MIN MAX". Please note that this is a hexadecimal string literal and not a signed integer, to supply a negative value an explicit minus sign is required. E.g.--restrict_quantization_steps "-0x80 0x7F" indicates an example 8 bit range, --restrict_quantization_steps "-0x8000 0x7F7F" indicates an example 16 bit range. This argument is required for 16-bit Matmul operations. --keep_weights_quantized Use this option to keep the weights quantized even when the output of the op is in floating point. Bias will be converted to floating point as per the output of the op. Required to enable wFxp_actFP configurations according to the provided bitwidth for weights and activations Note: These modes are not supported by all runtimes. Please check corresponding Backend OpDef supplement if these are supported --adjust_bias_encoding Use --adjust_bias_encoding option to modify bias encoding and weight encoding to ensure that the bias value is in the range of the bias encoding. This option is only applicable for per-channel quantized weights. NOTE: This may result in clipping of the weight values --act_quantizer_calibration ACT_QUANTIZER_CALIBRATION Specify which quantization calibration method to use for activations supported values: min-max (default), sqnr, entropy, mse, percentile This option can be paired with --act_quantizer_schema to override the quantization schema to use for activations otherwise default schema(asymmetric) will be used --param_quantizer_calibration PARAM_QUANTIZER_CALIBRATION Specify which quantization calibration method to use for parameters supported values: min-max (default), sqnr, entropy, mse, percentile This option can be paired with --param_quantizer_schema to override the quantization schema to use for parameters otherwise default schema(asymmetric) will be used --act_quantizer_schema ACT_QUANTIZER_SCHEMA Specify which quantization schema to use for activations supported values: asymmetric (default), symmetric, unsignedsymmetric --param_quantizer_schema PARAM_QUANTIZER_SCHEMA Specify which quantization schema to use for parameters supported values: asymmetric (default), symmetric, unsignedsymmetric --percentile_calibration_value PERCENTILE_CALIBRATION_VALUE Specify the percentile value to be used with Percentile calibration method The specified float value must lie within 90 and 100, default: 99.99 --use_aimet_quantizer Use AIMET for Quantization instead of QNN IR quantizer --op_package_lib OP_PACKAGE_LIB, -opl OP_PACKAGE_LIB Use this argument to pass an op package library for quantization. Must be in the form and be separated by a comma for multiple package libs --dump_encoding_json Use this argument to dump encoding of all the tensors in a json file --config CONFIG_FILE, -c CONFIG_FILE Use this argument to pass the path of the config YAML file with quantizer options --export_stripped_dlc Use this argument to export a DLC which strips out data not needed for graph composition -h, --help show this help message and exit --debug [DEBUG] Run the quantizer in debug mode. Backend Options: --target_backend BACKEND Use this option to specify the backend on which the model needs to run. Providing this option will generate a graph optimized for the given backend and this graph may not run on other backends. The default backend is HTP. Supported backends are CPU,GPU,DSP,HTP,HTA,LPAI. --target_soc_model SOC_MODEL Use this option to specify the SOC on which the model needs to run. This can be found from SOC info of the device and it starts with strings such as SDM, SM, QCS, IPQ, SA, QC, SC, SXR, SSG, STP, QRB, or AIC. NOTE: --target_backend option must be provided to use --target_soc_model option. Copy to clipboard For more information on usage, please refer to SNPE documentation on the snpe-dlc-quant tool. ### qnn-model-lib-generator Note For developers who want to execute the model preparation tools under Windows-PC, or on a Qualcomm device with a Windows operating system. The qnn-model-lib-generator are located under /bin/x86\_64-windows-msvc within the SDK for native Windows-PC usage. For developers who want to run qnn-model-lib-generator on a device with a Windows OS, it is located under /bin/aarch64-windows-msvc. qnn-model-lib-generator will try to use the CMake command from your platform to generate libraries. Please make sure the CMake in Windows-OS is feasible by making sure the compile tools are installed([windows-platform compiling tools](https://docs.qualcomm.com/doc/80-63442-10/topic/general_setup.html#windows)). The **qnn-model-lib-generator** tool compiles QNN model source code into artifacts for a specific target. usage: qnn-model-lib-generator [-h] [-c .cpp] [-b .bin] [-t LIB_TARGETS ] [-l LIB_NAME] [-o OUTPUT_DIR] Script compiles provided Qnn Model artifacts for specified targets. Required argument(s): -c .cpp Filepath for the qnn model .cpp file optional argument(s): -b .bin Filepath for the qnn model .bin file (Note: if not passed, runtime will fail if .cpp needs any items from a .bin file.) -t LIB_TARGETS Specifies the targets to build the models for. Default: aarch64-android x86_64-linux-clang -l LIB_NAME Specifies the name to use for libraries. Default: uses name in if provided, else generic qnn_model.so -o OUTPUT_DIR Location for saving output libraries. Copy to clipboard Note For Windows users, please execute this tool with python3. ### qnn-op-package-generator The **qnn-op-package-generator** tool is used to generate skeleton code for a QNN op package using an XML config file that describes the attributes of the package. The tool creates the package as a directory containing skeleton source code and makefiles that can be compiled to create a shared library object. usage: qnn-op-package-generator [-h] --config_path CONFIG_PATH [--debug] [--output_path OUTPUT_PATH] [-f] optional arguments: -h, --help show this help message and exit required arguments: --config_path CONFIG_PATH, -p CONFIG_PATH The path to a config file that defines a QNN Op package(s). optional arguments: --debug Returns debugging information from generating the package --output_path OUTPUT_PATH, -o OUTPUT_PATH Path where the package should be saved -f, --force-generation This option will delete the entire existing package Note appropriate file permissions must be set to use this option. --converter_op_package, -cop Generates Converter Op Package skeleton code needed by the output shape inference for converters Copy to clipboard ### qnn-context-binary-generator The **qnn-context-binary-generator** tool is used to create a context binary by using a particular backend and consuming a model library created by the [qnn-model-lib-generator](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-model-lib-generator). usage: qnn-context-binary-generator --model QNN_MODEL.so --backend QNN_BACKEND.so --binary_file BINARY_FILE_NAME [--model_prefix MODEL_PREFIX] [--output_dir OUTPUT_DIRECTORY] [--op_packages ONE_OR_MORE_OP_PACKAGES] [--config_file CONFIG_FILE.json] [--profiling_level PROFILING_LEVEL] [--verbose] [--version] [--help] REQUIRED ARGUMENTS: ------------------- --model Path to the file containing a QNN network. To create a context binary with multiple graphs, use comma-separated list of model.so files. The syntax is ,. --backend Path to a QNN backend .so library to create the context binary. --binary_file Name of the binary file to save the context binary to with .bin file extension. If not provided, no backend binary is created. If absolute path is provided, binary is saved in this path. Else binary is saved in the same path as --output_dir option. OPTIONAL ARGUMENTS: ------------------- --model_prefix Function prefix to use when loading file containing a QNN network. Default: QnnModel. --output_dir The directory to save output to. Defaults to ./output. --op_packages Provide a comma separated list of op packages and interface providers to register. The syntax is: op_package_path:interface_provider[,op_package_path:interface_provider...] --profiling_level Enable profiling. Valid Values: 1. basic: captures execution and init time. 2. detailed: in addition to basic, captures per Op timing for execution. 3. backend: backend-specific profiling level specified in the backend extension related JSON config file. --profiling_option Set profiling options: 1. optrace: Generates an optrace of the run. --config_file Path to a JSON config file. The config file currently supports options related to backend extensions and context priority. Please refer to SDK documentation for more details. --enable_intermediate_outputs Enable all intermediate nodes to be output along with default outputs in the saved context. Note that options --enable_intermediate_outputs and --set_output_tensors are mutually exclusive. Only one of the options can be specified at a time. --set_output_tensors Provide a comma-separated list of intermediate output tensor names, for which the outputs will be written in addition to final graph output tensors. Note that options --enable_intermediate_outputs and --set_output_tensors are mutually exclusive. Only one of the options can be specified at a time. The syntax is: graphName0:tensorName0,tensorName1;graphName1:tensorName0,tensorName1. In case of a single graph, its name is not necessary and a list of comma separated tensor names can be provided, e.g.: tensorName0,tensorName1. The same format can be provided in a .txt file. --backend_binary Name of the binary file to save a backend-specific context binary to with .bin file extension. If not provided, no backend binary is created. If absolute path is provided, binary is saved in this path. Else binary is saved in the same path as --output_dir option. --log_level Specifies max logging level to be set. Valid settings: "error", "warn", "info" and "verbose" --dlc_path Paths to a comma separated list of Deep Learning Containers (DLC) from which to load the models. Necessitates libQnnModelDlc.so as the --model argument. To compose multiple graphs in the context, use comma-separated list of DLC files. The syntax is , Default: None --output_dlc Specifies the path for the output DLC which will be the carrier of the generated cache. The new DLC with the caches will be stored in the output directory. Supports both single and multiple input DLC use cases. For multiple input DLCs, all graphs will be merged into a single output DLC with the embedded context binary. --strip_output_dlc Remove raw weights from output DLC after including context binary. Reduces DLC size but makes it unusable for further graph composition. The resulting DLC can only be used to load prepared context from cache. --htp_socs Specify SoC(s) to generate HTP Offline Cache for. SoCs are specified with an ASIC identifier, in a comma separated list without whitespace. For example --htp_socs sm8350,sm8450,sm8550,sm8650,qcs6490,qcs8550. This option can be used with both single and multiple input DLCs. --vtcm_override Specify a single value representing the VTCM size in MB for the generated HTP Offline Caches. For example, --vtcm_override 4. When not provided or set to -1, the SoC maximum VTCM size is used. This flag can be used with --htp_socs to override the default SOC VTCM size setting. --optimization_level_override Override the HTP graph optimization level (0-3) for all graphs, taking precedence over the backend extension config file. --dlbc_override Override DLBC enable (true/1 or false/0) for all graphs, taking precedence over the backend extension config file. --reference_weight_sharing_enabled_override Override reference weight sharing enabled (true/1 or false/0) for all contexts, taking precedence over the backend extension config file. Enables weight sharing between context binaries targeting different SoCs, where the first context's weights become a reference shared with subsequent context binaries. Only supported via the DLC workflow. Disabled by default. .. note:: Limitation: Weight sharing performance may be degraded when reference weight sharing is enabled across uDMA and non-uDMA context binaries, or across single-core and multi-core context binaries. Total RAM usage may increase if weight sharing is not optimal. --hvx_threads_override Override the number of HVX threads for all graphs, taking precedence over the backend extension config file. --input_output_tensor_mem_type Specifies mem type to be used for input and output tensors during graph creation. Valid settings:"raw" and "memhandle" --platform_options Specifies values to pass as platform options. Multiple platform options can be provided using the syntax: key0:value0;key1:value1;key2:value2 --data_format_config Path to a JSON config file, specifying the data formats of certain tensors. Please refer to SDK documentation for more details. --adapter_weight_config Path to a YAML config file containing adapter weight information for LoRA. Config should specifiy the use case name, graph name, the location of safetensor weights and encodings, and optionally whether the use case should be encodings and/or weights only e.g. use_case: - name: graph: weights: .safetensors encodings: .encodings encodings_only: weights_only: --soc_model Specifies simulated soc model value. A valid soc model value can be chosen from :ref:`Supported Snapdragon Devices ` Default: 0 (use default soc model set by the backend). --version Print the QNN SDK version. --help Show this help message. Copy to clipboard See [qnn-net-run](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-net-run) section for more details about `--op_packages` and `--config_file` options. Note For instructions on how to create a context binary for HTP multicore specifically, please see Multicore ## Execution ### qnn-net-run The **qnn-net-run** tool is used to consume a model library compiled from the output of the QNN converter, and run it on a particular backend. DESCRIPTION: ------------ Example application demonstrating how to load and execute a neural network using QNN APIs. REQUIRED ARGUMENTS: ------------------- --model Path to the model containing a QNN network. To compose multiple graphs, use comma-separated list of model.so files. The syntax is ,. --backend Path to a QNN backend to execute the model. --input_list Path to a file listing the inputs for the network. If there are multiple graphs in model.so, this has to be comma-separated list of input list files. When multiple graphs are present, to skip execution of a graph use "__"(double underscore without quotes) as the file name in the comma-seperated list of input list files. --retrieve_context Path to cached binary from which to load a saved context from and execute graphs. --retrieve_context and --model are mutually exclusive. Only one of the options can be specified at a time. OPTIONAL ARGUMENTS: ------------------- --model_prefix Function prefix to use when loading . Default: QnnModel --debug Specifies that output from all layers of the network will be saved. Note that options --debug and --set_output_tensors are mutually exclusive. Only one of the options can be specified at a time.This option can not be used when loading a saved context through --retrieve_context or --retrieve_context_list option. --output_dir The directory to save output to. Defaults to ./output. --use_native_output_files Specifies that the output files will be generated in the data type native to the graph. If not specified, output files will be generated in floating point. --use_native_input_files Specifies that the input files will be parsed in the data type native to the graph. If not specified, input files will be parsed in floating point. Note that options --use_native_input_files and --native_input_tensor_names are mutually exclusive. Only one of the options can be specified at a time. --native_input_tensor_names Provide a comma-separated list of input tensor names, for which the input files would be read/parsed in native format. Note that options --use_native_input_files and --native_input_tensor_names are mutually exclusive. Only one of the options can be specified at a time. The syntax is: graphName0:tensorName0,tensorName1;graphName1:tensorName0,tensorName1 --op_packages Provide a comma-separated list of op packages, interface providers, and, optionally, targets to register. Valid values for target are CPU and HTP. The syntax is: op_package_path:interface_provider:target[,op_package_path:interface_provider:target...] --profiling_level Enable profiling. Valid Values: 1. basic: captures execution and init time. 2. detailed: in addition to basic, captures per Op timing for execution, if a backend supports it. 3. client: captures only the performance metrics measured by qnn-net-run. 4. backend: backend-specific profiling level specified in the backend extension related JSON config file. --profiling_option Set profiling options: 1. optrace: Generates an optrace of the run. --perf_profile Specifies performance profile to be used. Valid settings are low_balanced, balanced, default, high_performance, sustained_high_performance, burst, low_power_saver, power_saver, high_power_saver, extreme_power_saver, system_settings, llm_decode_burst, llm_decode_sustained_high_performance, llm_decode_high_performance, llm_decode_balanced, llm_decode_low_balanced, llm_decode_high_power_saver, llm_decode_power_saver, llm_decode_low_power_saver, llm_decode_extreme_power_saver and llm_decode_default. Note: perf_profile option will override any existing performance settings from backend config. --config_file Path to a JSON config file. The config file currently supports options related to backend extensions, context priority and graph configs. Please refer to SDK documentation for more details. --log_level Specifies max logging level to be set. Valid settings: error, warn, info, debug, and verbose. --shared_buffer Specifies creation of shared buffers for graph I/O between the application and the device/coprocessor associated with a backend directly. --asynchronous Specifies that graphs should be executed asynchronously rather than synchronously. If a backend does not support asynchronous execution, graphs will be executed synchronously. Note: This flag replaces the deprecated --synchronous flag from previous versions. --num_inferences Specifies the number of inferences. Loops over the input_list until the number of inferences has transpired. --duration Specifies the duration of the graph execution in seconds. Loops over the input_list until this amount of time has transpired. --keep_num_outputs Specifies the number of outputs to be saved. Once the number of outputs reach the limit, subsequent outputs would be just discarded. --batch_multiplier Specifies the value with which the batch value in input and output tensors dimensions will be multiplied. The modified input and output tensors will be used only during the execute graphs. Composed graphs will still use the tensor dimensions from model. --timeout Specifies the value of the timeout for execution of graph in micro seconds. Please note using this option with a backend that does not support timeout signals results in an error. --retrieve_context_timeout Specifies the value of the timeout for initialization of graph in micro seconds. Please note using this option with a backend that does not support timeout signals results in an error. Also note that this option can only be used when loading a saved context through --retrieve_context or --retrieve_context_list option. --max_input_cache_tensor_sets Specifies the maximum number of input tensor sets that can be cached. Use value "-1" to cache all the input tensors created. Note that options --max_input_cache_tensor_sets and --max_input_cache_size_mb are mutually exclusive. Only one of the options can be specified at a time. --max_input_cache_size_mb Specifies the maximum cache size in mega bytes(MB). Note that options --max_input_cache_tensor_sets and --max_input_cache_size_mb are mutually exclusive. Only one of the options can be specified at a time. --set_output_tensors Provide a comma-separated list of intermediate output tensor names, for which the outputs will be written in addition to final graph output tensors. Note that options --debug and --set_output_tensors are mutually exclusive. Only one of the options can be specified at a time. Also note that this option can not be used when graph is retrieved from context binary, since the graph is already finalized when retrieved from context binary. The syntax is: graphName0:tensorName0,tensorName1;graphName1:tensorName0,tensorName1. In case of a single graph, its name is not necessary and a list of comma separated tensor names can be provided, e.g.: tensorName0,tensorName1. The same format can be provided in a .txt file. --use_mmap Specifies that the context binary that is being read should be loaded using the Memory-mapped (MMAP) file I/O. Please note some platforms may not support this due to OS limitations in which case an error is thrown when this option is used. --validate_binary Specifies that the context binary will be validated before creating a context. This option can only be used with backends that support binary validation. --platform_options Specifies values to pass as platform options. Multiple platform options can be provided using the syntax: key0:value0;key1:value1;key2:value2 --graph_profiling_start_delay Specifies graph profiling start delay in seconds. Please Note that this option can only be used in conjunction with graph-level profiling handles. --dlc_path Paths to a comma separated list of Deep Learning Containers (DLC) from which to load the models. Necessitates libQnnModelDlc.so as the --model argument. To compose multiple graphs in the context, use comma-separated list of DLC files. The syntax is , Default: None --graph_profiling_num_executions Specifies the maximum number of QnnGraph_execute/QnnGraph_executeAsync calls to be profiled. Please Note that this option can only be used in conjunction with graph-level profiling handles. --io_tensor_mem_handle_type Specifies mem handle type to be used for Input and output tensors during graph execution. Valid settings: "ion" and "dma_buf". --device_options Specifies values to pass as device options. Multiple device options can be provided using the syntax: key0:value0;key1:value1;key2:value2 Currently supported options: device_id: - selects a particular hardware device by ID to execute on. This ID will be used during QnnDevice creation. A default device will be chosen by the backend if an ID is not provided. This value will override a device ID selected in a backend config file. core_id: - selects a particular core by ID to execute on the selected device. This ID will be used during QnnDevice creation. A default core will be chosen by the backend if an ID is not provided. This value will override a core ID selected in a backend config file. --retrieve_context_list Provide the path to yaml file which contains info regarding multiple contexts. --retrieve_context_list is mutually exclusive with --retrieve_context, --model and --dlc_path. Please refer to SDK documentation for more details. --binary_updates Path to yaml that contains paths to binary updates. Updates are applied after initial graph execution on a per graph basis. --version Print the QNN SDK version. --help Show this help message. EXIT CODES: ------------ List of exit codes used in qnn-net-run application. Exit codes 1, 2, 126 – 165 and 255 should be avoided for user-defined exit codes since they have special purpose as below: 1, 2 : Abnormal termination of a program. 126 - 165 are specifically used to indicate seg faults, bus errors etc.. 3 - Application failure reason unknown. See DSP logs (logcat). 4 - Application failure due to invalid application argument. 6 - Application failure during setting log level. 7 - Application failure due to null or invalid function pointer etc. 9 - Application failure during qnn_net_run_HtpVXXHexagon initialization. 10 - Application failure during backend creation. 11 - Application failure during device creation. 12 - Application failure during Op Package registration. 13 - Application failure during creating context. 14 - Application failure during graph prepare. 15 - Application failure during graph finalize. 16 - Application failure during create from binary. 17 - Application failure during graph execution. 18 - Application failure during context free. 19 - Application failure during device free. 20 - Application failure during backend termination. 21 - Application failure during graph execution abort. 22 - Application failure during graph execution timeout. 23 - Application failure during the create from binary with suboptimal cache. 24 - Application failure during backend termination. 25 - Application failure during processing binary section or updating binary section etc. 26 - Application failure during binary update/execution. Copy to clipboard See `/examples/QNN/NetRun` folder for reference example on how to use `qnn-net-run` tool. **Typical arguments:** `--backend` - The appropriate argument depends on what target and backend you want to run on > > > Android (aarch64): `/lib/aarch64-android/` > > - CPU - `libQnnCpu.so` > - GPU - `libQnnGpu.so` > - HTA - `libQnnHta.so` > - DSP (Hexagon v65) - `libQnnDspV65Stub.so` > - DSP (Hexagon v66) - `libQnnDspV66Stub.so` > - DSP - `libQnnDsp.so` > - HTP (Hexagon v68) - `libQnnHtp.so` > - [Deprecated] HTP Alternate Prepare (Hexagon v68) - `libQnnHtpAltPrepStub.so` > - LPAI (Stub library) - `libQnnLpaiStub.so` > - LPAI - `libQnnLpai.so` > - Saver - `libQnnSaver.so` > > > > Linux x86: `/lib/x86_64-linux-clang/` > > - CPU - `libQnnCpu.so` > - HTP (Hexagon v68) - `libQnnHtp.so` > - LPAI - `libQnnLpai.so` > - Saver - `libQnnSaver.so` > > > > Windows x86: `/lib/x86_64-windows-msvc/` > > - CPU - `QnnCpu.dll` > - LPAI - `QnnLpai.dll` > - Saver - `QnnSaver.dll` > > > > WoS: `/lib/aarch64-windows-msvc/` > > - CPU - `QnnCpu.dll` > - DSP (Hexagon v66) - `QnnDspV66Stub.dll` > - DSP - `QnnDsp.dll` > - HTP (Hexagon v68) - `QnnHtp.dll` > - Saver - `QnnSaver.dll` Note Hexagon based backend libraries are emulations on x86\_64 platforms `--input_list` - This argument provides a file containing paths to input files to be used for graph execution. Input files can be specified with the below format: > > > :=[:=] > [:=[:=]] > ... > Copy to clipboard Below is an example containing 3 sets of inputs with layer names “Input\_1” and “Input\_2”, and files located in the relative path “Placeholder\_1/real\_input\_inputs\_1/”: > > > Input_1:=Placeholder_1/real_input_inputs_1/0-0#e6fb51.rawtensor Input_2:=Placeholder_1/real_input_inputs_1/0-1#8a171b.rawtensor > Input_1:=Placeholder_1/real_input_inputs_1/1-0#67c965.rawtensor Input_2:=Placeholder_1/real_input_inputs_1/1-1#54f1ff.rawtensor > Input_1:=Placeholder_1/real_input_inputs_1/2-0#b42dc6.rawtensor Input_2:=Placeholder_1/real_input_inputs_1/2-1#346a0e.rawtensor > Copy to clipboard Note: If the batch dimension of the model is greater than 1, the number of batch elements in the input file has to either match the batch dimension specified in the model or it has to be one. In the latter case, qnn-net-run will combine multiple lines into a single input tensor. `--op_packages` - This argument is only needed if you are using custom op packages. The native QNN ops are already included as part of the backend libraries. > > > When using custom op packages, each provided op package requires a colon separated command line > argument containing the path to the op package shared library (.so) file, as well as the name of the > interface provider, formatted as `:`. > > > The interface\_provider argument must be the name of the function in the op package library that > satisfies the QnnOpPackage\_InterfaceProvider\_t > interface. In the skeleton code created by `qnn-op-package-generator`, this function will be named > `InterfaceProvider`. > > > See [Generating Op Packages](https://docs.qualcomm.com/doc/80-63442-10/topic/generating_op_packages.html) for more information. `--config_file` - This argument is only needed if you need to specify context priority or provide backend extensions related parameters. These parameters are specified through a JSON file. The template of the JSON file is shown below: > > > { > "backend_extensions" : > { > "shared_library_path" : "path_to_shared_library", > "config_file_path" : "path_to_config_file", > "per_soc_config_file_path" : ["path_to_soc1_config", "path_to_soc2_config", ...] > }, > "context_configs" : > { > "context_priority" : "low | normal | normal_high | high", > "async_execute_queue_depth" : uint32_value, > "enable_graphs" : ["", "", ...], > "memory_limit_hint" : uint64_value, > "is_persistent_binary" : boolean_value, > "cache_compatibility_mode" : "permissive | strict", > "spill_fill_buffer" : int64_value, > "weights_buffer" : int64_value > }, > "graph_configs" : [ > { > "graph_name" : "graph_name_1", > "graph_priority" : "low | normal | normal_high | high" > "graph_profiling_start_delay" : double_value > "graph_profiling_num_executions" : uint64_value > } > ], > "profile_configs" : > { > "num_max_events" : uint64_value > }, > "async_graph_execution_config" : > { > "input_tensors_creation_tasks_limit" : uint32_value, > "execute_enqueue_tasks_limit" : uint32_value > }, > "soc_configs" : > { > "soc_model" : int32_value > } > } > Copy to clipboard > > > All the options in the JSON file are optional. *context\_priority* is used to specify priority of the context > as a context config. *async\_execute\_queue\_depth* is used to specify the number of executions that can be in the queue at a given time. > While using a context binary, *enable\_graphs* is used to implement the *graph selection* functionality. > *memory\_limit\_hint* is used to set the peak memory limit hint of a deserialized context in MBs. > *is\_persistent\_binary* indicates that the context binary pointer is available during QnnContext\_createFromBinary and > until QnnContext\_free is called. > [\*](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#id9)spill\_fill\_buffer is used to store spill fill values in a buffer shared between application and backend. > [\*](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#id11)weights\_buffer is used to store weights in a buffer shared between application and backend. > > > *Set Cache Compatibility Mode* : *cache\_compatibility\_mode* specifies the mode used to check whether cache record is optimal for the device. > The available modes indicate binary cache compatibility: > > - “permissive”: Binary cache is compatible if it could run on the device; default. > - “strict”: Binary cache is compatible if it could run on the device and fully utilize hardware capability. > If it cannot fully utilize hardware, selecting this option results in a recommendation to prepare the cache again. > This option returns an error if it is not supported by the selected backend. > > > > *Graph Selection* : Allows to specify a subset of graphs in a context to be loaded and executed. > If *enable\_graphs* is specified, only those graphs are loaded. If a graph name is selected and it > doesn’t exist, that would be an error. If *enable\_graphs* is not specified or passed as an empty list, > default behaviour continues where all graphs in a context are loaded. > > > *graph\_configs* can be used to specify asynchronous execution order and depth, if a backend > supports asynchronous execution. Every set of graph configs has to be specified along with a graph name. > *graph\_profiling\_start\_delay* is used to set the profiling start delay time in seconds. > *graph\_profiling\_num\_executions* is used to set the maximum number of QnnGraph\_execute/QnnGraph\_executeAsync calls > that will be profiled. > > > *profile\_configs* can be used to specify the max profile events per profiling handle. > > > *async\_graph\_execution\_config* can be used to specify the limits on number of tasks that run in parallel when graphs are executed > asynchronously using graphExecuteAsync. *input\_tensors\_creation\_tasks\_limit* specifies the maximum number of tasks in which input tensor sets > are populated, which can be used for graph execution. *execute\_enqueue\_tasks\_limit* specifies the maximum number of tasks > in which the backend graphExecuteAsync will be called using the pre-populated input tensors. If unspecified, these values will be set to the specified > “async\_execute\_queue\_depth” or 10 which is the default for “async\_execute\_queue\_depth”. > > > *backend\_extensions* is used to exercise custom options in a particular backend. This can be done by providing an > extensions shared library (.so) and a config file, if necessary. This is also required to enable various performance modes, > which can be exercised using backend config. Currently, HTP supports it through `libQnnHtpNetRunExtensions.so` shared > library, DSP supports it through `libQnnDspNetRunExtensions.so` and GPU supports it through `libQnnGpuNetRunExtensions.so`. > For different custom options which can be enabled with HTP see HTP Backend Extensions > > > Note: *config\_file\_path* and *per\_soc\_config\_file\_path* are mutually exclusive. Use *per\_soc\_config\_file\_path* to specify > an array of SOC-specific configuration files for multi-SOC cache generation scenarios. > > > *soc\_configs* can be used to specify the simulated soc model listed in Supported Snapdragon Devices `--shared_buffer` - This argument is only needed to indicate qnn-net-run to use shared buffers for zero-copy use case with a device/coprocessor associated with a particular backend (for ex., DSP with HTP backend) for graph input and output tensor data. This option is supported on Android only. qnn-net-run implements this feature using rpcmem APIs, which further create shared buffers using ION/DMA-BUF memory allocator on Android, available through the shared library libcdsprpc.so. In addition to specifying this option, for qnn-net-run to be able to discover libcdsprpc.so, the path in which the shared library is present needs to be appended to LD\_LIBRARY\_PATH variable. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/vendor/lib64 Copy to clipboard `--retrieve_context_list` - This argument is used to specify a YAML file that contains information about multiple contexts,each with its associated binary path, context configuration, and input files, enabling streamlined setup of contexts. The template of the YAML file is shown below: > > > version : 1 > contexts: > - name: > binaryFilePath: > contextConfig: > context_priority: > async_execute_queue_depth: > enable_graphs: ["", "", ...] > memory_limit_hint: > is_persistent_binary: > cache_compatibility_mode: > spill_fill_buffer: > weights_buffer: > inputFileList: > - graphName: > inputFilePath: > - name: > binaryFilePath: > contextConfig: > context_priority: > async_execute_queue_depth: > enable_graphs: ["", "", ...] > memory_limit_hint: > is_persistent_binary: > cache_compatibility_mode: > spill_fill_buffer: > weights_buffer: > inputFileList: > - graphName: > inputFilePath: > Copy to clipboard > > > *version* is used to specify the version of the configuration file. > > > *contexts* is used to specify a list of context configurations. > > > *name* is used to specify the name of the context. > > > *binaryFilePath* is used to specify the path to the serialized binary file for the context. > > > *contextConfig* is used to specify a dictionary containing context configuration options. Check [context\_config](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#config-file-link) for more details. > > > *inputFileList* is used to specify a list of graphName and inputFilePath for the context, *graphName* is used to specify the name of the graph and > > > *inputFilePath* is used to specify the path to the input file for the graph. #### Running Quantized Model on HTP backend with qnn-net-run The HTP backend currently allows to finalize / create an optimized version of a quantized QNN model offline, on Linux development host (using `x86_64-linux-clang` backend library) and then execute the finalized model on device (using `hexagon-v68` backend libraries). First, configure the environment by following instructions in [Setup](https://docs.qualcomm.com/doc/80-63442-10/topic/general_setup.html) section. Next, build QNN Model library from your network, using artifacts produced by one of QNN converters. See general/tutorial1:Building Example Model for reference. Lastly, use the `qnn-context-binary-generator` utility to generate a serialized representation of the finalized graph to execute the serialized binary on device. 1# Generate the optimized serialized representation of QNN Model on Linux development host. 2$ qnn-context-binary-generator --binary_file qnngraph.serialized.bin \ 3 --model /libQnnModel.so \ # a x86_64-linux-clang built quantized QNN model 4 --backend ${QNN_SDK_ROOT}/lib/x86_64-linux-clang/libQnnHtp.so \ 5 --output_dir \ Copy to clipboard To use produced serialized representation of the finalized graph (`qnngraph.serialized.bin`) ensure the below binaries are available on the android device: - `libQnnHtpV68Stub.so` (ARM) - `libQnnHtpPrepare.so` (ARM) - `libQnnModel.so` (ARM) - `libQnnHtpV68Skel.so` (cDSP v68) - `qnngraph.serialized.bin` (serialized binary from run on Linux development host) See `/examples/QNN/NetRun/android/android-qnn-net-run.sh` script for reference on how to use `qnn-net-run` tool on android device. 1# Run the optimized graph on HTP target 2$ qnn-net-run --retrieve_context qnngraph.serialized.bin \ 3 --backend /libQnnHtp.so \ 4 --output_dir \ 5 --input_list Copy to clipboard #### Running Float Model on HTP backend with qnn-net-run The QNN HTP backend can support running float32 models on select Qualcomm SoCs using float16 math. First, configure the environment by following instructions in [Setup](https://docs.qualcomm.com/doc/80-63442-10/topic/general_setup.html) section. Next, build QNN Model library from your network, using artifacts produced by one of QNN converters. See general/tutorial1:Building Example Model for reference. Lastly, configure *backend\_extensions* parameters through a JSON file and set custom options for the HTP backend. Pass this file to qnn-net-run using `--config_file` argument. *backend\_extensions* take two parameters, an extensions shared library (.so) (for HTP use `libQnnHtpNetRunExtensions.so`) and a config file for the backend. > > > Below is the template for the JSON file: > > > { > "backend_extensions" : > { > "shared_library_path" : "path_to_shared_library", > "config_file_path" : "path_to_config_file" > } > } > Copy to clipboard > > > For HTP backend extensions configurations, you can set “vtcm\_mb” and “graph\_names” through a config file. > > > Here is an example of the config file: 1{ 2 "graphs": [ 3 { 4 "vtcm_mb": 8, // Provides performance infrastructure configuration options that are memory specific. 5 // Optional; if not set, QNN HTP defaults to 4. 6 7 "graph_names": [ "qnn_model" ] // Provide the list of names of the graph for the inference as specified when using qnn converter tools 8 // "qnn_model" must be the name of the .cpp file generated during the model conversion (without the .cpp file extension) 9 ..... 10 }, 11 { 12 ..... // Other graph object 13 } 14 ] 15} Copy to clipboard Note “fp16\_relaxed\_precision” is deprecated starting from 2.35 release. See `/examples/QNN/NetRun/android/android-qnn-net-run.sh` script for reference on how to use `qnn-net-run` tool on android device. 1# Run the optimized graph on HTP target 2$ qnn-net-run --model /libQnnModel.so \ # a x86_64-linux-clang built float QNN model 3 --backend ${QNN_SDK_ROOT}/lib/x86_64-linux-clang/libQnnHtp.so \ 4 --config_file \ 5 --output_dir \ 6 --input_list Copy to clipboard See Multicore section for instructions on how to execute a precompiled multicore model across multiple cores on supported SOCs. ### qnn-throughput-net-run The **qnn-throughput-net-run** tool is used to exercise the execution of multiple models on a QNN backend or on different backends in a multi-threaded fashion. It allows repeated execution of models on a specified backend for a specified duration or number of iterations. Usage: ------ qnn-throughput-net-run [--config .json] [--output .json] REQUIRED argument(s): --config .json Path to the json config file . OPTIONAL argument(s): --output .json Specify the json file used to save the performance test results. --version Print the QNN SDK version. --help Show help message. Copy to clipboard **Configuration JSON File:** **qnn-throughput-net-run** uses configuration file as input to run the models on the backends. The configuration json file comprises of four objects (required) - **backends**, **models**, **contexts** and **testCase**. Below is an example of a json configuration file. Please refer the following [section](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qtnr-config-link) for detailed information on the four configuration objects [backends](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#backends-link), [models](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#models-link), [contexts](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#contexts-link) and [testCase](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#testcase-link). { "backends": [ { "backendName": "cpu_backend", "backendPath": "libQnnCpu.so", "profilingLevel": "BASIC", "backendExtensions": "libQnnHtpNetRunExtensions.so", "perfProfile": "high_performance" }, { "backendName": "gpu_backend", "backendPath": "libQnnGpu.so", "profilingLevel": "OFF" } ], "models": [ { "modelName": "model_1", "modelPath": "libqnn_model_1.so", "loadFromCachedBinary": false, "inputPath": "model_1-input_list.txt", "inputDataType": "FLOAT", "postProcessor": "MSE", "outputPath": "model_1-output", "outputDataType": "FLOAT_ONLY", "saveOutput": "NATIVE_ALL", "groundTruthPath": "model_1-golden_list.txt" }, { "modelName": "model_2", "modelPath": "libqnn_model_2.so", "loadFromCachedBinary": false, "inputPath": "model_2-input_list.txt", "inputDataType": "FLOAT", "postProcessor": "MSE", "outputPath": "model_2-output", "outputDataType": "FLOAT_ONLY", "saveOutput": "NATIVE_LAST" } ], "contexts": [ { "contextName": "cpu_context_1" }, { "contextName": "gpu_context_1" } ], "testCase": { "iteration": 5, "logLevel": "error", "threads": [ { "threadName": "cpu_thread_1", "backend": "cpu_backend", "context": "cpu_context_1", "model": "model_1", "interval": 10, "loopUnit": "count", "loop": 1 }, { "threadName": "gpu_thread_1", "backend": "gpu_backend", "context": "gpu_context_1", "model": "model_2", "interval": 0, "loopUnit": "count", "loop": 10 } ] } } Copy to clipboard **backends** : Property value is an array of json objects, where each object contains the needed backend information on which the models are executed. Each object of the array has the following properties as key/value pairs. | Key | Value Type | Default Value | Optional / Required | Description | | --- | --- | --- | --- | --- | | `backendName` | `string` | `-` | `Required` | Is a unique identifier for the testcase to designate on which backend the model should be run. | | `backendPath` | `string` | `-` | `Required` | Specifies the on device backend .so library file path. | | `profilingLevel` | `string` | `OFF` | `Optional` | Sets the QNN profiling level for the backend.
Possible values: OFF, BASIC, DETAILED.



>
>
>

    >
  • BASIC - Captures execution and init times.


  • >
  • DETAILED - In addition to BASIC captures per Op timing for execution, if backend supports.


  • >
| | `backendExtensions` | `string` | `-` | `Optional` | Enables backend specific options through optional backend extensions
shared library and config file.
`Syntax: path_to_shared_library`.


This is required to enable various performance modes which are
exercised using `perfProfile` option.
Currently, HTP supports it through `libQnnHtpNetRunExtensions.so` shared library. | | `perfProfile` | `string` | `default` | `Optional` | Specifies performance profile to set.


Possible values: `low_balanced, balanced, default, high_performance,`
`sustained_high_performance, burst, low_power_saver, power_saver,`
`high_power_saver, extreme_power_saver and system_settings`. | | `opPackagePath` | `string` | `Native QNN Ops.`
`part of the backend`
`libraries` | `Optional` | Comma seperated list of custom op packages and interface providers for registration.


`Syntax: op_package_1_path:interface_provider_1[,op_package_2_path:interface_provider_2…]` | | `platformOption` | `string` | `-` | `Optional` | Enables backend specific platform options through QnnBackend\_Config\_t.


`Syntax: "key:value"` | **models** : Property value is an array of json objects, where each object contatins details about a model and corresponding input data and post-processing information. Each object of the array has the following properties as key/value pairs. | Key | Value Type | Default Value | Optional / Required | Description | | --- | --- | --- | --- | --- | | `modelName` | `string` | `-` | `Required` | Is a unique identifier for the testcase to designate which model to run. | | `modelPath` | `string` | `-` | `Required` | Specifies the <model>.so / <serialized\_context>.bin file path. | | `loadFromCachedBinary` | `bool` | `false` | `Optional` | Set to `true` if <serialized\_context>.bin is used in `modelPath`. | | `inputPath` | `string` | `-` | `Optional` | Path to a file listing the inputs for the model.


If there are multiple graphs in the <model>.so / <serialized\_context>.bin,
this has to be comma-separated list of input path of individual graph.
Syntax: Graph1\_input\_path[,Graph2\_input\_path,…]


If not set, Random Input Data is used. | | `inputDataType` | `string` | `NATIVE` | `Optional` | Possible values: NATIVE, FLOAT. | | `postProcessor` | `string` | `-` | `Optional` | Possible values: NONE, MSE, MSE\_FLOAT32, MSE\_INT8, MSE\_INT16.
If there are multiple graphs in the <model>.so / <serialized\_context>.bin, this has to be
comma-separated list of postProcessor values.
Syntax: MSE[,NONE,…]


MSE will output a mean squared error result for each execution with the golden file specified by the parameter
`groundTruthPath`. If the `groundTruthPath` is not specified, the first execution output result is used to
compute the MSE. If the datatype of the file specified in `groundTruthPath` is different from the network’s
output type, users need to specify the relevant datatype in the `postProcessor` parameter. | | `outputPath` | `string` | `-` | `Optional` | If `postProcessor` is not `NONE`, output files and profiling logs will be saved to this directory. | | `outputDataType` | `string` | `NATIVE_ONLY` | `Optional` | Possible values: NATIVE\_ONLY, FLOAT\_ONLY, FLOAT\_AND\_NATIVE. | | `saveOutput` | `string` | `NONE` | `Optional` | Possible values: NONE, NATIVE\_LAST,NATIVE\_ALL.



>
>
>

    >
  • NATIVE_LAST - Saves only the result of the last network execution to the outputPath.


  • >
  • NATIVE_ALL - Saves the results of all network executions to the outputPath.


  • >
| | `groundTruthPath` | `string` | `NONE` | `Optional` | Specifies the golden file path for computing the MSE.
If there are multiple graphs in the <model>.so / <serialized\_context>.bin,
this has to be comma-separated list of ground truth path of individual graph.
Syntax: Graph1\_ground\_truth\_path\_[,Graph2\_ground\_truth\_path\_,…] | **contexts** : Property value is an array of json objects, where each object contains all the context information. Each object of the array has the following properties as key/value pairs. | Key | Value Type | Default Value | Optional / Required | Description | | --- | --- | --- | --- | --- | | `contextName` | `string` | `-` | `Required` | Is a unique identifier for the testcase to designate the context in which a model should be created. | | `priority` | `string` | `DEFAULT` | `Optional` | Specifies the priority of the context.
Possible values: DEFAULT, LOW, NORMAL, HIGH. | | `executeAsyncQueueDepth` | `int` | `-` | `Optional` | Specfies the queue depth for async execution. | | `cacheCompatibilityMode` | `string` | `-` | `Optional` | Specifies the cache compatibility check mode; valid values are: “permissive” (default), and “strict”. | **testCase** : Property value is a json object that specifies the testing configuration that controls multi-threaded execution. | Key | Value Type | Default Value | Optional / Required | Description | | --- | --- | --- | --- | --- | | `iteration` | `int` | `-` | `Required` | Number of times the entire use case is repeated. If the value is `negative`, test runs forever
until keyboard interrupt. | | `logLevel` | `string` | `-` | `Optional` | Specifies max logging level to be set. Valid settings: `error`, `warn`, `info`, `debug`, and `verbose` | | `threads` | `string` | `-` | `Required` | Property value is an array of json objects, where each object contains all the thread details,
that are to be executed by the qnn-throughput-net-run. Each object of the array has the below
properties listed under [threads](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#threads-link) as key/value pairs. | `threads` : Property value is an array containing all the threads and corresponding backend, context and models information. Each element of the array can have the following required/optional property. | Key | Value Type | Default Value | Optional / Required | Description | | --- | --- | --- | --- | --- | | `threadName` | `string` | `-` | `Required` | Is a unique identifier for the testcase to identify the thread and save the output results. | | `backend` | `string` | `-` | `Required` | Specifies the backend to be used when this thread executes the graph.
The value specified should match with one of the `backendName` entry in the `backends` property of the configuration json. | | `context` | `string` | `-` | `Required` | Specifies the context to be used when this thread executes the graph.
The value specified should match with one of the `contextName` entry in the `contexts` property of the configuration json. | | `model` | `string` | `-` | `Required` | Specifies the model to be used by the thread for execution.
The value specified should match with one of the `modelName` entry in the `models` property of the configuration json. | | `initModelInLoop` | `bool` | `false` | `Optional` | Set it to `true` if the model needs to be initialized repeatedly for every iteration. The value cannot be set to `true`
if `loadFromCachedBinary` from `models` property is `true`. | | `loadInputDataInLoop` | `bool` | `false` | `Optional` | Set it to `true` if the input needs to be reloaded for every loop of execution. | | `useRandomData` | `bool` | `false` | `Optional` | Set it to `true` if random data is needed to be used as input. | | `interval` | `int` | `0` | `Optional` | Repesents the interval (in microseconds) between each graph execution in the thread. | | `executionFrequency` | `uint` | `0` | `Optional` | Specifies the target execution rate for the thread, in executions per second (Hz).
When set to a non-zero value, each iteration sleeps until the next period boundary
(`1000 / executionFrequency` ms) to maintain a fixed cadence. If an execution
exceeds the period, a warning is logged. Set to `0` to disable rate control (default).
Cannot be set together with `initModelInLoop` or `loadInputDataInLoop`. | | `loopUnit` | `string` | `count` | `Optional` | Possible values: count, second. | | `loop` | `int` | `1` | `Optional` | Value is taken either as seconds or count based on the value for the `loopUnit`.
If `loopUnit` is `second`, the value specifies the number of seconds the threads repeats execution.
If `loopUnit` is `count`, the value specifies number of times thread repeats execution. | | `executeAsynchronous` | `bool` | `false` | `Optional` | Set it to `true` if the graphs should be executed asynchronously rather than synchronously.
If the backend does not support asynchronous execution, this option results in an error. | | `backendConfig` | `string` | `-` | `Optional` | Specifies the backend config file to enable backend specific options through `backendExtensions`
shared library.
`Syntax: path_to_backend_config_file`. | An example json file `sample_config.json` file can be found at `/examples/QNN/ThroughputNetRun`. ## Analysis ### qairt-accuracy-evaluator The **qairt-accuracy-evaluator** tool provides a framework to evaluate end-to-end accuracy metrics for a model on a given dataset. In addition, the tool can be used to identify the best quantization options for a model on a given set of inputs. **Dependencies** The QNN Accuracy Evaluator assumes that the platform dependencies and environment setup instructions have been followed as outlined in the [Setup](https://docs.qualcomm.com/doc/80-63442-10/topic/general_setup.html) page. Certain additional python packages are required by this tool, refer to Optional Python packages. Note: The qairt-accuracy-evaluator currently supports only ONNX models. #### Usage User needs to set QNN\_SDK\_ROOT environment variable to root directory of QNN SDK. The following environment variables might need to be set with appropriate values: QNN\_MODEL\_ZOO : Path to model zoo. If not set, an absolute path must be provided explicitly. Note: This environment variable is required only if the model path supplied isn’t absolute and relative to the set model zoo path. ADB\_PATH : Set the path to the ADB binary. If not set, it is queried and set from its executable path. To conduct an accuracy analysis of a given model using a specific dataset, the user must create a configuration that specifies the backends, quantization options, and reference inference frameworks. Sample config files can be found at ${QNN_SDK_ROOT}/lib/python/qti/aisw/accuracy_evaluator/configs/samples/model_configs. The high-level structure of a model config is shown below: model info globals dataset preprocessing inference-engine adapter # This is only applicable when use_memory_plugins is enabled postprocessing verifier metrics Copy to clipboard Users can utilize the info section of the model configuration to provide a brief description of the model or dataset being evaluated and specify the maximum number of calibration inputs for quantization. These fields are optional and default to None. Additionally, users can define constants to be used throughout their configuration. These variables can be overridden from the CLI using the -set\_global command, offering convenience and flexibility. Note that the values provided are applicable only within the model configuration and not accessible within the script itself. The evaluator will replace strings (variable names) within the configuration with user-defined values before the start of the evaluation. User needs to provide all dataset information under the dataset section in the model config file, failing which, an error is thrown. An example of this is shown below: dataset: name: COCO2014 path: '/home/ml-datasets/COCO/2014/' inputlist_file: inputlist.txt calibration: type: index file: calibration-index.txt Copy to clipboard Details of the dataset fields is as follows: | Field | Description | | --- | --- | | name | Name of the dataset | | path | Base directory of the dataset files | | inputlist\_file | Text file containing all the pre-processed input files relative to the path field, one input per line.


For models having multiple inputs, the inputs in each line have to be comma separated | | calibration | - Specifies the calibration file type to be used with quantization. Optional. It has following params
-


  • type: Type can be ‘index’, ‘raw’ or ‘dataset’

    • index - File provided contains the indexes to be picked from inputlist for calibration


    • raw - File provided contains entries of pre-processed raw files for calibration


    • dataset - File provided contains images processed separately and passed to inference






  • file: pre-processed calibration file name


| The inference engine is used to run the model on multiple inference schemas. A sample inference engine section is shown below, followed by the description of the different configurable entries in the inference section. inference-engine: model_path: MLPerfModels/ResNetV1.5/modelFiles/ONNX/resnet50_v1.onnx simplify_model : True inference_schemas: - inference_schema: name: qnn precision: quant target_arch: x86_64-linux-clang backend: htp tag: qnn_int8_htp_x86 converter_params: float_bias_bitwidth: 32 quantizer_params: param_quantizer_schema: symmetric act_quantizer_calibration: min-max use_per_channel_quantization: True backend_extensions: vtcm_mb: 4 rpc_control_latency: 100 dsp_arch: v75 #mandatory inputs_info: - input_tensor_0: type: float32 shape: ["*", 3, 224, 224] outputs_info: - ArgMax_0: type: int64 shape: ["*"] - softmax_tensor_0: type: float32 shape: ["*", 1001] Copy to clipboard Details of each configurable entry is given below: | Field | Description | | --- | --- | | model\_path | Absolute or relative path of the model. If the path is relative, it would be taken relative to MODEL\_ZOO\_PATH,
if set, else absolute path is needed. | | simplify\_model | Flag to enable or disable model simplification for ONNX models. By default, this flag is set to True and the model would be simplified. Note: Model simplification would be skipped for models having custom operators or for inference schemas having quantization\_overrides parameter configured. | | inference\_schemas | - List of inference schemas to perform inference on. Each inference\_schema has further entries as the following:
-

  • name - Name of the inference schema. Options: qnn, onnxrt, tensorflow, torchscript, tensorflow-session


  • precision - Precision to run inference on. Options: fp32, fp16, int8/quant


  • target_arch - Target architecture on which to run inference. Options: x86_64-linux-clang, aarch64-android, wos


  • backend - Backend on which to run inference. Allowed backends for x86_64-linux-clang: {cpu,htp}, aarch64: {cpu,gpu,htp} and wos: {cpu,htp}.


  • tag - Tag unique for a inference schema


  • converter_params - Params to be passed as arguments to converter


  • quantizer_params - Params to be passed as arguments to quantizer


  • contextbin_params - Params to be passed as arguments to context-binary-generator


  • netrun_params - Params to be passed as arguments to net-run


  • backend_extensions - Params to be passed as backend extensions config file to context-binary-generator and net-run


| | input\_info | - Information about each model input. Requires following params in the given order
-

  • type - numpy type (float16, float32, float64, int8, int16, int32, int64)


  • shape - list of dimensions


| | output\_info | - Information about each model output. Requires following params in the given order
-

  • type - numpy type (float16, float32, float64, int8, int16, int32, int64)


  • shape - list of dimensions


| Note For HTP backend emulation on host, set the backend to “htp” and target\_arch as “x86\_64-linux-clang” in the configuration file. For HTP backend execution on Android device, set the backend to “htp” and target\_arch as “aarch64-android” in the configuration file. Also, users must provide the dsp\_arch version such as “v69”, “v73”, “v75” under the backend\_extensions section. For HTP backend execution on Windows on Snapdragon, set the backend to “htp” and target\_arch as “wos” in the configuration file. Also, users must provide the dsp\_arch version such as “v69”, “v73”, “v75” under the backend\_extensions section. The adapter section in the model configuration is valid only when the user enables use\_memory\_plugins. Command line options available for config mode are as follows: qairt-acc-evaluator options options: -config CONFIG path to model config yaml -work_dir WORK_DIR working directory path. default is ./qacc_temp -onnx_symbol ONNX_SYMBOL [ONNX_SYMBOL ...] Replace onnx symbols in input/output shapes. Can be passed as list of multiple items. Default replaced by 1. Example: __unk_200:1 -device_id DEVICE_ID Target device id to be provided -inference_schema_type INFERENCE_SCHEMA_TYPE run only the inference schemas with this name. Example: qnn, onnxrt -inference_schema_tag INFERENCE_SCHEMA_TAG run only this inference schema tag -cleanup CLEANUP end: deletes the files after all stages are completed. intermediate: deletes after previous stage outputs are used. (default:'') -use_memory_plugins Flag to enable memory plugins. -silent Run in silent mode. Do not expect any CLI input from user. -debug Enable debug logs on console and the file. (default: False) -set_global SET_GLOBAL [SET_GLOBAL ...] Option used to override global variables provided in the model configuration. Multiple global variables can be specified. Example: -set_global count:10 -set_global calib:5 (default: None) Copy to clipboard **Config file options** - inference_schema: name: qnn target_arch: x86_64-linux-clang backend: cpu precision: fp32 tag: qnn_cpu_x86 - inference_schema: name: qnn target_arch: aarch64-android backend: cpu precision: fp32 tag: qnn_cpu_android - inference_schema: name: qnn target_arch: wos backend: cpu precision: fp32 tag: qnn_cpu_x86 - inference_schema: name: qnn target_arch: aarch64-android backend: gpu precision: fp32 tag: qnn_gpu_android - inference_schema: name: qnn target_arch: x86_64-linux-clang backend: htp precision: quant tag: htp_int8 converter_params: quantization_overrides: "path to the ext quant json" quantizer_params: param_quantizer_calibration: min-max | sqnr param_quantizer_schema: asymmetric | symmetric use_per_channel_quantization: True | False use_per_row_quantization: True | False act_bitwidth: 8 | 16 bias_bitwidth: 8 | 32 weights_bitwidth: 8 | 4 backend_extensions: dsp_arch: v79 # mandatory vtcm_mb: 4 rpc_control_latency: 100 - inference_schema: name: qnn target_arch: aarch64-android backend: htp precision: quant tag: htp_int8 converter_params: quantization_overrides: "path to the ext quant json" quantizer_params: param_quantizer_calibration: min-max | sqnr param_quantizer_schema: asymmetric | symmetric use_per_channel_quantization: True | False use_per_row_quantization: True | False act_bitwidth: 8 | 16 bias_bitwidth: 8 | 32 weights_bitwidth: 8 | 4 backend_extensions: dsp_arch: v79 # mandatory vtcm_mb: 4 rpc_control_latency: 100 - inference_schema: name: qnn target_arch: wos backend: htp precision: quant tag: htp_int8 converter_params: quantization_overrides: "path to the ext quant json" quantizer_params: param_quantizer_calibration: min-max | sqnr param_quantizer_schema: asymmetric | symmetric use_per_channel_quantization: True | False use_per_row_quantization: True | False act_bitwidth: 8 | 16 bias_bitwidth: 8 | 32 weights_bitwidth: 8 | 4 backend_extensions: dsp_arch: v79 # mandatory vtcm_mb: 4 rpc_control_latency: 100 Copy to clipboard **Verifiers** The verifier section provides information about the verifier being used to compare the inference outputs, in case of multiple inference schemas. A sample verifier section is shown below, followed by the description of the different configurable entries in the section. verifier: enabled: True fetch_top: 1 type: average tol: 0.01 Copy to clipboard Details of each configurable entry is given below: | Field | Description | | --- | --- | | verifier | - If multiple inference schemas are provided, compare the inference outputs with the reference inference schema. If reference inference schema isn’t defined, the first inference schema is considered the reference. If only one inference schema is defined, verifier isn’t executed. The following params need to be provided:
-

  • enabled - By default enabled (True)


  • fetch_top - Fetch top ‘n’ highest mismatching outputs, Default 1


  • type - One of in-built verifiers (average, cosine, l1_norm, l2_norm). Default average


  • tol - Tolerance value. Default 0.001


| Following are the verifiers that can be used to compare the outputs. 1. **cosine** - Comparison between two tensors based on the Cosine Similarity score 2. **average** - Comparison between two tensors based on the average difference between the two tensors 3. **l1\_norm** - Comparison between two tensors based on the L1 Norm of the difference 4. **l2\_norm** - Comparison between two tensors based on the L2 Norm of the difference 5. **standard\_deviation** - Comparison between two tensors based on the standard deviation difference 6. **mse** - Comparison between two tensors based on the Mean Square Error between the tensors 7. **snr** - Signal to Noise Ratio between the two tensors 8. **kl\_divergence** - KL Divergence value between the two tensors **Plugins** Plugins are Python classes used to implement different stages of the inference pipeline, such as dataset handling, preprocessing, postprocessing, and metrics logic. **Dataset** and **pre-processing** plugins perform transformations to the input before they are passed to inference. **Adapter** plugins convert the model’s inference outputs into standard formats for use by subsequent postprocessor or metric plugins. Note: This is applicable only when use\_memory\_plugins is enabled. **Post-processing** plugins transform inference outputs. **Metric** plugins analyze inference outputs to assess their accuracy Sample plugins are provided in the SDK at ${QNN_SDK_ROOT}/lib/python/qti/aisw/accuracy_evaluator/plugins. Users can implement their own plugins (custom plugins) to meet their specific requirements. To include custom plugins, export the CUSTOM_PLUGIN_PATH environment variable pointing to the location of the custom plugin(s), so that they are also included while registering the plugin(s). export CUSTOM_PLUGIN_PATH=/path/to/custom/plugins/directory Copy to clipboard In the model configuration file, plugins are defined as a transformation chain, as shown below: transformations: - plugin: name: resize params: dims: 416,416 channel_order: RGB type: letterbox - plugin: name: normalize - plugin: name: convert_nchw Copy to clipboard Plugins required for dataset transformation are configured in the dataset section as shown below. dataset: name: ILSVRC2012 path: '/home/ml-datasets/imageNet/' inputlist_file: inputlist.txt annotation_file: ground_truth.txt calibration: type: dataset file: calibration.txt transformations: - plugin: name: filter_dataset params: random: False max_inputs: -1 max_calib: -1 Copy to clipboard The preprocessing and postprocessing plugins that the user wishes to use are configured in the processing section as shown below: preprocessing: transformations: - plugin: name: resize params: dims: 416,416 channel_order: RGB type: letterbox - plugin: name: normalize postprocessing: squash_results: True transformations: - plugin: name: object_detection params: dims: 416,416 type: letterbox dtypes: [float32, float32, float32, float32] Copy to clipboard Metric calculation plugins are configured in the metrics section as shown below. metrics: transformations: - plugin: name: topk params: kval: 1,5 softmax_index: 1 round: 7 label_offset: 1 Copy to clipboard Plugins that need to be executed for a pipeline stage are listed under ‘transformations’ and preceded by the ‘plugin’ keyword. The following table lists details of each configurable entry for a plugin. | Field | Description | | --- | --- | | name | Name of the plugin | | params | Parameters expected and required by the plugin | A complete list of all plugins and their parameters can be found at Accuracy Evaluator Plugins **Sample Command** qairt-accuracy-evaluator -config {path to configs}/qnn_resnet50_config.yaml Copy to clipboard **Results** The tool displays a table with quantization options ordered by output match based on the selected verifier and also generates a csv file with the same data. The comparator column shows output match percentage/value based on the selected verifier.The quant params column displays the quantization params used for that run. Other columns also show backend, runtime/compile params used. The information is also stored in a csv file at {work_dir}/metrics-info.csv. Artifacts associated with each of the configured quantization option are stored at ` {work_dir}/infer/schema{i}_qnn_{backend}_{precision}_{j}`. Model outputs are stored at ` {work_dir}/infer/schema{i}_qnn_{backend}_{precision}_{j}/Result_{k}`. Note Snapshot of console log has been added for clarity. ![../_static/resources/qnn_acc_eval_output.png](data:image/png;base64,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) Note Snapshot of csv file has been added for clarity. ![../_static/resources/qnn_acc_eval_csv.png](data:image/png;base64,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) ### qnn-architecture-checker ([Beta](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-ai-tools-beta-note)) Architecture Checker is a tool made for models running with HTP backend, including quantized 8-bit, quantized 16-bit and FP16 models. It outputs a list of issues in the model that keep the model from getting better performance while running on the HTP backend. Architecture checker tool can be invoked with the modifier feature which will apply the recommended modifications for these issues. This will help in visualizing the changes that can be applied to the model to make it a better fit on the HTP backend. X86-Linux/ WSL Usage: $ qnn-architecture-checker -i /model.json -b /model.bin -o -m X86-Windows/ Windows on Snapdragon Usage: $ python qnn-architecture-checker -i /model.json -b /model.bin -o -m required arguments: -i INPUT_JSON, --input_json INPUT_JSON Path to json file optional arguments: -b BIN, --bin BIN Path to a bin file -o OUTPUT_PATH, --output_path OUTPUT_PATH Path where the output csv should be saved. If not specified, the output csv will be written to the same path as the input file -m MODIFY, --modify MODIFY The query to select the modifications to apply. --modify or --modify show - To see all the possible modifications. Display list of rule names and details of the modifications. --modify all - To apply all the possible modifications found for the model. --modify apply=rule_name1,rule_name2 - To apply modifications for specified rule names. The list of rules should be comma separated without spaces Copy to clipboard Note: If running on a quantized model, the quantized model generated with one input image is good enough to satisfy the quantization requirement to have the tool run properly. QNN\_SDK\_ROOT environment variable must be configured before running the tool. Deprecation Note: The option of enabling architecture checker by passing ‘–arch\_checker’ in each converter listed above will be deprecated. E.g: Running qnn-tflite-converter -i <path>/model.tflite -d <network\_input\_name> <dims> -o <optional\_output\_path> -p <optional\_package\_name> –arch\_checker will be deprecated. To enable the Architecture checker, run the converter tool without passing the ‘–arch\_checker’ argument, then run the qnn-architecture-checker command to see the architecture checker output. The usage of “–modify” is only supported with the qnn-architecture-checker command. The output is a csv file and will be saved as <optional\_output\_path>/<model\_name>\_architecture\_checker.csv. An example output is shown below: | | Graph/Node\_name | Issue | Recommendation | Type | Input\_tensor\_name:[dims] | Output\_tensor\_name:[dims] | Parameters | Previous node | Next nodes | Modification | Modification\_info | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 1 | Graph | This model uses 16-bit activation data. 16-bit activation data
takes twice the amount of memory than 8-bit activation data does. | Try to use a smaller datatype to get better performance. E.g., 8-bit | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | 2 | Node\_name\_1 | The number of channels in the input/output tensor of
this convolution node is low (smaller than 32). | Try increasing the number of channels in the input/output
tensor to 32 or greater to get better performance. | Conv2d | input\_1:[1, 250, 250, 3], \_\_param\_1:[5, 5, 3, 32], convolution\_0\_bias:[32] | output\_1:[1, 123, 123, 32] | {‘package’: ‘qti.aisw’, ‘type’: ‘Conv2d’, …} | [‘previous\_node\_name’] | [‘next\_node\_name1’, ‘next\_node\_name2’] | N/A | N/A | **How to read the example output csv?** Row 1: This is an issue on the graph, the graph is using 16-bit activation data, as said in the recommendation, changing the activation from 16 bit to 8 bit gives better performance. Row 2: The issue is on the node with QNN node name as “Node\_name\_1”. This node has three inputs: input\_1, \_\_param\_1 and convolution\_0\_bias where the dimensions are [1, 250, 250, 3], [5, 5, 3, 32] and [32] respectively. This node has one output with QNN tensor name output\_1 and the dimension of this tensor is [1, 123, 123, 32]. The type of this node is Conv2d. The previous/next node names and the full set of additional node parameters available in the Parameters column that can be used to locate the node inside the original model. The issue for this node is the channel of the input tensor is low, as the channel is smaller than 32, would recommend to increase the channel to at least 32 to get better performance on HTP backend. Currently the input dimension is [1, 250, 250, 3] and ideally have that to be [1, x, x, 32]. The Modification and Modification\_info columns provide details about the modifications applied to the node. If the Architecture Checker isn’t invoked with modifier or if there aren’t any modifications applicable, then these value will be N/A. **Is the QNN node/tensor name the same in the original model?** It isn’t the same but should be similar. There is naming sanitization in converter in order to meet the QNN naming standard. The input tensor, output tensor, previous node, next node and all the additional parameters are avaliable in the output csv file to help locate the correct node inside the original model. **Sample Command** qnn-architecture-checker --input_json ./model_net.json --bin ./model.bin --output_path ./archCheckerOutput Copy to clipboard **Architecture Checker - Model Modifier** For appying modifications to the model, the Architecture Checker can be invoked with “–modify” or “–modify show” which will display a list of possible modifications. In this case, the Architecture Checker tool will only show the rule names and modification detail. It will run without making any changes to the model and generate the csv output. Using the rule names from the above run, the Architecture Checker can be invoked with “–modify all” or “–modify apply=rule\_name1,rule\_name2”. In this case, the rule specific changes will be applied to the model and the changes can be viewed in the updated model json. Additionally, the output csv will also contain information related to the modifications. Consider the below csv output generated after applying “–modify apply=elwisediv” modification on an example model. | | Graph/Node\_name | Issue | Recommendation | Type | Input\_tensor\_name:[dims] | Output\_tensor\_name:[dims] | Parameters | Previous node | Next nodes | Modification | Modification\_info | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 1 | Node\_name\_1 | ElementWiseDivide usually has poor performance compared to ElementWiseMultiply. | Try replacing ElementWiseDivide with ElementWiseMultiply using the reciprocal
value to get better performance. | Eltwise\_Binary | input\_1:[1, 52, 52, 6], input\_2:[1] | output\_1:[1, 52, 52, 6] | {‘package’: ‘qti.aisw’, ‘eltwise\_type’: ‘ElementWiseDivide’, …} | [‘previous\_node\_name’] | [‘next\_node\_name1’, ‘next\_node\_name2’] | Done | ElementWiseDivide has been replaced by ElementWiseMultiply using the reciprocal value | | 2 | Node\_name\_2 | The number of channels in the input/output tensor of this convolution node is low
(smaller than 32). | Try increasing the number of channels in the input/output tensor to 32 or greater
to get better performance. | Conv2d | input\_3:[1, 250, 250, 3], \_\_param\_1:[5, 5, 3, 32], convolution\_1\_bias:[32] | output\_2:[1, 123, 123, 32] | {‘package’: ‘qti.aisw’, ‘type’: ‘Conv2d’, …} | [‘previous\_node\_name’] | [‘next\_node\_name1’, ‘next\_node\_name2’] | N/A | N/A | **How to read the example output csv?** Row 1: The issue on the node with QNN node name as “Node\_name\_1” is that it has element wise divide which gives a poor performance as compared to elementwise multipy. After invoking architecture checker with “–modify apply=elwisediv”, the modifications have been successfully applied i.e. the element wise divide is replaced by element wise multiply with a reciprocal value. This information is available in the Modification and Modification\_info columns. Row 2: The issue on the node with QNN node name as “Node\_name\_2” is that the node has input tensor with number of channels less than 32. Its recommended to increase the number of channels to 32 or greater for better performance. For this issue, the modification through the tool is not applicable hence the Modification and Modification\_info columns are N/A. After modifying the model, the above run will generate updated model.cpp, model\_net.json and/or model.bin along with the csv output. Running the Architecture Checker on the updated model json will no longer show the element wise divide issue on Node\_Name\_1. Following are the commands to invoke Architecture Checker with Modifier to display list of modifications: **Sample Command** qnn-architecture-checker --input_json ./model_net.json --bin ./model.bin --output_path ./archCheckerOutput --modify Copy to clipboard **Sample Command** qnn-architecture-checker --input_json ./model_net.json --bin ./model.bin --output_path ./archCheckerOutput --modify show Copy to clipboard Following are the commands to apply the modifications either on all possible modifications or specific rules: **Sample Command** qnn-architecture-checker --input_json ./model_net.json --bin ./model.bin --output_path ./archCheckerOutput --modify all Copy to clipboard **Sample Command** qnn-architecture-checker --input_json ./model_net.json --bin ./model.bin --output_path ./archCheckerOutput --modify apply=prelu,elwisediv Copy to clipboard Note: The Architecture Checker with modifier is an enchancement to help visualize the changes that can be applied on the model to better fit it on the HTP. To see the actual performance improvements, the model may require retraining/redesigning. ### qnn-accuracy-debugger ([Beta](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#qnn-ai-tools-beta-note)) Warning `qnn-accuracy-debugger` tool will be deprecated and will no longer receive new features or support. Please transition to `qairt-accuracy-debugger` tool. **Dependencies** The Accuracy Debugger depends on the setup outlined in [Setup](https://docs.qualcomm.com/doc/80-63442-10/topic/general_setup.html). In particular, the following are required: > > > 1. Platform dependencies are need to be met as per Platform Dependencies > 2. The desired ML frameworks need to be installed. Accuracy debugger is verified to work with the ML framework versions mentioned at [Environment Setup](https://docs.qualcomm.com/doc/80-63442-10/topic/setup.html#environment-setup-linux) The following environment variables are used inside this guide (User may change the following path depending on their needs): > > > 1. RESOURCESPATH = {Path to the directory where all models and input files reside} > 2. PROJECTREPOPATH = {Path to your accuracy debugger project directory} **Supported models** The qnn-accuracy-debugger currently supports ONNX, TFLite, and Tensorflow 1.x models. Pytorch models are supported only in oneshot-layerwise debugging algorithm of tool. **Overview** The **accuracy-debugger** tool finds inaccuracies in a neural-network at the layer level. The tool compares the golden outputs produced by running a model through a specific ML framework (ie. Tensorflow, Onnx, TFlite) with the results produced by running the same model through Qualcomm’s QNN Inference Engine. The inference engine can be run on a variety of computing mediums including GPU, CPU and DSP. The following features are available in Accuracy Debugger. Each feature can be run with its corresponding option; for example, `qnn-accuracy-debugger --{option}`. > > > 1. **qnn-accuracy-debugger -–framework\_runner** This feature uses a ML framework e.g. tensorflow, tflite or onnx, to run the model to get intermediate outputs. Note: The argument –framewok\_diagnosis has been replaced by –framework\_runner. –framework\_diagnosis will be deprecated in the future release. > 2. **qnn-accuracy-debugger –-inference\_engine** This feature uses the QNN engine to run a model to retrieve intermediate outputs. > 3. **qnn-accuracy-debugger –-verification** This feature compares the output generated by the framework runner and inference engine features using verifiers such as CosineSimilarity, RtolAtol, etc. > 4. **qnn-accuracy-debugger –compare\_encodings** This feature extracts encodings from a given QNN net JSON file, compares them with the given AIMET encodings, and outputs an Excel sheet highlighting mismatches. > 5. **qnn-accuracy-debugger –tensor\_inspection** This feature compares given target outputs with reference outputs. > 6. **qnn-accuracy-debugger –quant\_checker** This feature analyzes the activations, weights, and biases of all the possible quantization options available in the qnn-converters for each subsequent layer of a given model. - Tip: - - You can use –help after the bin commands to see what other options (required or optional) you can add. - If no option is provided, Accuracy Debugger runs framework\_runner, inference\_engine, and verification sequentially. Below are the instructons for running the Accuracy Debugger: #### Framework Runner (qnn-accuracy-debugger) The Framework Runner feature is designed to run models with different machine learning frameworks (e.g. Tensorflow, etc). A selected model is run with a specific ML framework. Golden outputs are produced for future comparison with inference results from the Inference Engine step. #### Usage usage: qnn-accuracy-debugger --framework_runner [-h] -f FRAMEWORK [FRAMEWORK ...] -m MODEL_PATH -i INPUT_TENSOR [INPUT_TENSOR ...] -o OUTPUT_TENSOR [-w WORKING_DIR] [--output_dirname OUTPUT_DIRNAME] [-v] [--disable_graph_optimization] [--onnx_custom_op_lib ONNX_CUSTOM_OP_LIB] [--add_layer_outputs ADD_LAYER_OUTPUTS] [--add_layer_types ADD_LAYER_TYPES] [--skip_layer_types SKIP_LAYER_TYPES] [--skip_layer_outputs SKIP_LAYER_OUTPUTS] [--start_layer START_LAYER] [--end_layer END_LAYER] [--use_native_output_files] Script to generate intermediate tensors from an ML Framework. optional arguments: -h, --help show this help message and exit required arguments: -f FRAMEWORK [FRAMEWORK ...], --framework FRAMEWORK [FRAMEWORK ...] Framework type and version, version is optional. Currently supported frameworks are ["tensorflow","onnx","tflite"] case insensitive but spelling sensitive -m MODEL_PATH, --model_path MODEL_PATH Path to the model file(s). -i INPUT_TENSOR [INPUT_TENSOR ...], --input_tensor INPUT_TENSOR [INPUT_TENSOR ...] The name, dimensions, raw data, and optionally data type of the network input tensor(s) specifiedin the format "input_name" comma-separated-dimensions path- to-raw-file, for example: "data" 1,224,224,3 data.raw float32. Note that the quotes should always be included in order to handle special characters, spaces, etc. For multiple inputs specify multiple --input_tensor on the command line like: --input_tensor "data1" 1,224,224,3 data1.raw --input_tensor "data2" 1,50,100,3 data2.raw float32. -o OUTPUT_TENSOR, --output_tensor OUTPUT_TENSOR Name of the graph's specified output tensor(s). optional arguments: -w WORKING_DIR, --working_dir WORKING_DIR Working directory for the framework_runner to store temporary files. Creates a new directory if the specified working directory doesn't exist --output_dirname OUTPUT_DIRNAME output directory name for the framework_runner to store temporary files under /framework_runner. Creates a new directory if the specified working directory doesn't exist -v, --verbose Verbose printing --disable_graph_optimization Disables basic model optimization --onnx_custom_op_lib ONNX_CUSTOM_OP_LIB path to onnx custom operator library (below options are supported only for onnx and ignored for other frameworks) --add_layer_outputs ADD_LAYER_OUTPUTS Output layers to be dumped. example:1579,232 --add_layer_types ADD_LAYER_TYPES outputs of layer types to be dumped. e.g :Resize,Transpose. All enabled by default. --skip_layer_types SKIP_LAYER_TYPES comma delimited layer types to skip snooping. e.g :Resize, Transpose --skip_layer_outputs SKIP_LAYER_OUTPUTS comma delimited layer output names to skip debugging. e.g :1171, 1174 --start_layer START_LAYER save all intermediate layer outputs from provided start layer to bottom layer of model --end_layer END_LAYER save all intermediate layer outputs from top layer to provided end layer of model --use_native_output_files Dumps outputs as per framework model's actual data types. Please note: All the command line arguments should either be provided through command line or through the config file. They will not override those in the config file if there is overlap. Copy to clipboard **Sample Commands** qnn-accuracy-debugger \ --framework_runner \ --framework tensorflow \ --model_path $RESOURCESPATH/samples/InceptionV3Model/inception_v3_2016_08_28_frozen.pb \ --input_tensor "input:0" 1,299,299,3 $RESOURCESPATH/samples/InceptionV3Model/data/chairs.raw \ --output_tensor InceptionV3/Predictions/Reshape_1:0 qnn-accuracy-debugger \ --framework_runner \ --framework onnx \ --model_path $RESOURCESPATH/samples/dlv3onnx/dlv3plus_mbnet_513-513_op9_mod_basic.onnx \ --input_tensor Input 1,3,513,513 $RESOURCESPATH/samples/dlv3onnx/data/00000_1_3_513_513.raw \ --output_tensor Output To run model with custom operator: qnn-accuracy-debugger \ --framework_runner \ --framework onnx \ -input_tensor "image" 1,3,640,640 $RESOURCESPATH/models/yolov3/batched-inp-107-0.raw \ --model_path $RESOURCESPATH/models/yolov3/yolov3_640_640_with_abp_qnms.onnx \ --output_tensor detection_boxes \ --onnx_custom_op_lib $RESOURCESPATH/models/libCustomQnmsYoloOrt.so Copy to clipboard - TIP: - - a working\_directory, if not otherwise specified, is generated from wherever you are calling the script from; it is recommended to call all scripts from the same directory so all your outputs and results are stored under the same directory without having outputs everywhere - for tensorflow it is sometimes necessary to add the :0 after the input and output node name to signify the index of the node. Notice the :0 is dropped for onnx models. **Output** The program also creates a directory named *latest* in working_directory/framework_runner which is symbolically linked to the most recently generated directory. In the example below, *latest* will have data that is symlinked to the data in the most recent directory *YYYY-MM-DD\_HH:mm:ss*. Users may choose to override the directory name by passing it to –output\_dirname (i.e. –output\_dirname myTest1Ouput). The *float data* produced by the **Framework Runner** step offers precise reference material for the **Verification** component to diagnose the accuracy of the network generated by the **Inference Engine**. Unless a path is otherwise specified, the Accuracy Debugger will create directories within the working_directory/framework_runner directory found in the current working directory. The directories will be named with the date and time of the program’s execution, and contain tensor data. Depending on the tensor naming convention of the model, there may be numerous sub-directories within the new directory. This occurs when tensor names include a slash “/”. For example, for the tensor names ‘inception\_3a/1x1/bn/sc’, ‘inception\_3a/1x1/bn/sc\_internal’ and ‘inception\_3a/1x1/bn’, subdirectories will be generated. ![../_static/resources/framework_runner.png](data:image/png;base64,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) The figure above shows a sample output from a framework\_runner run. InceptionV3 and Logits contain the outputs of each layer before the last layer. Each output directory contains the .raw files corresponding to each node. Every raw file that can be seen is the output of an operation. The outputs of the final layer are saved inside the Predictions directory. The file framework\_runner\_options.json contains all the options used to run this feature. #### Inference Engine (qnn-accuracy-debugger) The Inference Engine feature is designed to find the outputs for a QNN model. The output produced by this step can be compared with the golden outputs produced by the framework runner step. #### Usage usage: qnn-accuracy-debugger --inference_engine [-h] -l INPUT_LIST -r {cpu,gpu,dsp,dspv68,dspv69,dspv73,dspv75,dspv79,htp} -a {x86_64-linux-clang,aarch64-android,wos-remote,x86_64-windows-msvc,wos} [--stage {source,converted,compiled}] [-i INPUT_TENSOR [INPUT_TENSOR ...]] [-o OUTPUT_TENSOR] [-m MODEL_PATH] [-f FRAMEWORK [FRAMEWORK ...]] [-qmcpp QNN_MODEL_CPP_PATH] [-qmbin QNN_MODEL_BIN_PATH] [-qmb QNN_MODEL_BINARY_PATH] [-p ENGINE_PATH] [-e ENGINE_NAME [ENGINE_VERSION ...]] [--deviceId DEVICEID] [-v] [--host_device {x86,x86_64-windows-msvc,wos}] [-w WORKING_DIR] [--output_dirname OUTPUT_DIRNAME] [--debug_mode_off] [-bbw {8,32}] [-abw {8,16}] [-wbw {8,16}] [-nif] [-nof] [-qo QUANTIZATION_OVERRIDES] [--golden_output_reference_directory GOLDEN_OUTPUT_REFERENCE_DIRECTORY] [-mn MODEL_NAME] [--args_config ARGS_CONFIG] [--print_version PRINT_VERSION] [--perf_profile {low_balanced,balanced,high_performance,sustained_high_performance,burst,low_power_saver,power_saver,high_power_saver,extreme_power_saver,system_settings}] [--offline_prepare] [--extra_converter_args EXTRA_CONVERTER_ARGS] [--extra_runtime_args EXTRA_RUNTIME_ARGS] [--remote_server REMOTE_SERVER] [--remote_username REMOTE_USERNAME] [--remote_password REMOTE_PASSWORD] [--float_fallback] [--profiling_level {basic,detailed,backend}] [--lib_name LIB_NAME] [-bd BINARIES_DIR] [-pq {tf,enhanced,adjusted,symmetric}] [--act_quantizer {tf,enhanced,adjusted,symmetric}] [--act_quantizer_calibration {min-max,sqnr,entropy,mse,percentile}] [--param_quantizer_calibration {min-max,sqnr,entropy,mse,percentile}] [--act_quantizer_schema {asymmetric,symmetric,unsignedsymmetric}] [--param_quantizer_schema {asymmetric,symmetric,unsignedsymmetric}] [--percentile_calibration_value PERCENTILE_CALIBRATION_VALUE] [-fbw {16,32}] [-rqs RESTRICT_QUANTIZATION_STEPS] [--algorithms ALGORITHMS] [--ignore_encodings] [--per_channel_quantization] [--log_level {error,warn,info,debug,verbose}] [--qnn_model_net_json QNN_MODEL_NET_JSON] [--qnn_netrun_config_file QNN_NETRUN_CONFIG_FILE] [--compiler_config COMPILER_CONFIG] [--context_config_params CONTEXT_CONFIG_PARAMS] [--graph_config_params GRAPH_CONFIG_PARAMS] [--start_layer START_LAYER] [--end_layer END_LAYER] [--add_layer_outputs ADD_LAYER_OUTPUTS] [--add_layer_types ADD_LAYER_TYPES] [--skip_layer_types SKIP_LAYER_TYPES] [--skip_layer_outputs SKIP_LAYER_OUTPUTS] [--extra_contextbin_args EXTRA_CONTEXTBIN_ARGS] [--precision {int8,fp16,fp32}] Script to run QNN inference engine. options: -h, --help show this help message and exit Core Arguments: --stage {source,converted,compiled} Specifies the starting stage in the Accuracy Debugger pipeline. Source: starting with a source framework. Converted: starting with a model's .cpp and .bin files. Compiled: starting with a model's .so binary -l INPUT_LIST, --input_list INPUT_LIST Path to the input list text. -r {cpu,gpu,dsp,dspv68,dspv69,dspv73,dspv75,dspv79,htp}, --runtime {cpu,gpu,dsp,dspv68,dspv69,dspv73,dspv75,dspv79,htp} Runtime to be used. Please use htp runtime for emulation on x86 host -a {x86_64-linux-clang,aarch64-android,aarch64-qnx,wos-remote,x86_64-windows-msvc,wos}, --architecture {x86_64-linux-clang,aarch64-android,aarch64-qnx,wos-remote,x86_64-windows-msvc,wos} Name of the architecture to use for inference engine. Arguments required for SOURCE stage: -i INPUT_TENSOR [INPUT_TENSOR ...], --input_tensor INPUT_TENSOR [INPUT_TENSOR ...] The name, dimension, and raw data of the network input tensor(s) specified in the format "input_name" comma- separated-dimensions path-to-raw-file, for example: "data" 1,224,224,3 data.raw. Note that the quotes should always be included in order to handle special characters, spaces, etc. For multiple inputs specify multiple --input_tensor on the command line like: --input_tensor "data1" 1,224,224,3 data1.raw --input_tensor "data2" 1,50,100,3 data2.raw. -o OUTPUT_TENSOR, --output_tensor OUTPUT_TENSOR Name of the graph's output tensor(s). -m MODEL_PATH, --model_path MODEL_PATH Path to the model file(s). -f FRAMEWORK [FRAMEWORK ...], --framework FRAMEWORK [FRAMEWORK ...] Framework type to be used, followed optionally by framework version. Arguments required for CONVERTED stage: -qmcpp QNN_MODEL_CPP_PATH, --qnn_model_cpp_path QNN_MODEL_CPP_PATH Path to the qnn model .cpp file -qmbin QNN_MODEL_BIN_PATH, --qnn_model_bin_path QNN_MODEL_BIN_PATH Path to the qnn model .bin file Arguments required for COMPILED stage: -qmb QNN_MODEL_BINARY_PATH, --qnn_model_binary_path QNN_MODEL_BINARY_PATH Path to the qnn model .so binary. Optional Arguments: -p ENGINE_PATH, --engine_path ENGINE_PATH Path to the inference engine. -e ENGINE_NAME [ENGINE_VERSION ...], --engine ENGINE_NAME [ENGINE_VERSION ...] Name of engine that will be running inference, optionally followed by the engine version. Used here for tensor_mapping. --deviceId DEVICEID The serial number of the device to use. If not available, the first in a list of queried devices will be used for validation. -v, --verbose Verbose printing --host_device {x86,x86_64-windows-msvc,wos} The device that will be running conversion. Set to x86 by default. -w WORKING_DIR, --working_dir WORKING_DIR Working directory for the inference_engine to store temporary files. Creates a new directory if the specified working directory doesn't exist --output_dirname OUTPUT_DIRNAME output directory name for the inference_engine to store temporary files under /inference_engine .Creates a new directory if the specified working directory doesn't exist --debug_mode_off Specifies if wish to turn off debug_mode mode. -bbw {8,32}, --bias_bitwidth {8,32} option to select the bitwidth to use when quantizing the bias. default 8 -abw {8,16}, --act_bitwidth {8,16} option to select the bitwidth to use when quantizing the activations. default 8 -wbw {8,16}, --weights_bitwidth {8,16} option to select the bitwidth to use when quantizing the weights. default 8 -nif, --use_native_input_files Specifies that the input files will be parsed in the data type native to the graph. If not specified, input files will be parsed in floating point. -nof, --use_native_output_files Specifies that the output files will be generated in the data type native to the graph. If not specified, output files will be generated in floating point. -qo QUANTIZATION_OVERRIDES, --quantization_overrides QUANTIZATION_OVERRIDES Path to quantization overrides json file. --golden_output_reference_directory GOLDEN_OUTPUT_REFERENCE_DIRECTORY, --golden_dir_for_mapping GOLDEN_OUTPUT_REFERENCE_DIRECTORY Optional parameter to indicate the directory of the goldens, it's used for tensor mapping without framework. -mn MODEL_NAME, --model_name MODEL_NAME Name of the desired output sdk specific model --args_config ARGS_CONFIG Path to a config file with arguments. This can be used to feed arguments to the AccuracyDebugger as an alternative to supplying them on the command line. --print_version PRINT_VERSION Print the QNN SDK version alongside the output. --perf_profile {low_balanced,balanced,high_performance,sustained_high_performance,burst,low_power_saver,power_saver,high_power_saver,extreme_power_saver,system_settings} --offline_prepare Use offline prepare to run QNN model. --extra_converter_args EXTRA_CONVERTER_ARGS additional converter arguments in a quoted string. example: --extra_converter_args 'input_dtype=data float;input_layout=data1 NCHW' --extra_runtime_args EXTRA_RUNTIME_ARGS additional net runner arguments in a quoted string. example: --extra_runtime_args 'arg1=value1;arg2=value2' --remote_server REMOTE_SERVER ip address of remote machine --remote_username REMOTE_USERNAME username of remote machine --remote_password REMOTE_PASSWORD password of remote machine --float_fallback Use this option to enable fallback to floating point (FP) instead of fixed point. This option can be paired with --float_bitwidth to indicate the bitwidth for FP (by default 32). If this option is enabled, then input list must not be provided and --ignore_encodings must not be provided. The external quantization encodings (encoding file/FakeQuant encodings) might be missing quantization parameters for some interim tensors. First it will try to fill the gaps by propagating across math-invariant functions. If the quantization params are still missing, then it will apply fallback to nodes to floating point. --profiling_level {basic,detailed,backend} Enables profiling and sets its level. --lib_name LIB_NAME Name to use for model library (.so file or .dll file) -bd BINARIES_DIR, --binaries_dir BINARIES_DIR Directory to which to save model binaries, if they don't yet exist. -pq {tf,enhanced,adjusted,symmetric}, --param_quantizer {tf,enhanced,adjusted,symmetric} Param quantizer algorithm used. --act_quantizer {tf,enhanced,adjusted,symmetric} Optional parameter to indicate the activation quantizer to use --act_quantizer_calibration {min-max,sqnr,entropy,mse,percentile} Specify which quantization calibration method to use for activations. This option has to be paired with --act_quantizer_schema. --param_quantizer_calibration {min-max,sqnr,entropy,mse,percentile} Specify which quantization calibration method to use for parameters. This option has to be paired with --param_quantizer_schema. --act_quantizer_schema {asymmetric,symmetric,unsignedsymmetric} Specify which quantization schema to use for activations. Can not be used together with act_quantizer. Note: This argument mandates --act_quantizer_calibration to be passed --param_quantizer_schema {asymmetric,symmetric,unsignedsymmetric} Specify which quantization schema to use for parameters. Can not be used together with param_quantizer. Note: This argument mandates --param_quantizer_calibration to be passed --percentile_calibration_value PERCENTILE_CALIBRATION_VALUE Value must lie between 90-100 -fbw {16,32}, --float_bias_bitwidth {16,32} option to select the bitwidth to use when biases are in float. default 32 -rqs RESTRICT_QUANTIZATION_STEPS, --restrict_quantization_steps RESTRICT_QUANTIZATION_STEPS ENCODING_MIN, ENCODING_MAX Specifies the number of steps to use for computing quantization encodings such that scale = (max - min) / number of quantization steps. The option should be passed as a space separated pair of hexadecimal string minimum and maximum values. i.e. --restrict_quantization_steps 'MIN MAX'. Please note that this is a hexadecimal string literal and not a signed integer, to supply a negative value an explicit minus sign is required. E.g.--restrict_quantization_steps '-0x80 0x7F' indicates an example 8 bit range, --restrict_quantization_steps '-0x8000 0x7F7F' indicates an example 16 bit range. --algorithms ALGORITHMS Use this option to enable new optimization algorithms. Usage is: --algorithms ... The available optimization algorithms are: 'cle ' - Cross layer equalization includes a number of methods for equalizing weights and biases across layers in order to rectify imbalances that cause quantization errors. --ignore_encodings Use only quantizer generated encodings, ignoring any user or model provided encodings. --per_channel_quantization Use per-channel quantization for convolution-based op weights. --log_level {error,warn,info,debug,verbose} Enable verbose logging. --qnn_model_net_json QNN_MODEL_NET_JSON Path to the qnn model net json. Only necessary if it's being run from the converted stage. It has information about what structure the data is in within the framework_runner and inference_engine steps. This file is required to generate the model_graph_struct.json file which is used by the verification stage. --qnn_netrun_config_file QNN_NETRUN_CONFIG_FILE allow backend_extention features to be applied during qnn-net-run --compiler_config COMPILER_CONFIG Path to the compiler config file. --context_config_params CONTEXT_CONFIG_PARAMS optional context config params in a quoted string. example: --context_config_params 'context_priority=high; cache_compatibility_mode=strict' --graph_config_params GRAPH_CONFIG_PARAMS optional graph config params in a quoted string. example: --graph_config_params 'graph_priority=low; graph_profiling_num_executions=10' --start_layer START_LAYER save all intermediate layer outputs from provided start layer to bottom layer of model. Can be used in conjunction with --end_layer. --end_layer END_LAYER save all intermediate layer outputs from top layer to provided end layer of model. Can be used in conjunction with --start_layer. --add_layer_outputs ADD_LAYER_OUTPUTS Output layers to be dumped. example:1579,232 --add_layer_types ADD_LAYER_TYPES outputs of layer types to be dumped. e.g :Resize,Transpose. All enabled by default. --skip_layer_types SKIP_LAYER_TYPES comma delimited layer types to skip snooping. e.g :Resize, Transpose --skip_layer_outputs SKIP_LAYER_OUTPUTS comma delimited layer output names to skip debugging. e.g :1171, 1174 --extra_contextbin_args EXTRA_CONTEXTBIN_ARGS additional context binary generator arguments in a quoted string. example: --extra_contextbin_args 'arg1=value1;arg2=value2' --precision {int8,fp16,fp32} Choose the precision. Default is int8. Note: This option isn't applicable when --stage is set to converted or compiled. Please note: All the command line arguments should either be provided through command line or through the config file. They will not override those in the config file if there is overlap. Copy to clipboard The inference engine config file can be found in {accuracy_debugger tool root directory}/python/qti/aisw/accuracy_debugger/lib/inference_engine/configs/config_files and is a **JSON** file. This config file stores information that helps the inference engine determine which tool and parameters to read in. **Sample Command** qnn-accuracy-debugger \ --inference_engine \ --framework tensorflow \ --runtime dspv73 \ --model_path $RESOURCESPATH/samples/InceptionV3Model/inception_v3_2016_08_28_frozen.pb \ --input_tensor "input:0" 1,299,299,3 $RESOURCESPATH/samples/InceptionV3Model/data/chairs.raw \ --output_tensor InceptionV3/Predictions/Reshape_1 \ --architecture x86_64-linux-clang \ --input_list $RESOURCESPATH/samples/InceptionV3Model/data/image_list.txt \ --verbose Copy to clipboard **Sample Command** qnn-accuracy-debugger \ --inference_engine \ --framework tensorflow \ --runtime dspv73 \ --host_device wos \ --model_path \InceptionV3Model\inception_v3_2016_08_28_frozen.pb \ --input_tensor "input:0" 1,299,299,3 \samples\InceptionV3Model\data\chairs.raw \ --output_tensor InceptionV3\Predictions\Reshape_1 \ --architecture wos \ --input_list \samples\InceptionV3Model\data\image_list.txt \ --verbose Copy to clipboard **Sample Command** qnn-accuracy-debugger \ --inference_engine \ --framework tensorflow \ --runtime cpu \ --host_device x86_64-windows-msvc \ --model_path \InceptionV3Model\inception_v3_2016_08_28_frozen.pb \ --input_tensor "input:0" 1,299,299,3 \samples\InceptionV3Model\data\chairs.raw \ --output_tensor InceptionV3\Predictions\Reshape_1 \ --architecture x86_64-windows-msvc \ --input_list \samples\InceptionV3Model\data\image_list.txt \ --verbose Copy to clipboard **Sample Command** qnn-accuracy-debugger \ --inference_engine \ --deviceId 357415c4 \ --framework tensorflow \ --runtime dspv73 \ --architecture aarch64-android \ --model_path $RESOURCESPATH/samples/InceptionV3Model/inception_v3_2016_08_28_frozen.pb \ --input_tensor "input:0" 1,299,299,3 $RESOURCESPATH/samples/InceptionV3Model/data/chairs.raw \ --output_tensor InceptionV3/Predictions/Reshape_1 \ --input_list $RESOURCESPATH/samples/InceptionV3Model/data/image_list.txt \ --verbose Copy to clipboard - Tip: - - for runtime (choose from ‘cpu’, ‘gpu’, ‘dsp’, ‘dspv65’, ‘dspv66’, ‘dspv68’, ‘dspv69’, ‘dspv73’, ‘htp’). Make sure the runtime is 73 for kailua, 69 for waipio, etc. Choose HTP runtime for emulation on x86 host. - the input\_tensor (–i) and output\_tensor (-o) doesn’t need the :0 indexing like when runing tensorflow framework runner - two files, namely tensor\_mapping.json and qnn\_model\_graph\_struct.json are generated to be used in verification, be sure to locate these 2 files in the working\_directory/inference\_engine/latest - Before running the qnn-accuracy-debugger on a Windows x86 system/Windows on Snapdragon system, ensure that you have configured the environment. And, Specify the host and target machine as x86\_64-windows-msvc/wos respectively. - Note that qnn-accuracy-debugger on Windows x86 system is tested only for CPU runtime currently. More example commands running from different stages: **Sample Command** source file stage: same as example from above section (stage default is "source") running from converted stage (x86): qnn-accuracy-debugger \ --inference_engine \ --stage converted \ -qmcpp $RESOURCESPATH/samples/InceptionV3Model/inception_v3_2016_08_28_frozen_qnn_model.cpp \ -qmbin $RESOURCESPATH/samples/InceptionV3Model/inception_v3_2016_08_28_frozen_qnn_model.bin \ --runtime dspv73 \ --architecture x86_64-linux-clang \ --input_list $RESOURCESPATH/samples/InceptionV3Model/data/image_list.txt \ --qnn_model_net_json $RESOURCESPATH/samples/InceptionV3Model/inception_v3_2016_08_28_frozen_qnn_model_net.json \ --verbose \ --framework tensorflow \ --golden_output_reference_directory $RESOURCESPATH/samples/InceptionV3Model/golden_from_framework_runner/ Android Devices (ie. MTP): qnn-accuracy-debugger \ --inference_engine \ --stage converted \ -qmcpp $RESOURCESPATH/samples/InceptionV3Model/inception_v3_2016_08_28_frozen_qnn_model.cpp \ -qmbin $RESOURCESPATH/samples/InceptionV3Model/inception_v3_2016_08_28_frozen_qnn_model.bin \ --deviceId f366ce60 \ --runtime dspv73 \ --architecture aarch64-android \ --input_list $RESOURCESPATH/samples/InceptionV3Model/data/image_list.txt \ --qnn_model_net_json $RESOURCESPATH/samples/InceptionV3Model/inception_v3_2016_08_28_frozen_qnn_model_net.json \ --verbose \ --framework tensorflow \ --golden_output_reference_directory $RESOURCESPATH/samples/InceptionV3Model/golden_from_framework_runner/ running in compiled stage (x86): qnn-accuracy-debugger \ --inference_engine \ --stage compiled \ --qnn_model_binary $RESOURCESPATH/samples/InceptionV3Model/qnn_model_binaries/x86_64-linux-clang/libqnn_model.so \ --runtime dspv73 \ --architecture x86_64-linux-clang \ --input_list $RESOURCESPATH/samples/InceptionV3Model/data/image_list.txt \ --verbose \ --qnn_model_net_json $RESOURCESPATH/samples/InceptionV3Model/inception_v3_2016_08_28_frozen_qnn_model_net.json \ --golden_output_reference_directory $RESOURCESPATH/samples/InceptionV3Model/golden_from_framework_runner/ running in compiled stage (wos): qnn-accuracy-debugger \ --inference_engine \ --stage compiled \ --qnn_model_binary \samples\InceptionV3Model\qnn_model_binaries\x86_64-linux-clang\libqnn_model.so \ --runtime dspv73 \ --architecture wos \ --input_list \samples\InceptionV3Model\data\image_list.txt \ --verbose \ --qnn_model_net_json \samples\InceptionV3Model\inception_v3_2016_08_28_frozen_qnn_model_net.json \ --golden_output_reference_directory \samples\InceptionV3Model\golden_from_framework_runner\ Android devices (ie MTP): qnn-accuracy-debugger \ --inference_engine \ --stage compiled \ --qnn_model_binary $RESOURCESPATH/samples/InceptionV3Model/qnn_model_binaries/aarch64-android/libqnn_model.so \ --runtime dspv73 \ --architecture aarch64-android \ --input_list $RESOURCESPATH/samples/InceptionV3Model/data/image_list.txt \ --verbose \ --qnn_model_net_json $RESOURCESPATH/samples/InceptionV3Model/inception_v3_2016_08_28_frozen_qnn_model_net.json \ --framework tensorflow \ --golden_output_reference_directory $RESOURCESPATH/samples/InceptionV3Model/golden_from_framework_runner/ To run onnx model with custom operator: qnn-accuracy-debugger \ --inference_engine \ --framework onnx \ --runtime dspv75 --architecture aarch64_android \ --model_path $RESOURCESPATH/AISW-77095/model.onnx \ --input_tensor "image" 1,3,640,1794 $RESOURCESPATH/inputs/image.raw \ --output_tensor uncertainty_jacobian_bb \ --input_list $RESOURCESPATH/input_list.txt \ --default_verifier mse \ --engine QNN \ --engine_path $QNN_SDK_ROOT \ --extra_converter_args 'op_package_config=$RESOURCESPATH/CustomPreTopKOpPackageCPU_v2.xml;op_package_lib=$RESOURCESPATH/libCustomPreTopKOpPackageHtp.so:CustomPreTopKOpPackageHtpInterfaceProvider:' \ --extra_contextbin_args 'op_packages=$RESOURCESPATH/libQnnCustomPreTopKOpPackageHtp.so:CustomPreTopKOpPackageHtpInterfaceProvider:' \ --extra_runtime_args 'op_packages=$RESOURCESPATH/AISW-77095/libQnnCustomPreTopKOpPackageHtp_v75.so:CustomPreTopKOpPackageHtpInterfaceProvider' \ --debug_mode_off \ --offline_prepare \ --verbose Copy to clipboard - Tip: - - The qnn\_model\_net\_json file isn’t required to run this step. However, it is needed to build the qnn\_model\_graph\_struct.json, which can be used in the Verification step. The model\_net.json file is generated when the original model is converted into a converted model. Hence if you are debugging this model from the converted model stage, it is recommended to ask for this model\_net.json file. - framework and golden\_dir\_for\_mapping, or just golden\_dir\_for\_mapping itself is an alternative to the original model to be provided to generate the tensor\_mapping.json. However, providing only the golden\_dir\_for\_mapping, the get\_tensor\_mapping module will try its best to map but it isn’t guaranteed this mapping will be 100% accurate. **Output** Once the inference engine has finished running, it will store the output in the specified directory (or the current working directory by default) and store the files in that directory. By default, it will store the output in working_directory/inference_engine in the current working directory. ![../_static/resources/inference_engine.png](data:image/png;base64,UklGRkgaAABXRUJQVlA4TDsaAAAvTkFYAB68srY9jiTnhvaicAltljlmm2mOOSbMNsusoAWzzDZhlglqehP8v/f9/h+JXuS/oodJ0QF8ANVHrTCBGFCDOklEBQPU6SRFUoACzqha0UMDsR2rdcjUtsmSpLyUuYDjZRQWNv44WBiX0PjjYGHhj4GBiYmJgYmx57WCYWt7JmlDs4DGxsLGwuBg44eNjd8SGj98MfhiMBj8MPjOf4bSf4qSJIttm4X4UnghHuf4QBi4xeEDPvb69v2/vjJz+ftJ6Qd+f89OZqYz2OwV0Ctd5q4wm6sQs42jwmU+KQ5YRpQbMQzTBihXwCTFkzDjOCpUZqYAKHsxLn4c0MaSO77LlIUQ1muNQolR5yJWiENHrTiZu2vTx3JcjgP6JIQMxiQIpaLQdvpByQnFUlGt0mQ+qXyk84mlmwAM8361Vzme4E+hiDI0Xqn0A/h5XBhY6fuhpTd9X4Du3dCwXJ2Oy34Au/hmYD4KFx7fLmQkYOE9oQOSL46EfUA1If7gSnbR4nCMwSqu2T66zvAXXleocnRm3Yf+GppR+erkXevd7uzbxYgKPefNvgB9MzAbS9tF68ehklgQuSlAYTvChF+AuLkfS1ocHIPN6e5y//xJGrwUtS7feZBMkx9qJvHtlWwsyawFnM2V4eQKi/J78qaFkboWiLfQEPUkE2OY2yrz79FVnth4Mg1eEW1eovqwrE6gXpYRJfLuIvNhzIJaCkNNw4XJjWjz8oFicKu2gcy3j64DtkiTTIYsoBoQSLI9s8DhCY5JYUFhc/yiLoyhwprYVUKivFmdSHLmquq4lG5iMXxnAaryBrpVnSCGKntL5DQ1Wd7JQQT+5fLNXo4RJDimXIjF4cxWjkj3Y4nlnWymi2Kw6r24dbfoaS2fwGo0DJS2GJHTcQcpFNQKTr2YrRMuuvDXo9GoV2PwdjntVblg/uWww3Fol24Vqln+khL2d/Mm+fQhe6T9XJLmNrwqTR+Pc7uuCM2RvfF5DZlZVgouP+MnWGkjKXAKQ4yFd4mpUWJB6MZWNch8XPW1Z5xUXLqwTxxJJbPIDmCAQCPFdo8UFDUIZqBYqqL560d7hD/94nR3djKhkIJGilhSJgAr9hAkFeg8EgWw2Qc6GElBOS5rhxSD4BGcJLk4lmroBqNK+6YL0iVVKtnnw+7MFEMR0yk4zzWa977Zi3B6vhDSgjASCua4UGmdR6I9ZDeU1e4QEhMX4WcxvpRYqmEzY6sKd3ADg+/lSb5vopCRwE0xA2tKvvYAMJRTptUc0rQwktZAkpZHIrymhqwheN6EIuFRLPNJs/8zmTGYNJwHRJCMteb+o03aHlYnOqajTNUasWkkxmu0hlBMAlFiscrQI+CkfP34qxc1rSOFWHxiPS3Z+tu8PIVvHZxm8e6nFx2mQeAarE7oJgBF6xRLUFWsPHqE9gJ7SmmAwqBZnfRmknz37DNqZL+QfQNRkGCeNc/Cq3W38J1Ct1DAy/gw6+hF1U0vyw5Y1iUIrQNUU7sCAz8FiWV+dc/+BbdDKAdWotiMJPp5wDzX+LVr+/H0on0EJUcUOn0wJ+ObYqkEmW8eWZwUXO1GiM2+352Z4rhUjBI0TC/yA0mU4lily/xAhqp2qwXHUkEXtxa5644pPOUCiokj8KaymhEdh0UMDJ4UZSWlXiK3ka5NX3QyJlbhaSRv6N4djU6PisGToswVj8rJ9MvGPKuh6ZeZLsBbOzmoZQSRWw5qGUHkk4OaElJqENnkoCaF5JYQRGY5qPGQUoLILQc1FlJCEKC8clAjIcWDQGWVgxoLKR4EKqcc1GhIqUHkkoOaEFJiEBnloKaElBpELjmosZCmCSKXHNRoSFME8WP3OKgJLJELtExzUCPAsfRBljmownJctmot6P2FS0LXWeagusxnNPc6TJzFVM0xB5VMqUIFWSAaBzpxGTLNQZUdgSwqp2KcIAhvnWUOqoAEHZcQiwuLQNQelGsOqnPDTqA095csc1B9uwDi2pXjeIexdbJhdjmouCCL9pSH7VCEoXPNQTXT1MHpLowkrzxzUBNYLNNqQQk/hYVj+RSMg5qVS1BeLuu/v+HKy+V7+P/3PzdozMvl0341aPPNuYbBXNWg5Y/EvpmMadj0Zq3ByQzSay998ELUoLXXPlseatDGxPftyhpet8ea/J8DUNHn3qz95r1fnT98c+5Xr37k1uDgi7tzv3r1tPLFi6fHevXq7p43bb0KCPnTXLWcxP7dWl6T/7o6qDW/+rUXD2/ea3ASml/9I/mYh/86VHYzo78ffU1KVwe1bhxJhBS/+lth28rWjP5ubYWXKtkKGiAIW714CBwVrRn9hf+rKnRoDc9c+J9BeTZQmC6l++7cf6SNkm2S84e7e4VxH8Jmg5b+6tXiaw/yvjCnr34rOy9un6NQdlp+MzKkh1fkjCHtNoMlKGdul5jBPTSibKm2+wRDZpaVMvfpqGNzzPOeK+Ka0GmwLTbHyrxnShOpCY3dj4z9at2HrZEHK+csT7pjNaGRu+WxX6tAcjdHlpxRWk3ocSlFR1CDtHk5yQxVIrtzU3eh4gMLxLqLFIC0bnkyUPzPfLto5adAOmHlXX+RsiMSNZmjvyRJYSKMFxFWNGaQYnV3KJmyMGEJanJIsSrGqZtLBimpJvS4hG75lO1iRQoFhofdGepE+6xRpCZU3ax13y76+5EQms0+bFYAAQKr6gtQnlLQZctm+sVV7Hw3Uhva1DqLAWn2pF7iV2PqJZh0I4vGlHOJQVRO5lnN3fIybW2WnS7AczKa9cUAg8cJtA9I5awyzfhSVQGPEZj6AamcleegzvIFj8CEEOghY9r1m3lXJ4Rk+DyxinVQLTaSjhR98pKRzCwmoHaPggKeuw5TiQ6qR0dSkSLPBRMWEHDoYjpTQRUKNxXGqs9B3X27Drnpb0u+9fjFd/Y9HikssHyzv780knMloxWeKfZBkHeBUhN5rt613n2w6HdnAJMs+NCwXI0TA/OzYN8zrVWcgxqc52XQvgbXdHkFnI7LEeUG2rfe9KFfHALFLACToKmFmMWeK+j+Ip9xLEgX1m53FhdhuwAzAX48VoEO6kGaM0+Mdy2pPnM/WVkPixEFK4DXtLzCniutYTDuDVAQtuACj1Wfg8ryDtWkiIzWSeSV7IJa9mGpY2pQ5B02fd8r4mdfNvAczepzUJuopm0CG5ir7tFmRKlq6khTgPRhkBKvOAdVuksQG60NdXcFqIs9V1VdG7oVSXS4HOQ/leagbvZhsxSZRURGq3mHm20XfX9/CUJC8lxVySlEQVMk0YWtmr7fnauncaZmDD/w6SqNpJ7oUr9+vgsY8UU531XBNYpIKJXnoMJg+iUX7Pt9LzBrU/qBN3bVZiohgcsaU2kUGolZ9SUGURGSKfffNMK8yLNawjyUuf/inp4baWuz7HQBnteRmWWlbAZn+1HbKgagW1gajwrDbBGYKC8Bx0+eFep1Iu68dlCNrrf0fcAUgIiFxTymwzBbBCbGSxFFL+0oBmBPxJ23Dirtf+g20Xfd7M74pTb3FwDY7MWcopHMwUUB1FaBgSzYxQlmu9CYiAIC6FYngIF48Ava7IV6s5cM2kGSYIKrjmTz1UE12v82Q6aTby8TIpIP+MIXUUX4WcwpHmmzHxKSYGwKUPK3DAPJRgWmqwWEmIgCJkv08gR7O6mDyV8VKq0DY4OMzepEI7nNTwc1LJh6bVp3o2SzefevNTRqxtrBNeSRBFYca5k1hmkEi2GO70IwxKRQbL/42aBDrb8OP7vAH1qLbAHyUEPENJLb/HRQaQro1ghv8EBwqDegtSnfopnLXNBIMPdAADMPMGGG5ChFMN+FkQqQQI9E4U17EImRhb9JcMRERoIdoWnh66CR3Oang9pJ8rRp4Wdv4JfgzyRF4J0Yj6S4BnDAEBjYSbxrCeZh0QaaIGDaIoVEj64r3vlD+9dWEUR+uB9L4u0GrwJHCpqfDiosm5cn+a7AkDKDXwjIDASHIvjeeaR1rAEY+T/auCtwWz5bgDRfjhQBFH9F8ANENa1rChh9/7MpzRx1UA3mbSxSOahQOLjKYEU5Cac6vHAkRV+EbvhJyeyjCMZdIiFQQwoxr/GMASdtDfMrS+soCrHBD2m4e546qLBnFuaF0R3NZJxvwUMCOhrBHLnTSIaif/sJhm5eIRgKgUEpIBrp7bO24q43RAEfWfNINk8dVOWE0xv8LcA/aQmi+yZoJCdtF/KUCILRT3QxjNWJmYACfh6gDk532f9SRafMgQ44aSSbnw6qKUxmqvcJJECjI0XAVH73yGXYVHf0UYzEFIkBiIz5YvBz00FVwDQY9bJfaCJIETDiR75okiCFKZoriJmy/A1p0LFcwbxzUD9eljJN2bnvoM6TP9jn3wLEQVXvSCSMck+bMkPKyXnsmrL8k3rtMsnUSa5mmd9VPs3xdA5c7lJulMmyUrDpznpt7rVdgPeGitZdjdvRcLkd/Ts8FUkln3rtpiZiRAbKNOElPlYuZMNKQsmnRXJQiphRF7JUt8zH1W86b4Lf+tZtT6fEkORLpWATUqU12+5sq3oDKSVl5YtjCUjEDqDc52qc+OWLH3ZDGXp1laxJzbs1w3K35O6qBvDzcbmDQ/IwXXkm43FZYyq5ddN0WJ2iTVOAYSRqKlq0uClqXekHG51sVZimQ60rDBNV8JsLsOpXYLmJNp5ySxAcOAZwqPwE9T26F9rKod+dI28BrzgX3pKgQKE0TQGSZ6c3DjOGm3NT0Kq9+Q8cVb71FIGjtzuzrdqsTvDSxTdNhH7qDj8WVJVfPjydOVlKlDd9X8DfPbOtCnYRnNMqb+npaQ044/1qlL474z+aslmlr5h2GeVu3K8Ym2hLe3rNZ8Tr5EiqPfVCPHg1taZ+onJ3uEkHIRoaPnrRplByKNmSGDQ/LtXLAWWnz7c8q0XmjXf6nEtb47xlpwvwaYji09VclMHFVOzsK3IiMXsF9Nkjwm42J2X+47cD4yH3u2q3g+MpIo/M6DNxkWCloZsh4jTwc1Hm44prv1z7I+iueB3Xay/jLjnkRBxUm/2T6bQ4ypltw3q5aeDno56WX/v7RzLS5jouT0Nuyg5ICQLI+2m5gFg+YK1RKDFHuLQ0gzFqhFENSCtbSMs9qF9GFHcu6dqv/43D6nJYsFxOy1TFslWmUXDQFruDPgU1whgLqGv1aJhUDcHSuObSCugz136Ou/Q869B4pdLvzmKetuiZiqeKhVwXKhLlmmJg4T2g06tHvYGn4mlxoP/KjBgVIN1fJIbduakB7f7iRMpROVm1CVw2b+S/chPHtftkSjSp9vaNPz9yUwSPWpSGPdNudxbLRDL+VCQKZYhDJbEgcpiG7eJC1aNCLNXgShwx/1XIBLrTHuHoQQc0vJAULUb5WtiqjXLNIY2Ln7/xF2hS/aYfN+66WvcDFL+SZ8okUvYl32LAkZpshcWNiL1pqU6M/CoRUU8yVf8VirkoIPkUEnqG3YXj7FqHkNiqjXO5zZ2Vzdu4At26Ni9F7JmCellGFHyf3QWKi5kFRJVhNFywByPavHxQ/VewFKC2tOV5YU9RmDjyEHYrDVu1Ua55pN+59tvTLnhLsmAy3B1UAwJrdXJmod/Tu2CjorA5flEXxpDUfPGS0iilzReKBX5YcS6bXwOlSjxTkhxmVR2X0o0shNwVoCpvoFvVKeK/7ql7B7GRvMFjMgsi1q1a4ppj2sin+fsvrv3+UaLIMxXhScDqRKJqzM1esat8u5B/7lneyWa6VP8Vg7g43Ia1O3vA4M0EQz0s1bpVy1xzS2G78eKoe9Ckxu1k5OLW3RJOaw2QNBoCSnVUiZyOO0ARgVSwYT5SwlQjd+JP5LI5mXoJawkXXYik0RAQ7+GRkmJAdHc5h1LjWOuVnepVWEqYSuRAiycPaVzVkxicwlIF2zot1WA6I2r6qA6wi1Ri2jpmqSZOVzKkRmcl7SVW9S5AedkRs7IieE60FrTkyc2wWlBtckuf5lyoBf1i/MqHJ1cjKE1VXwuqKupTGl2sBxC0ULJphRT1KUkuPCUrG2pBQ7aJkp/9ahjWOqZRRlQnjl5hT3w6YmnKhVrQZnUSy08QNvvWDRqyMcttcqEWNHSCcQQ+UqPIDwXwxUvJK7lQC4p3nXQjqmljEks/p96S1LDrQU0BH9DKbvKhFhS7N7+M3V3L3U0BlqyKrwWNbQY/gz5sBtou+hFz0UJXV+pmuVALqp/vdmLgE5xhf4lNLtSCMovTvV1mBLKm/jxLDILPDN5lxuVZEz3QPExba4ef7HQBPn1R6vltHkq7+ioBXJvoUqa85L2irL1o7taClnHyazpBCZCpM5VIU9b18tytBZ0SHfOtpdwKmoamz1QKTYmlnnO4FjR29wRDwEjetNqNyhHESJ1o9F5mBQ/ziezMMiLWJ8GBTgcv8cJlTtaCaqktNaMlgg8QRRBjdaKMFsuNOcid4lAQt4tLhIMCLfGyej7Wgn627y8HKO2IOqlYF8oyxml+drE7N0DY1IH0whWeiAe0BzFeJaS2wVoPKDgZkUvM56K32O/OWCFaaqnnPKwFXdZ+6KEqM+qkUl0oyZxxmvuLbwshINXe9CPKg3eglWrirQHYQEhOksP05v+h0YycSIVoV5ei+VgLKv1JTip854daEeHgBzggkaullmqajEMKcSg6CCx2g6CqjmvwSi31nG+1oKqSnFSuC1XUqpKjiCihVFOQducECbSpkoPOiFIqRMus/ppvtaDTNV1LdaGxphPBLoxNSqmmAVVcQsiVngKE23GjaI4PFFWak9qsTroQByT90I1V8ZEG/y9L4tguQix77g79IphTqhAtVXOsFjSmJCdVrQuFs1rEQckBqKAHFQCcSShCOkSRzS5AeP9OQNrsBefQryaZoONSPpIqREvVXKwFVfqjp58WPb/VDFZmaWoEVFFUZp1Qi2G6Us8qSL2YGfcDRFJdqDf4fAEyWDUy6EaMtYqXwC5xKdtNVepZlYlB3JdTDFZUSoloSaWeFZ621u1/j7BbFKOkS37gtxxwAZImyWxm/M9HO6gz2yEyxEE1Y6oZKSscVG08m2XyvvodVIVOx7FnygytWAfVYnTetQDxbJmhleqgWkhGf7vvW6QDx2V3hkmOmKFiqs4ytVKtDupmX4MT0NRK5t5EETMUTNVmdu5dJTqoanNWHJGGZle8rJgZ2tQ+05KySnVQ6YmXYof0PcwufljMDBUd352dKtFBjevdM72FRoqZobNW5TmoSQpnuCT6jIgZOnNVqIOqCNzTe5no3SQSFDFDZ66qdVDNFA5TLVWdGRFm9qpaBxVQmApsK/kxJZqhOZIYLMEaNT8uZ1gVngEOqqXOr+WkCyBZluz0qJ7bUMxFmfpkQSMgDqLOmKeLTXvJYDqBuUJt+fE4LFy+41aigyrbaWWc2fGwNnxcW1ApDqoqzA4QToaspGCYlpQSwQeocncN0/LiQZd/6GblOqiG5Z5kFryzDzyWC/r1uzXD8lvw35IcVBaWLkHtzOoEn5ENoqU0B1Vd2S4uiIdOSz6swHITLRgBJTqoOKR3ipqg/HhLeQ4qbgdMunJhIBz1VKqDCmt4TNeVFZcPT2dOlspzUFlfWPahI19WynVQE3xTE5LMSL2U6aDCGrGoSNmZGHwrHJlZTsrwuqsMTtMIckbmflf5NPt4TJ+aG/hMI8gXmf/HG8LjPR5v8VBsuP2eU4ObklsxyFDnisy3ryseHoo9/u9hxIk7fXkOqsIUyRhYDmhU9ccfro/hv3470v2uptu6TAc1AujMYBmgYcRDsdXJkF8nRpRPqj8mxpJbmQ7q2gRidVJ81Hf2cJN+xQvWX994ukkUiGLHzTcfH/HwEDzQMh1UYBoGTuyjLgWpzgG94REkzd1qj5+4PbNcB1Vw3MCponpQqvis/JUnEw+PN4wv+a9Plnw7Gv0UVKKD6oFJ81FRx3dzQONqhcXDnw+f9V8L4AL/gJXpoAKa6T4qPeiz+s93bxKPH/EQljceTWagbAcVutlHHbDUYejWLQtul3ii+voTb3zV0Zku4KU6qAhRaz7qZ4XCMsFBpWRB2Q6qaQccxzl3ywcHVahLd1DXypWZ4U/JLP/yrKg1KQfT1ubKgcry0AUwJfOdnabKp+VJOa/NRSlXXc/kn5klwlSZzH/8dkCe33Q7OJ5SyJ+hrxl2jkSYqkoM4lParv0RdFe8juu1l3GXm3JF8My8JANmiTAV+bA29Xo1kiOg7VSWuNeqo5kC5O4xL5YOakmsFaKv/zc+SlCXWySDpW9nilWKVBGaqJ+a4MW6oZJYK2Tlv2G4az9xxTw4J7sze6VD4wKyqEtwSZfAshmYD2U9moPNzy761SQz9J84IdsUYNf3F/ZTxbTa1N/uezBe+v7XwKPZ1GeBaJ3sWa4krQjLb1z1Jo5r978STarJEwWNG8UrDbPX1WD1QZI/sIAdEAhF92Npu5D+1o8FCVxNP6LkmEx+KmhfgHCUbmSn2JEEwtmeVSpJq0E/9/kbf4Em1W/6ceOuSvVK/QAeH8ws2FDok4IK0Lmf7qcgM0scK+nFNcVhPXIDIZABxpWklSD8NFyJdGteKcxcwGhlVk1mIlVN4CQ1IEKkh2GG96ryJsTE9qxSXFYV3dd++1LKW9grJbns2FM2Ta02F/ZTFWn+P24nrNwoqrKBxCtVBQTHJXYnqmuxm+9FqQFDk3fQLeOgDqsT2bNVo418mr//4t8+Ym32uzN6paSHhXwkbNY6ysx0wTlHQQsqALlTiv1UXduFbEZq+n535rOQalHY7tVvBv3e7aRycWuRU1yz6CmtAZUCQ/3E0RSg7qcCjQIGvy/cLnKOzGTVlXqJXIAJRuwyTLbv+h7tfCIjuNAd8VM14iC8nUKmOn41BviVnhhMvoISpfqpOPFwuiHjWG6krdOv7+lYYSlTbPo1ruWTC0BTmzTFegbmkyOmytrCKyu1tnVmav1JNK3zclkDAA==) The figure above shows the sample output from one of the runs of inference engine step. The output directory contains raw files. Each raw file is an output of an operation in the network. The model.bin and model.cpp files are created by the model converter. The qnn\_model\_binaries directory contains the .so file that is generated by the modellibgenerator utility. The file image\_list.txt contains the path for sample test images. The inference\_engine\_options.json file contains all the options with which this run was launched. In addition to generating the .raw files, the inference\_engine also generates the model’s graph structure in a .json file. The name of the file is the same as the name of the protobuf model file. The model\_graph\_struct.json aids in providing structure related information of the converted model graph during the verification step. Specifically, it helps with organizing the nodes in order (for i.e. the beginning nodes should come earlier than ending nodes). The model\_net.json has information about what structure the data is in within the framework\_runner and inference\_engine steps (data can be in different formats for e.g. channels first vs channels last). The verification step uses this information so that data can be properly transposed and compared. It is an optional parameter which can be provided during inference engine step for generating the model\_graph\_struct.json file (mandated only when running inference engine from the converted stage). Finally, the tensor\_mapping file contains a mapping of the various intermediate output file names generated from the framework runner step and the inference engine step. ![../_static/resources/inference_engine_2.png](data:image/png;base64,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) The created .raw files are organized in the same manner as framework\_runner (see above). #### Verification (qnn-accuracy-debugger) The Verification step compares the output (from the intermediate tensors of a given model) produced by the framework runner step with the output produced by the inference engine step. Once the comparison is complete, the verification results are compiled and displayed visually in a format that can be easily interpreted by the user. There are different types of verifiers for e.g.: CosineSimilarity, RtolAtol, etc. To see available verifiers please use the –help option (qnn-accuracy-debugger –verification –help). Each verifier compares the Framework Runner and Inference Engine output using an error metric. It also prepares reports and/or visualizations to help the user analyze the network’s error data. #### Usage usage: qnn-accuracy-debugger --verification [-h] --default_verifier DEFAULT_VERIFIER [DEFAULT_VERIFIER ...] --golden_output_reference_directory GOLDEN_OUTPUT_REFERENCE_DIRECTORY --inference_results INFERENCE_RESULTS [--tensor_mapping TENSOR_MAPPING] [--qnn_model_json_path QNN_MODEL_JSON_PATH] [--dlc_path DLC_PATH] [--verifier_config VERIFIER_CONFIG] [--graph_struct GRAPH_STRUCT] [-v] [-w WORKING_DIR] [--output_dirname OUTPUT_DIRNAME] [--args_config ARGS_CONFIG] [--target_encodings TARGET_ENCODINGS] [-e ENGINE [ENGINE ...]] [--use_native_output_files] [--disable_layout_transform] Script to run verification. required arguments: --default_verifier DEFAULT_VERIFIER [DEFAULT_VERIFIER ...] Default verifier used for verification. The options "RtolAtol", "AdjustedRtolAtol", "TopK", "L1Error", "CosineSimilarity", "MSE", "MAE", "SQNR", "ScaledDiff" are supported. An optional list of hyperparameters can be appended. For example: --default_verifier rtolatol,rtolmargin,0.01,atolmargin,0.01 An optional list of placeholders can be appended. For example: --default_verifier CosineSimilarity param1 1 param2 2. to use multiple verifiers, add additional --default_verifier CosineSimilarity --golden_output_reference_directory GOLDEN_OUTPUT_REFERENCE_DIRECTORY, --framework_results GOLDEN_OUTPUT_REFERENCE_DIRECTORY Path to root directory of golden output files. Paths may be absolute, or relative to the working directory. --inference_results INFERENCE_RESULTS Path to root directory generated from inference engine diagnosis. Paths may be absolute, or relative to the working directory. optional arguments: --tensor_mapping TENSOR_MAPPING Path to the file describing the tensor name mapping between inference and golden tensors. --qnn_model_json_path QNN_MODEL_JSON_PATH Path to the qnn model net json, used for transforming axis of golden outputs w.r.t to qnn outputs. Note: Applicable only for QNN --dlc_path DLC_PATH Path to the dlc file, used for transforming axis of golden outputs w.r.t to target outputs. Note: Applicable for QAIRT/SNPE --verifier_config VERIFIER_CONFIG Path to the verifiers' config file --graph_struct GRAPH_STRUCT Path to the inference graph structure .json file. This file aids in providing structure related information of the converted model graph during this stage.Note: This file is mandatory when using ScaledDiff verifier -v, --verbose Verbose printing -w WORKING_DIR, --working_dir WORKING_DIR Working directory for the verification to store temporary files. Creates a new directory if the specified working directory doesn't exist --output_dirname OUTPUT_DIRNAME output directory name for the verification to store temporary files under /verification. Creates a new directory if the specified working directory doesn't exist --args_config ARGS_CONFIG Path to a config file with arguments. This can be used to feed arguments to the AccuracyDebugger as an alternative to supplying them on the command line. --target_encodings TARGET_ENCODINGS Path to target encodings json file. --use_native_output_files Loads given outputs as per framework model's actual data types. --disable_layout_transform Disables layout transformation of Target outputs. This option has to be used used when Golden/Framework outputs and Target outputs are already in the same layout. Arguments for generating Tensor mapping (required when --tensor_mapping isn't specified): -e ENGINE [ENGINE ...], --engine ENGINE [ENGINE ...] Name of engine(qnn/snpe) that is used for running inference. Please note: All the command line arguments should either be provided through command line or through the config file. They will not override those in the config file if there is overlap. Copy to clipboard The main verification process run using qnn-accuracy-debugger –verification optionally uses –tensor\_mapping and –graph\_struct to find files to compare. These files are generated by the inference engine step, and should be supplied to verification for best results. By default they are named tensor\_mapping.json and {model name}\_graph\_struct.json, and can be found in the output directory of the inference engine results. **Sample Command** # Compare output of framework runner with inference engine: qnn-accuracy-debugger \ --verification \ --default_verifier CosineSimilarity \ --default_verifier mse \ --golden_output_reference_directory $PROJECTREPOPATH/working_directory/framework_runner/2022-10-31_17-07-58/ \ --inference_results $PROJECTREPOPATH/working_directory/inference_engine/latest/output/Result_0/ \ --tensor_mapping $PROJECTREPOPATH/working_directory/inference_engine/latest/tensor_mapping.json \ --graph_struct $PROJECTREPOPATH/working_directory/inference_engine/latest/qnn_model_graph_struct.json \ --qnn_model_json_path $PROJECTREPOPATH/working_directory/inference_engine/latest/qnn_model_net.json Copy to clipboard # Compare outputs of two different inference engine outputs: qnn-accuracy-debugger \ --verification \ --default_verifier mse \ --golden_output_reference_directory $PROJECTREPOPATH/working_directory/framework_runner/2022-10-31_17-07-58/ \ --inference_results $PROJECTREPOPATH/working_directory/inference_engine/latest/output/Result_0/ \ --graph_struct $PROJECTREPOPATH/working_directory/inference_engine/latest/qnn_model_graph_struct.json \ --disable_layout_transform Copy to clipboard - Tip: - - If you passed multiple images in the image\_list.txt from run inference engine diagnosis, you’ll receive multiple output/Result\_x, choose result that matches the input you used for framework runner for comparison (ie. in framework you used chair.raw and inference chair.raw was the first item in the image\_list.txt then choose output/Result\_0, if chair.raw was the second item in image\_list.txt, then choose output/Result\_1). - It is recommended to always supply ‘graph\_struct’ and ‘tensor\_mapping’ to the command as it is used to line up the report and find the corresponding files for comparison. if tensor\_mapping did not get generated from previous steps, you can supplement with ‘model\_path’, ‘engine’, ‘framework’ to have module generate ‘tensor\_mapping’ during runtime. - You can also compare inference\_engine outputs to inference\_engine outputs by passing the /output of the inference\_engine output to the ‘framework\_results’. If you want the outputs to be exact-name-matching, then you don’t need to provide a tensor\_mapping file. - Note that if you need to generate a tensor mapping instead of providing a path to prexisting tensor mapping file. You can provide the ‘model\_path’ option. Verifier uses two optional config files. The first file is used to set parameters for specific verifiers, as well as which tensors to use these verifiers on. The second file is used to map tensor names from framework\_runner to the inference\_engine, since certain tensors generated by framework\_runner may have different names than tensors generated by inference\_engine. Verifier Config: The verifier config file is a JSON file that tells verification which verifiers (asides from the default verifier) to use and with which parameters and on what specific tensors. If no config file is provided, the tool will only use the default verifier specified from the command line, with its default parameters, on all the tensors. The JSON file is keyed by verifier names, with each verifier as its own dictionary keyed by “parameters” and “tensors”. **Config File** ```json { "MeanIOU": { "parameters": { "background_classification": 1.0 }, "tensors": [["Postprocessor/BatchMultiClassNonMaxSuppression_boxes", "detection_classes:0"]] }, "TopK": { "parameters": { "k": 5, "ordered": false }, "tensors": [["Reshape_1:0"], ["detection_classes:0"]] } } ``` Copy to clipboard Note that the “tensors” field is a list of lists. This is done because specific verifiers runs on two tensor at a time. Hence the two tensors are placed in a list. Otherwise if a verifier only runs on one tensor, because it will have a list of lists with only one tensor name in each list. MeanIOU isn’t supported as verifer in Debugger. Tensor Mapping: Tensor mapping is a JSON file keyed by inference tensor names, of framework tensor names. If the tensor mapping isn’t provided, the tool will assume inference and golden tensor names are identical. **Tensor Mapping File** ```json { "Postprocessor/BatchMultiClassNonMaxSuppression_boxes": "detection_boxes:0", "Postprocessor/BatchMultiClassNonMaxSuppression_scores": "detection_scores:0" } ``` Copy to clipboard **Output** Verification’s output is divided into different verifiers. For example, if both RtolAtol and TopK verifiers are used, there will be two sub-directories named “RtolAtol” and “TopK”. Availble verifiers can be found by issuing –help option. ![../_static/resources/verification_2.png](data:image/png;base64,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) Under each sub-directory, the verification analysis for each tensor is organized similar to how framework\_runner (see above) and inference\_engine are organized. For each tensor, a CSV and HTML file is generated. In addition to the tensor-specific analysis, the tool also generates a summary CSV and HTML file which summarizes the data from all verifiers and their subsequent tensors. The following figure shows how a sample summary generated in the verification step looks. Each row in this summary corresponds to one tensor name that is identified by the framework runner and inference engine steps. The final column shows cosinesimilarity score which can vary between 0 to 1 (this range might be different for other verifiers). Higher scores denote similarity while lower scores indicate variance. The developer can then further investigate those specific tensor details. Developer should inspect tensors from top-to-bottom order, meaning if a tensor is broken at an earlier node, anything that was generated post that node is unreliable until that node is properly fixed. ![../_static/resources/verification_results.png](data:image/png;base64,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) #### Compare Encodings (qnn-accuracy-debugger) The Compare Encodings feature is designed to compare QNN and AIMET encodings. This feature takes QNN model net and AIMET encoding JSON files as inputs. This feature executes in the following order. > > > 1. Extracts encodings from the given QNN model net JSON. > 2. Compares extracted QNN encodings with given AIMET encodings. > 3. Writes results to an Excel file that highlights mismatches. > 4. Throws warnings if some encodings are present in QNN but not in AIMET and vice-versa. > 5. Writes the extracted QNN encodings JSON file (for reference). #### Usage usage: qnn-accuracy-debugger --compare_encodings [-h] --input INPUT --aimet_encodings_json AIMET_ENCODINGS_JSON [--precision PRECISION] [--params_only] [--activations_only] [--specific_node SPECIFIC_NODE] [--working_dir WORKING_DIR] [--output_dirname OUTPUT_DIRNAME] [-v] Script to compare QNN encodings with AIMET encodings optional arguments: -h, --help Show this help message and exit required arguments: --input INPUT Path to QNN model net JSON file --aimet_encodings_json AIMET_ENCODINGS_JSON Path to AIMET encodings JSON file optional arguments: --precision PRECISION Number of decimal places up to which comparison will be done (default: 17) --params_only Compare only parameters in the encodings --activations_only Compare only activations in the encodings --specific_node SPECIFIC_NODE Display encoding differences for the given node --working_dir WORKING_DIR Working directory for the compare_encodings to store temporary files. Creates a new directory if the specified working directory doesn't exist. --output_dirname OUTPUT_DIRNAME Output directory name for the compare_encodings to store temporary files under /compare_encodings. Creates a new directory if the specified working directory doesn't exist. -v, --verbose Verbose printing Copy to clipboard **Sample Commands** # Compare both params and activations qnn-accuracy-debugger \ --compare_encodings \ --input QNN_model_net.json \ --aimet_encodings_json aimet_encodings.json # Compare only params qnn-accuracy-debugger \ --compare_encodings \ --input QNN_model_net.json \ --aimet_encodings_json aimet_encodings.json \ --params_only # Compare only activations qnn-accuracy-debugger \ --compare_encodings \ --input QNN_model_net.json \ --aimet_encodings_json aimet_encodings.json \ --activations_only # Compare only a specific encoding qnn-accuracy-debugger \ --compare_encodings \ --input QNN_model_net.json \ --aimet_encodings_json aimet_encodings.json \ --specific_node _2_22_Conv_output_0 Copy to clipboard Tip A working\_directory is generated from wherever this script is called from unless otherwise specified. **Output** The program creates a directory named *latest* in working_directory/compare_encodings which is symbolically linked to the most recently generated directory. In the example below, *latest* will have data that is symlinked to the data in the most recent directory *YYYY-MM-DD\_HH:mm:ss*. Users may choose to override the directory name by passing it to –output\_dirname, e.g., –output_dirname myTest. ![../_static/resources/compare_encodings.png](data:image/png;base64,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) The figure above shows a sample output from a compare\_encodings run. The following details what each file contains. > > > - compare\_encodings\_options.json contains all the options used to run this feature > - encodings\_diff.xlsx contains comparison results with mismatches highlighted > - log.txt contains log statements for the run > - extracted\_encodings.json contains extracted QNN encodings #### Tensor inspection (qnn-accuracy-debugger) Tensor inspection compares given reference output and target output tensors and dumps various statistics to represent differences between them. The Tensor inspection feature can: > > > 1. Plot histograms for golden and target tensors > 2. Plot a graph indicating deviation between golden and target tensors > 3. Plot a cumulative distribution graph (CDF) for golden vs target tensors > 4. Plot a density (KDE) graph for target tensor highlighting target min/max and calibrated min/max values > 5. Create a CSV file containing information about: target min/max; calibrated min/max; golden output min/max; target/calibrated min/max differences; and computed metrics (verifiers). Note Only data with matching target/golden filenames is inspected; other data is ignored. This feature expects the golden and target tensors to have the same dimensions, datatypes, and layouts. Calibrated min/max values are extracted from a user provided encodings file. If an encodings file isn’t provided, density plot will be skipped and also the CSV summary output will not include calibrated min/max information. #### Usage usage: qnn-accuracy-debugger --tensor_inspection [-h] --golden_data GOLDEN_DATA --target_data TARGET_DATA --verifier VERIFIER [VERIFIER ...] [-w WORKING_DIR] [--data_type {int8,uint8,int16,uint16,float32}] [--target_encodings TARGET_ENCODINGS] [-v] Script to inspection tensor. required arguments: --golden_data GOLDEN_DATA Path to golden/framework outputs folder. Paths may be absolute or relative to the working directory. --target_data TARGET_DATA Path to target outputs folder. Paths may be absolute or relative to the working directory. --verifier VERIFIER [VERIFIER ...] Verifier used for verification. The options "RtolAtol", "AdjustedRtolAtol", "TopK", "L1Error", "CosineSimilarity", "MSE", "MAE", "SQNR", "ScaledDiff" are supported. An optional list of hyperparameters can be appended, for example: --verifier rtolatol,rtolmargin,0.01,atolmargin,0,01. To use multiple verifiers, add additional --verifier CosineSimilarity optional arguments: -w WORKING_DIR, --working_dir WORKING_DIR Working directory to save results. Creates a new directory if the specified working directory doesn't exist --data_type {int8,uint8,int16,uint16,float32} DataType of the output tensor. --target_encodings TARGET_ENCODINGS Path to target encodings json file. -v, --verbose Verbose printing Copy to clipboard **Sample Commands** # Basic run qnn-accuracy-debugger --tensor_inspection \ --golden_data golden_tensors_dir \ --target_data target_tensors_dir \ --verifier sqnr # Pass target encodings file and enable multiple verifiers qnn-accuracy-debugger --tensor_inspection \ --golden_data golden_tensors_dir \ --target_data target_tensors_dir \ --verifier mse \ --verifier sqnr \ --verifier rtolatol,rtolmargin,0.01,atolmargin,0.01 \ --target_encodings qnn_encoding.json Copy to clipboard Tip A working\_directory is generated from wherever this script is called from unless otherwise specified. ![../_static/resources/tensor_inspection.png](data:image/png;base64,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) The figure above shows a sample output from a Tensor inspection run. The following details what each file contains. > > > - Each tensor will have its own directory; the directory name matches the tensor name. > > - CDF\_plots.html – Golden vs target CDF graph > - Diff\_plots.html – Golden and target deviation graph > - Distribution\_min-max.png – Density plot for target tensor highlighting target vs calibrated min/max values > - Histograms.html – Golden and target histograms > - golden\_data.csv – Golden tensor data > - target\_data.csv – Target tensor data > - log.txt – Log statements from the entire run > - summary.csv – Target min/max, calibrated min/max, golden output min/max, target vs calibrated min/max differences, and verifier outputs **Histogram Plots** 1. **Comparison:** We compare histograms for both the golden data and the target data. 2. **Overlay:** To enhance clarity, we overlay the histograms bin by bin. 3. **Binned Ranges:** Each bin represents a value range, showing the frequency of occurrence. 4. **Visual Insight:** Overlapping histograms reveal differences or similarities between the datasets. 5. **Interactive:** Hover over histograms to get tensor range and frequencies for the dataset. **Cumulative Distribution Function (CDF) Plots** 1. **Overview:** CDF plots display the cumulative probability distribution. 2. **Overlay:** We superimpose CDF plots for golden and target data. 3. **Percentiles:** These plots illustrate data distribution across different percentiles. 4. **Hover Details:** Exact cumulative probabilities are available on hover. **Tensor Difference Plots** 1. **Inspection:** We generate plots highlighting differences between golden and target data tensors. 2. **Scatter and Line:** Scatter plots represent tensor values, while line plots show differences at each index. 3. **Interactive:** Hover over points to access precise values. #### Run QNN Accuracy Debugger E2E This feature is designed to run the framework runner, inference engine, and verification features sequentially with a single command to debug the model. The following debugging algorithms are available. 1. - Oneshot-layerwise(default): - - - This algorithm is designed to debug all layers of model at a time by performing below steps - - Execute framework runner to collect reference outputs in fp32 - Execute inference engine to collect backend outputs in provided target precision. - Execute verification for comparison of intermediate outputs from the above 2 steps - Execute tensor inspection (when –enable\_tensor\_inspection is passed) to dump various plots, e.g., scatter, line, CDF, etc., for intermediate outputs - It provides quick analysis to identify layers of model causing accuracy deviation. - User can chose cumulative-layerwise(below) for deeper analysis of accuracy deviation. 2. - Cumulative-layerwise: - - - This algorithm is designed to debug one layer at a time by performing below steps - - Execute framework runner to collect reference outputs from all layers of model in fp32. - - Execute inference engine and verification in iterative manner to perform below operations - - to collect backend outputs in target precision for each layer while removing the effect of its preceeding layers on final output. - to compare intermediate outputs from framework runner and inference engine - It provides deeper analysis to identify all layers of model causing accuracy deviation. - Currently this option supports only onnx models. 3. - Layerwise: - - - This algorithm is designed to debug a single layer model at a time by performing the following steps - - Get golden reference per layer outputs from an external tool or, if a golden reference isn’t given, run framework runner to collect intermediate layer outputs. - - Iteratively execute inference engine and verification to: - - Collect backend outputs in target precision for each single layer model by removing the preceding and following layers - Compare intermediate output from golden reference with inference engine single layer model output - Layerwise snooping provides deeper analysis to identify all model layers causing accuracy deviation on hardware with respect to framework/simulation outputs. - Layerwise snooping only supports ONNX models. #### Usage usage: qnn-accuracy-debugger [--framework_runner] [--inference_engine] [--verification] [-h] Script that runs Framework Runner, Inference Engine or Verification. Arguments to select which component of the tool to run. Arguments are mutually exclusive (at most 1 can be selected). If none are selected, then all components are run: --framework_runner Run framework --inference_engine Run inference engine --verification Run verification optional arguments: -h, --help Show this help message. To show help for any of the components, run script with --help and --. For example, to show the help for Framework Runner, run script with the following: --help --framework_runner usage: qnn-accuracy-debugger [-h] -f FRAMEWORK [FRAMEWORK ...] -m MODEL_PATH -i INPUT_TENSOR [INPUT_TENSOR ...] -o OUTPUT_TENSOR -r RUNTIME -a {aarch64-android,x86_64-linux-clang,aarch64-android-clang6.0} -l INPUT_LIST --default_verifier DEFAULT_VERIFIER [DEFAULT_VERIFIER ...] [--debugging_algorithm {layerwise,cumulative-layerwise,oneshot-layerwise}] Options for running the Accuracy Debugger components optional arguments: -h, --help show this help message and exit Arguments required by both Framework Runner and Inference Engine: -f FRAMEWORK [FRAMEWORK ...], --framework FRAMEWORK [FRAMEWORK ...] Framework type and version, version is optional. Currently supported frameworks are [tensorflow, tflite, onnx]. For example, tensorflow 2.3.0 -m MODEL_PATH, --model_path MODEL_PATH Path to the model file(s). -i INPUT_TENSOR [INPUT_TENSOR ...], --input_tensor INPUT_TENSOR [INPUT_TENSOR ...] The name, dimensions, raw data, and optionally data type of the network input tensor(s) specifiedin the format "input_name" comma- separated-dimensions path-to-raw-file, for example: "data" 1,224,224,3 data.raw float32. Note that the quotes should always be included in order to handle special characters, spaces, etc. For multiple inputs specify multiple --input_tensor on the command line like: --input_tensor "data1" 1,224,224,3 data1.raw --input_tensor "data2" 1,50,100,3 data2.raw float32. -o OUTPUT_TENSOR, --output_tensor OUTPUT_TENSOR Name of the graph's specified output tensor(s). Arguments required by Inference Engine: -r RUNTIME, --runtime RUNTIME Runtime to be used for inference. -a {aarch64-android,x86_64-linux-clang,aarch64-android-clang6.0}, --architecture {aarch64-an droid,x86_64-linux-clang,aarch64-android-clang6.0} Name of the architecture to use for inference engine. -l INPUT_LIST, --input_list INPUT_LIST Path to the input list text. Arguments required by Verification: [3/467] --default_verifier DEFAULT_VERIFIER [DEFAULT_VERIFIER ...] Default verifier used for verification. The options "RtolAtol", "AdjustedRtolAtol", "TopK", "L1Error", "CosineSimilarity", "MSE", "MAE", "SQNR", "ScaledDiff" are supported. An optional list of hyperparameters can be appended. For example: --default_verifier rtolatol,rtolmargin,0.01,atolmargin,0,01. An optional list of placeholders can be appended. For example: --default_verifier CosineSimilarity param1 1 param2 2. to use multiple verifiers, add additional --default_verifier CosineSimilarity optional arguments: --debugging_algorithm {layerwise,cumulative-layerwise,oneshot-layerwise} Performs model debugging layerwise, cumulative-layerwise or in oneshot- layerwise based on choice. Default is oneshot-layerwise. -v, --verbose Verbose printing -w WORKING_DIR, --working_dir WORKING_DIR Working directory for the wrapper to store temporary files. Creates a new directory if the specified working directory doesn't exitst. --output_dirname OUTPUT_DIRNAME output directory name for the wrapper to store temporary files under /wrapper. Creates a new directory if the specified working directory doesn't exist --deep_analyzer {modelDissectionAnalyzer} Deep Analyzer to perform deep analysis --golden_output_reference_directory Optional parameter to indicate the directory of the golden reference outputs. When this option is provided, the framework runner is stage skipped. In inference stage, it's used for tensor mapping without a framework. In verification stage, it's used as a reference to compare outputs produced in the inference engine stage. --enable_tensor_inspection Plots graphs (line, scatter, CDF etc.) for each layer's output. Additionally, summary sheet will have more details like golden min/max, target min/max etc., --step_size Number of layers to skip in each iteration of debugging. Applicable only for cumulative-layerwise algorithm. --step_size (> 1) should not be used along with --add_layer_outputs, --add_layer_types, --skip_layer_outputs, skip_layer_types, --start_layer, --end_layer (below options are ignored for framework_runner component incase of layerwise and cumulative-layerwise runs) --add_layer_outputs ADD_LAYER_OUTPUTS Output layers to be dumped, e.g., 1579,232 --add_layer_types ADD_LAYER_TYPES Outputs of layer types to be dumped, e.g., Resize, Transpose; all enabled by default --skip_layer_types SKIP_LAYER_TYPES Comma delimited layer types to skip snooping, e.g., Resize, Transpose --skip_layer_outputs SKIP_LAYER_OUTPUTS Comma delimited layer output names to skip debugging, e.g., 1171, 1174 --start_layer START_LAYER Extracts the given model from mentioned start layer output name --end_layer END_LAYER Extracts the given model from mentioned end layer output name --use_native_output_files Specifies that the output files will be generated in the data type native to the graph. If not specified, output files will be generated in floating point. --disable_layout_transform Disables layout transformation of Target outputs. This option has to be used used when Golden/Framework outputs and Target outputs are already in the same layout. Note : --start_layer and --end_layer options are allowed only for Layerwise and Cumulative layerwise run Copy to clipboard **Sample Command for oneshot-layerwise** Command for Oneshot-layerwise using DSP backend: qnn-accuracy-debugger \ --architecture aarch64-android \ --runtime dspv73 \ --framework tensorflow \ --model_path $RESOURCESPATH/samples/InceptionV3Model/inception_v3_2016_08_28_frozen.pb \ --input_tensor "input:0" 1,299,299,3 $PATHTOGOLDENI/samples/InceptionV3Model/data/chairs.raw \ --output_tensor InceptionV3/Predictions/Reshape_1:0 \ --debugging_algorithm oneshot-layerwise --input_list $RESOURCESPATH/samples/InceptionV3Model/data/image_list.txt \ --default_verifier CosineSimilarity \ --enable_tensor_inspection \ --verbose Copy to clipboard Command for Oneshot-layerwise using HTP emulation on x86 host: qnn-accuracy-debugger \ --framework onnx \ --runtime htp \ --model_path /local/mnt/workspace/models/vit/vit_base_16_224.onnx \ --input_tensor "input.1" 1,3,224,224 /local/mnt/workspace/models/vit/000000039769_1_3_224_224.raw \ --output_tensor 1597 \ --architecture x86_64-linux-clang \ --input_list /local/mnt/workspace/models/vit/list.txt \ --default_verifier CosineSimilarity \ --offline_prepare \ --debugging_algorithm oneshot-layerwise --enable_tensor_inspection \ --verbose Copy to clipboard Running pre-quantized models (tflite model example): qnn-accuracy-debugger \ --debugging_algorithm oneshot-layerwise \ --runtime dspv75 \ --architecture aarch64-android \ --framework tflite \ --model_path hand_regressor_random_weights.tflite \ --input_list sample.txt \ --input_tensor "serving_default_features:0" 1,160,160,1 1.raw uint8 \ --output_tensor "StatefulPartitionedCall:4" \ --output_tensor "StatefulPartitionedCall:3" \ --output_tensor "StatefulPartitionedCall:5" \ --output_tensor "StatefulPartitionedCall:0" \ --output_tensor "StatefulPartitionedCall:2" \ --output_tensor "StatefulPartitionedCall:1" \ --default_verifier mse \ --engine QNN \ --engine_path $QNN_SDK_ROOT \ --use_native_input_files \ --use_native_output_files \ --float_fallback Copy to clipboard Example for using external golden outputs dumped by any frameworks like ONNX, TF: qnn-accuracy-debugger \ --debugging_algorithm cumulative-layerwise \ --architecture aarch64-android \ --runtime dspv75 \ --framework onnx \ --model_path /path/to/model.onnx \ --input_tensor "input.1" 1,3,224,224 /path/to/input.raw \ --output_tensor 1597 \ --input_list /path/to/list.txt \ --default_verifier CosineSimilarity \ --offline_prepare \ --golden_output_reference_directory /path/to/goldens Copy to clipboard Example for using external golden outputs dumped by QNN: qnn-accuracy-debugger \ --debugging_algorithm cumulative-layerwise \ --architecture aarch64-android \ --runtime dspv75 \ --framework onnx \ --model_path /path/to/model.onnx \ --input_tensor "input.1" 1,3,224,224 /path/to/input.raw \ --output_tensor 1597 \ --input_list /path/to/list.txt \ --default_verifier CosineSimilarity \ --offline_prepare \ --golden_output_reference_directory /path/to/goldens \ --disable_layout_transform Copy to clipboard Note The –enable\_tensor\_inspection argument significantly increases overall execution time when used with large models. To speed up execution, omit this argument. **Output** The program creates framework\_runner, inference\_engine, verification, and wrapper output directories as below: ![../_static/resources/oneshot-layerwise.png](data:image/png;base64,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) - framework\_runner – Contains a timestamped directory that contains the intermediate layer outputs (framework) stored in .raw format as described in the framework runner step. - inference\_engine – Contains a timestamped directory that contains the intermediate layer outputs (inference engine) stored in .raw format as described in the inference engine step. - verification directory – Contains a timestamped directory that contains the following: - A directory for each verifier specified while running oneshot; it contains CSV and HTML files with metric details for each layer output - tensor\_inspection – Individual directories for each layer’s output with the following contents: - CDF\_plots.png – Golden vs target CDF graph - Diff\_plots.png – Golden and target deviation graph - Histograms.png – Golden and target histograms - golden\_data.csv – Golden tensor data - target\_data.csv – Target tensor data - summary.csv – Report for verification results of each layers output - Wrapper directory containing log.txt with the entire log for the run. Note: Except wrapper directory all other directories will have a folder called latest which is a symlink to the latest run’s corresponding timestamped directory. Snapshot of summary.csv file: ![../_static/resources/oneshot_summary.png](data:image/png;base64,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) Understanding the oneshot-layerwise report: | Column | Description | | --- | --- | | Name | Output name of the current layer | | Layer Type | Type of the current layer | | Size | Size of this layer’s output | | Tensor\_dims | Shape of this layer’s output | | <Verifier name> | Verifier value of the current layer output compared to reference output | | golden\_min | minimum value in the reference output for current layer | | golden\_max | maximum value in the reference output for current layer | | target\_min | minimum value in the target output for current layer | | target\_max | maximum value in the target output for current layer | **Sample Command for cumulative-layerwise** Command for Cumulative-layerwise using DSP backend: qnn-accuracy-debugger \ --framework onnx \ --runtime dspv73 \ --model_path /local/mnt/workspace/models/vit/vit_base_16_224.onnx \ --input_tensor "input.1" 1,3,224,224 /local/mnt/workspace/models/vit/000000039769_1_3_224_224.raw \ --output_tensor 1597 \ --architecture x86_64-linux-clang \ --input_list /local/mnt/workspace/models/vit/list.txt \ --default_verifier CosineSimilarity \ --offline_prepare \ --debugging_algorithm cumulative-layerwise --engine QNN \ --verbose Copy to clipboard Command for Cumulative-layerwise using HTP emulation on x86 host: qnn-accuracy-debugger \ --framework onnx \ --runtime htp \ --model_path /local/mnt/workspace/models/vit/vit_base_16_224.onnx \ --input_tensor "input.1" 1,3,224,224 /local/mnt/workspace/models/vit/000000039769_1_3_224_224.raw \ --output_tensor 1597 \ --architecture x86_64-linux-clang \ --input_list /local/mnt/workspace/models/vit/list.txt \ --default_verifier CosineSimilarity \ --offline_prepare \ --debugging_algorithm cumulative-layerwise --engine QNN \ --verbose Copy to clipboard **Output** The program creates output directories framework\_runner, cumulative\_layerwise\_snooping and wrapper directories as below ![../_static/resources/cumulative_layerwise_work_dir.png](data:image/png;base64,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) - framework\_runner directory contains timestamped directory that contains the intermediate layers outputs stored in .raw format just as mentioned in Framework Runner step. - cumulative\_layerwise\_snooping directory contains intemediate outputs obtained from inference engine step stored in separate directories with respective layer names. Also it contains final report named cumulative\_layerwise.csv which contains verifier scores for each layer. User can identify layers with most deviating scores as problematic nodes. - Wrapper directory consists a log.txt where user can refer entire logs for the whole run. ![../_static/resources/cumulative_layerwise_report.png](data:image/png;base64,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) Understanding the cumulative-layerwise report At the end of cumulative-layerwise run, the tool generates .csv with below information for each layer | Column | Description | | --- | --- | | O/P Name | Output name of the current layer. | | Status | - If empty, indicates normal execution.Other possible values:
-

  • skip - This layer was not debugged as requested by the user.


  • part - Due to the mismatch at this layer, the model was partitioned after this layer


  • err_part - error occured while partitioning model at that layer.


  • err_con - coverter error occurred at this layer.


  • err_lib - lib-generator error occurred at this layer.


  • err_cntx - context-bin-generator error occurred at this layer.


  • err-exec - Failed to execute the compiled model at this layer.


  • err-compare - Failed to compare the backend output of this layer with reference.


| | Layer Type | Type of the current layer. | | Shape | Shape of this layer’s output. | | Activations | The minimum, maximum, and median of the outputs at this layer taken from reference execution. | | <Verifier name> | Absolute verifier value of the current layer compared to reference platform. | | Orig outputs | Displays the original outputs verifier score observed when the model was run with the current


layer output enabled starting from the last partitioned layer. | | Info | Displays information for the output verifiers, if the values are abnormal. | Command for Layerwise: qnn-accuracy-debugger \ --framework onnx \ --runtime dspv73 \ --model_path /local/mnt/workspace/models/vit/vit_base_16_224.onnx \ --input_tensor "input.1" 1,3,224,224 /local/mnt/workspace/models/vit/000000039769_1_3_224_224.raw \ --output_tensor 1597 \ --architecture x86_64-linux-clang \ --input_list /local/mnt/workspace/models/vit/list.txt \ --default_verifier CosineSimilarity \ --offline_prepare \ --debugging_algorithm layerwise \ --quantization_overrides /local/mnt/workspace/layer_output_dump/vit_base_16_224.encodings \ --engine QNN \ --verbose Copy to clipboard **Output** The program creates layerwise\_snooping and wrapper output directories as well as framework\_runner if a golden reference isn’t provided (like described for cumulative-layerwise). - layerwise\_snooping directory – Contains each single layer model outputs obtained from the inference engine stage stored in separate directories and the final report named layerwise.csv which contains verifier scores for each layer model. Users can identify layers with the most deviating scores as problematic nodes. - wrapper directory – Contains log.txt which stores the full logs for the run. - The output .csv is similar to the cumulative-layerwise output, but the original outputs column will not be present in layerwise snooping, since we are not dealing with final outputs of the model. **Debugging Accuracy issue with Quantized model using Cumulative Layerwise Snooping** - With quantized models, it is expected to have some mismatch at most data intensive layers - arising due to quantization error. - The debugger can be used to identify operators which are most sensitive with high verifier score and run those at higher precision to improve overall accuracy. - The sensitivity is determined by the verifier score seen at that layer regarding the reference platform (like ONNXRT). - Note that Cumulative-layerwise debugging takes considerable time as the partitioned model shall be quantized and compiled at every layer that doesn’t have a 100% match with reference. - Below is one strategy to debug larger models: > > > - Run Oneshot-layerwise on the model which helps to identify the starting point of sensitivity in the model. > - Run Cumulative-layerwise at different parts of the model using start-layer and end-layer options (if the model has 100 nodes, use start layer at starting node from Oneshot-layerwise run > and end layer at the 25th node for run 1, start layer at 26th and end layer at 50th node for run 2, start layer at 51st node and end layer at 75th node for run 3 .. and so on).The final > reports of all runs help to identify the most sensitive layers in the model. Let’s say node A,B,C have high verifier scores which indicates high sensitivity > > > > > > > > > - Run the original model with those specific layers (A/B/C - one at a time or combinations) in FP16 and observe the improvement in accuracy. **Debugging Accuracy issue for models exhibiting Accuracy discrepancy between golden reference (for ex. - AIMET/framework runtime output) vs target output using Layerwise Snooping** - - One of the popular usecase for layerwise snooping is debugging accuracy difference between AIMET vs target - - Though we are creating an exact simulation of hardware using tools like AIMET, still it is expected to have a very minute mismatch due to environment differences. This can be because simulation executes on GPU FP32 kernels and is simulating noise rather than actual execution on integer kernels in the case of hardware execution. - If we have a higher deviation between simulation and hardware, then layerwise snooping could be used to point out to the nodes having higher deviations. The nodes showing higher deviation as per layerwise.csv can be identified as the erroneous nodes. - Other usecases include debugging Framework runtime’s FP32 output vs target INT16 output deviations. #### Binary Snooping The binary snooping tool debugs the given ONNX graph in a binary search fashion. For the graph under analysis, it quantizes half of the graph and lets the other half run in fp16/32. The final model output is used to calculate the subgraph quantization effect. If the subgraph has a high effect(verifier scores greater than 60% of sum of the two subgraphs scores) on the final model output due to quantization, the process repeats until the subgraph size is less than the min\_graph\_size or the subgraph cannot be divided again. If both subgraphs have similar scores(verifier scores greater than 40% of sum of the two subgraphs scores), both subgraphs are investigated further. **usage** usage: qnn-accuracy-debugger --binary_snooping \ -m MODEL_PATH \ -l INPUT_LIST \ -i INPUT_TENSOR \ -f FRAMEWORK \ -o OUTPUT_TENSOR \ -e ENGINE_NAME \ -qo QUANTIZATION_OVERRIDES \ [--verifier VERIFIER] \ [-a {x86_64-linux-clang,aarch64-android,aarch64-qnx,wos-remote,x86_64-windows-msvc,wos}] \ [--host_device {x86,x86_64-windows-msvc,wos}] \ [-r {cpu,gpu,dsp,dspv68,dspv69,dspv73,dspv75,dspv79,aic,htp}] \ [--deviceId DEVICEID] \ [--golden_output_reference_directory GOLDEN_OUTPUT_REFERENCE_DIRECTORY] \ [--bias_bitwidth BIAS_BITWIDTH] \ [--use_per_channel_quantization USE_PER_CHANNEL_QUANTIZATION] \ [--weights_bitwidth WEIGHTS_BITWIDTH] \ [--act_bitwidth {8,16}] [-fbw {16,32}] \ [-rqs RESTRICT_QUANTIZATION_STEPS] \ [-w WORKING_DIR] \ [--output_dirname OUTPUT_DIRNAME] \ [-p ENGINE_PATH] \ [--min_graph_size MIN_GRAPH_SIZE] \ [--extra_converter_args EXTRA_CONVERTER_ARGS] \ [--act_quantizer_calibration {min-max,sqnr,entropy,mse,percentile}] \ [--param_quantizer_calibration {min-max,sqnr,entropy,mse,percentile}] \ [--act_quantizer_schema {asymmetric,symmetric,unsignedsymmetric}] \ [--param_quantizer_schema {asymmetric,symmetric,unsignedsymmetric}] \ [--percentile_calibration_value PERCENTILE_CALIBRATION_VALUE] \ [--param_quantizer {tf,enhanced,adjusted,symmetric}] \ [--act_quantizer {tf,enhanced,adjusted,symmetric}] \ [--per_channel_quantization] \ [--algorithms ALGORITHMS] \ [--verifier_config VERIFIER_CONFIG] \ [--start_layer START_LAYER] \ [--end_layer END_LAYER] [--precision {int8,fp16}] \ [--compiler_config COMPILER_CONFIG] \ [--ignore_encodings] \ [--extra_runtime_args EXTRA_RUNTIME_ARGS] \ [--add_layer_outputs ADD_LAYER_OUTPUTS] \ [--add_layer_types ADD_LAYER_TYPES] \ [--skip_layer_types SKIP_LAYER_TYPES] \ [--skip_layer_outputs SKIP_LAYER_OUTPUTS] \ [--remote_server REMOTE_SERVER] \ [--remote_username REMOTE_USERNAME] \ [--remote_password REMOTE_PASSWORD] [-nif] [-nof] Copy to clipboard **Sample Commands** Sample command to run binary snooping on mv2 large model qnn-accuracy-debugger\ --binary_snooping\ --framework onnx\ --model_path models/mv2/mobilenet-v2.onnx\ --architecture aarch64-android\ --input_list models/mv2/inputs/input_list_1.txt\ --input_tensor "input.1" 1,3,224,224 /local/mnt/workspace/harsraj/models/mv2/inputs/data1.raw\ --output_tensor "473"\ --engine_path $QNN_SDK_ROOT\ --working_dir working_directory/QNN/BINARY_MV2_DSP\ --runtime dspv75\ --engine QNN\ --verifier mse\ --extra_converter_args "float_bitwidth=32;preserve_io=layout"\ --quantization_overrides /local/mnt/workspace/harsraj/models/mv2/quantized_encoding.json\ --min_graph_size 16 Copy to clipboard **Outputs** The algorithm provides two JSON files: 1. graph\_result.json (for each subgraph) - Contains verifier scores for two child subgraphs; for example 318\_473 has child subgraphs 318\_392 and 393\_473. 2. subgraph\_result.json (for each subgraph) - Contains the corresponding and sorted verifier scores. Keys in both files look like “subgraph\_start\_node\_activation\_name” + \_ + “subgraph\_end\_node\_activation\_name”. For example, 318\_473 means a subgraph starts at node activation 318 and ends at node activation 473. Only the subgraph from 318 to 473 is quantized while the rest of the model runs in fp16/32. **Debugging accuracy issues with binary snooping results** Subgraphs with maximum verifier scores in subgraph\_result.json are the culprit subgraphs. One subgraph can be a subset of another subgraph. In this case prioritize a subgraph size you are comfortable debugging. The details of a subset can be found in graph\_result.json. #### Quantization Checker The quantization checker analyzes activations, weights, and biases of a given model. It provides: 1. comparison between quantized and unquantized weights and biases 2. Analysis on unquantized weights, biases, and activations 3. Results in csv, html, or plots 4. Problematic weights and biases for a given bitwidth quantization **Usage** usage: qnn-accuracy-debugger --quant_checker [-h] \ --model_path \ --input_tensor \ --config_file \ --framework \ --input_list \ --output_tensor \ [--engine_path] \ [--working_dir] \ [--quantization_overrides] \ [--extra_converter_args] \ [--bias_width] \ [--weights_width] \ [--host_device] \ [--deviceId] \ [--generate_csv] \ [--generate_plots] \ [--per_channel_plots] \ [--golden_output_reference_directory] \ [--output_dirname] [--verbose] Copy to clipboard **Sample quant\_checker\_config\_file** > > > - { > - - “WEIGHT\_COMPARISON\_ALGORITHMS”: [ > - {“algo\_name”:”minmax”,”threshold”:”10”}, > {“algo\_name”:”maxdiff”, “threshold”:”10”}, > {“algo\_name”:”sqnr”, “threshold”:”26”}, > {“algo\_name”:”stats”, “threshold”:”2”}, > {“algo\_name”:”data\_range\_analyzer”}, > {“algo\_name”:”data\_distribution\_analyzer”, “threshold”:”0.6”} > > > > > ], > “BIAS\_COMPARISON\_ALGORITHMS”: [ > > > > > > > > > {“algo\_name”:”minmax”, “threshold”:”10”}, > > {“algo\_name”:”maxdiff”, “threshold”:”10”}, > > {“algo\_name”:”sqnr”, “threshold”:”26”}, > > {“algo\_name”:”stats”, “threshold”:”2”}, > > {“algo\_name”:”data\_range\_analyzer”}, > > {“algo\_name”:”data\_distribution\_analyzer”, “threshold”:”0.6”} > > > > ], > “ACT\_COMPARISON\_ALGORITHMS”: [ > > > > > > > > > {“algo\_name”:”minmax”, “threshold”:”10”}, > > {“algo\_name”:”data\_range\_analyzer”} > > > > ], > “INPUT\_DATA\_ANALYSIS\_ALGORITHMS”: [{“algo\_name”:”stats”, “threshold”:”2”}], > “QUANTIZATION\_ALGORITHMS”: [“cle”, “None”], > “QUANTIZATION\_VARIATIONS”: [“tf”, “enhanced”, “symmetric”, “asymmetric”] > > > > > } **Output** Output are available in the <working-directory>/results, which looks like: .. container: .. figure:: /../_static/resources/quant_checker_acc_debug_output_dir_struct.png Copy to clipboard Results are provided in: 1. HTML 2. CSV 3. Histogram A log is provided in the <working-directory>/quant\_checker directory. **HTML** Each HTML file contains a summary of the results for each quantization option and for each input file provided. The following example provides additional guidance on the contents of the HTML files. ![../_static/resources/qnn_quantatization_checker_html_sample.png](data:image/png;base64,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) **CSV Results Files** Each CSV file contains detailed computation results for a specific node type (activation/weight/bias) and quantization option. Each row in the csv file displays the op name, node name, passes accuracy (True/False), computation result (accuracy differences), threshold used for each algorithm, and the algorithm name. The format of the computation results (accuracy differences) differs according to the algorithms/metrics used. The following table provides additional notes about the different algorithms and information in each csv row. .. list-table: :header-rows: 1 :widths: auto * - Field - Comparator - Information - Example * - minmax - Indicates the difference between the unquantized minimum and the dequantized minimum value. Correspondingly, indicates the same difference for the maximum unquantized and dequantized value. - computation result: "min: #VALUE max: #VALUE" * - maxdiff - Calculates the absolute difference between the unquantized and dequantized data for all data points and displays the maximum value of the result. - computation result: "#VALUE" * - sqnr - Calculates the signal to quantization noise ratio between the two tensors of unquantized and dequantized data. - computation result: "#VALUE" * - data_range_analyzer - Calculates the difference between the maximum and minimum values in a tensor and compares that to the maximum value supported by the bit-width used to determine if the range of values can be reasonably represented by the selected quantization bit width. - computation result: "unique dec places: #INT_VALUE data range : #VALUE". Information in the computation results field includes how many unique decimal places we need to express the unquantized data in quantized format and what is the actual data range. * - data_distribution_analyzer - Calculates the clustering of the data to find whether a large number of unique unquantized values are quantized to the same value or not. - computation result: "Distribution of pixels above threshold: #VALUE" * - stats - Calculates some basic statistics on the received data such as the min, max, median, variance, standard deviation, the mode and the skew. The skew is used to indicate how symmetric the data is. - computation result: skew: #VALUE min: #VALUE max: #VALUE median: #VALUE variance: #VALUE stdDev: #VALUE mode: #VALUE Copy to clipboard The following CSV example shows weight data for one of the quantization options. ![../_static/resources/qnn_quantatization_checker_csv_weights.png](data:image/png;base64,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) Separate .csv files are available for activations, weights and biases for each quantization option. The activation related results also include analysis for each input file provided. **Histogram** For each quantization variation and for each weight and bias tensor in the model, we generate historagm. a histogram is generated for each quantization variation and for each weight and bias tensor in the model. The following example illustrates the generated histograms. ![../_static/resources/quant_checker_hist.png](data:image/png;base64,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) - align - left **Logs** The log files contain the following information. - The commands executed as part of the script’s run, including different runs of the snpe-converter tool with different quantization options - Analysis failures for activations, weights, and biases The following example shows a sample log output. <====ACTIVATIONS ANALYSIS FAILURES====> Copy to clipboard <====ACTIVATIONS ANALYSIS FAILURES====> > > > Results for the enhanced quantization: > | Op Name | Activation Node | Passes Accuracy | Accuracy Difference | Threshold Used | Algorithm Used | > | conv\_tanh\_comp1\_conv0 | ReLU\_6919 | False | minabs\_diff: 0.59 maxabs\_diff: 17.16 | 0.05 | minmax | where, 1. Op Name : Op name as expressed in corresponding qnn artifacts 2. Activation Node : Activation node name in the operation 3. Passes Accuracy : True if the quantized activation (or weight or bias) meets threshold when compared with values from float32 graph; false otherwise 4. Accuracy Difference : Details about the accuracy per the algorithm used 5. Threshold Used : The threshold used to influence the result of “Passes Accuracy” column 6. Algorithm Used : Metric used to compare actual quantized activations/weights/biases against unquantized float data or analyze the quality of unquantized float data. Metrics can be minmax, maxdiff, sqnr, stats, data\_range\_analyzer, data\_distribution\_analyzer. ### qairt-accuracy-debugger **Dependencies** The Accuracy Debugger depends on the setup outlined in [Setup](https://docs.qualcomm.com/doc/80-63442-10/topic/general_setup.html). In particular, the following are required: > > > 1. Platform dependencies are need to be met as per Platform Dependencies > 2. The desired ML frameworks need to be installed. Accuracy debugger is verified to work with the ML framework versions mentioned at [Environment Setup](https://docs.qualcomm.com/doc/80-63442-10/topic/setup.html#environment-setup-linux) **Supported models** The qairt-accuracy-debugger currently supports ONNX. **Overview** The Accuracy Debugger tool finds inaccuracies in a neural-network at the layer level. Primarily functionality of this tool is to compare the golden outputs produced by running a model through ML framework with the results produced by running the same model on Target devices (HTP, CPU, GPU etc.,). The following component are available in Accuracy Debugger. Each component can be run with its corresponding subcommand; for example, `qairt-accuracy-debugger {component}`. > > > 1. **qairt-accuracy-debugger framework\_runner** uses an ML framework e.g. Onnx, to run the model to get intermediate outputs. > 2. **qairt-accuracy-debugger inference\_engine** uses inference engine to run a model on the target device to retrieve intermediate outputs. > 3. **qairt-accuracy-debugger verification** compares the output generated by the framework runner and inference engine features using verifiers such as CosineSimilarity, RtolAtol, etc. > 4. **qairt-accuracy-debugger compare\_encodings** compares target encodings with the AIMET encodings, and outputs an Excel sheet highlighting mismatches. > 5. **qairt-accuracy-debugger tensor\_visualizer** compares given target outputs with golden outputs. > 6. **qairt-accuracy-debugger snooping** runs chosen snooping algorithm to investigate accuracy issues. > 7. **qairt-accuracy-debugger validate\_encoding** validates tensor quantization parameters (bitwidth, symmetry, scale/offset ranges) in an encoding file or a DLC file against a configurable set of rules. > 8. **qairt-accuracy-debugger range\_analyzer** compares the activation/weight quantization ranges of a base model encoding against one or more LoRA usecase encodings to detect coverage gaps, and optionally dumps a unified encoding file whose shared tensor ranges cover the union of all input ranges. - Tip: - - You can use –help with component name to see options (required or optional) available for that component. Below are the instructions for running various components available in Accuracy Debugger: #### Framework Runner The Framework Runner component is designed to run models with ONNX machine learning framework. A given model is run with the ONNX framework. Golden outputs are produced for future comparison with inference results from the Inference Engine step. **Usage** usage: qairt-accuracy-debugger framework_runner [-h] -m INPUT_MODEL [--input_list INPUT_LIST] [--working_directory WORKING_DIRECTORY] [--output_directory OUTPUT_DIRECTORY] [-o OUTPUT_TENSOR] [--onnx_define_symbol SYMBOL VALUE] [--log_level {info,debug,warning,error}] options: -h, --help show this help message and exit required arguments: -m INPUT_MODEL, --input_model INPUT_MODEL path to the model file --input_list INPUT_LIST Path to the text file containing the input list. Inputs must conform to the data types defined by the framework model input specifications. optional arguments: --working_directory WORKING_DIRECTORY Path to working directory. If not specified a directory with name working_directory will be created in the current directory. --output_directory OUTPUT_DIRECTORY Name of the output directory. If not specified a directory with name will be created in the working directory. -o OUTPUT_TENSOR, --output_tensor OUTPUT_TENSOR Name of the graph's specified output tensor(s). --onnx_define_symbol SYMBOL VALUE Option to override specific input dimension symbols. --log_level {info,debug,warning,error} Log level. Default is info Copy to clipboard **Sample Commands** qairt-accuracy-debugger framework_runner \ --input_model dlv3onnx/dlv3plus_mbnet_513-513_op9_mod_basic.onnx \ --input_list input_sample.txt \ --output_tensor Output Copy to clipboard - TIP: - - a working\_directory, if not otherwise specified, is generated from wherever you are calling the script **Outputs** Once the Framework Runner has finished running, it will store the outputs in the specified working directory. It creates an output directory with a timestamp of the format *YYYY-MM-DD\_HH:mm:ss* in working_directory/framework_runner. The following figure shows a sample output folder from a Framework Runner run using an Onnx model. working_directory └── framework_runner    ├── 2025-07-07_22-01-02  │  ├── mobilenetv20_features_batchnorm0_fwd.raw    │  ├── . │ ├── .    │ └── profile_info.json Copy to clipboard The output directory contains the outputs of each layer in the model saved as .raw files. Every raw file that can be seen is the output of an operation in the model. The intermediate outputs produced by the **Framework Runner** step offers precise reference/golden material for the **Verification** component to diagnose the accuracy of the network outputs generated by the **Inference Engine**. #### Inference Engine The Inference Engine component is designed to dump intermediate outputs of the model when run on target devices like CPU, DSP, GPU etc.,. The output produced by this step can be compared with the golden outputs produced by the framework runner step. **Usage** usage: qairt-accuracy-debugger inference_engine [-h] --input_model INPUT_MODEL [--desired_input_shape DESIRED_INPUT_SHAPE [DESIRED_INPUT_SHAPE ...]] [--output_tensor OUTPUT_TENSOR] [--converter_float_bitwidth {32,16}] [--float_bias_bitwidth {32,16}] [--quantization_overrides QUANTIZATION_OVERRIDES] [--onnx_define_symbol SYMBOL VALUE] [--onnx_defer_loading] [--enable_framework_trace] [--op_package_config OP_PACKAGE_CONFIG [OP_PACKAGE_CONFIG ...]] [--converter_op_package_lib CONVERTER_OP_PACKAGE_LIB] [--disable_onnx_simplification] [--package_name PACKAGE_NAME] [--extra_converter_args EXTRA_CONVERTER_ARGS] [--calibration_input_list CALIBRATION_INPUT_LIST] [--bias_bitwidth {8,32}] [--act_bitwidth {8,16}] [--weights_bitwidth {8,4}] [--quantizer_float_bitwidth {32,16}] [--act_quantizer_calibration {min-max,sqnr,entropy,mse,percentile}] [--param_quantizer_calibration {min-max,sqnr,entropy,mse,percentile}] [--act_quantizer_schema {asymmetric,symmetric,unsignedsymmetric}] [--param_quantizer_schema {asymmetric,symmetric,unsignedsymmetric}] [--percentile_calibration_value PERCENTILE_CALIBRATION_VALUE] [--use_per_channel_quantization] [--use_per_row_quantization] [--float_fallback] [--quantization_algorithms QUANTIZATION_ALGORITHMS [QUANTIZATION_ALGORITHMS ...]] [--restrict_quantization_steps RESTRICT_QUANTIZATION_STEPS] [--dump_encodings_json] [--ignore_encodings] [--op_package_lib OP_PACKAGE_LIB] [--extra_quantizer_args EXTRA_QUANTIZER_ARGS] [--use_native_input_files] [--preserve_io_datatype PRESERVE_IO_DATATYPE [PRESERVE_IO_DATATYPE ...]] [--perf_profile {low_balanced,balanced,default,high_performance,sustained_high_performance,burst,low_power_saver,power_saver,high_power_saver,extreme_power_saver,system_settings}] [--profiling_level PROFILING_LEVEL] [--input_list INPUT_LIST] [--netrun_backend_extension_config NETRUN_BACKEND_EXTENSION_CONFIG] [--extra_net_run_args EXTRA_NET_RUN_ARGS] [--use_native_input_data] [--native_input_tensor_names NATIVE_INPUT_TENSOR_NAMES [NATIVE_INPUT_TENSOR_NAMES ...]] [--offline_prepare_backend_extension_config OFFLINE_PREPARE_BACKEND_EXTENSION_CONFIG] [--extra_context_bin_args EXTRA_CONTEXT_BIN_ARGS] [--backend {CPU,GPU,HTP,}] [--platform {aarch64-android,x86_64-linux-clang,wos,qnx,linux-embedded}] [--offline_prepare] [--working_directory WORKING_DIRECTORY] [--output_directory OUTPUT_DIRECTORY] [--device_id DEVICE_ID] [--username USERNAME] [--password PASSWORD] [--ip_address IP_ADDRESS] [--log_level {ERROR,WARN,INFO,DEBUG,VERBOSE}] [--op_packages OP_PACKAGES] [--soc_model SOC_MODEL] [--set_output_tensors SET_OUTPUT_TENSORS] [--lora_config LORA_CONFIG] [--lora_output_dir LORA_OUTPUT_DIR] [--lora_quant_updatable_mode {none,adapter_only,all}] [--lora_debug LORA_DEBUG] [--lora_skip_validation] [--lora_dump_usecase_onnx] [--lora_transforms_metadata LORA_TRANSFORMS_METADATA] [--lora_importer_config LORA_IMPORTER_CONFIG] [--lora_importer_input_dlc LORA_IMPORTER_INPUT_DLC] [--lora_importer_input_network LORA_IMPORTER_INPUT_NETWORK] [--lora_importer_input_list LORA_IMPORTER_INPUT_LIST] [--lora_importer_output_dir LORA_IMPORTER_OUTPUT_DIR] [--lora_importer_float_fallback] [--lora_importer_debug LORA_IMPORTER_DEBUG] [--lora_importer_skip_validation] [--lora_importer_dump_usecase_dlc] [--lora_importer_dump_usecase_onnx] [--lora_importer_skip_apply_graph_transforms] [--use_case_names USE_CASE_NAMES [USE_CASE_NAMES ...]] [--adapter_weight_config_file ADAPTER_WEIGHT_CONFIG_FILE] Script to run inference engine. options: -h, --help show this help message and exit required arguments: --input_model INPUT_MODEL Path to the source model/dlc/bin file optional arguments: --backend {CPU,GPU,HTP,} Backend type for inference to be run --platform {aarch64-android,x86_64-linux-clang,wos,qnx,linux-embedded} The type of device platform to be used for inference --offline_prepare Boolean to indicate offline preapre of the graph --working_directory WORKING_DIRECTORY Path to the directory to store the output result --output_directory OUTPUT_DIRECTORY Name of the output directory. If not specified a directory with name will be created in the working directory. --device_id DEVICE_ID The serial number of the device to use. If not available, the first in a list of queried devices will be used for inference. --username USERNAME The username for the device to be used for QNX platform. --password PASSWORD The password for the device to be used for QNX platform. --ip_address IP_ADDRESS The IP address for the device to be used for QNX platform. --log_level {ERROR,WARN,INFO,DEBUG,VERBOSE} Enable verbose logging. --op_packages OP_PACKAGES Provide a comma separated list of op package and interface providers to register during graph preparation.Usage: op_package_path:interface_provider[,op_package_path:interface_provider...] --soc_model SOC_MODEL Option to specify the SOC on which the model needs to run. This can be found from SOC info of the device and it starts with strings such as SDM, SM, QCS, IPQ, SA, QC, SC, SXR, SSG, STP, QRB, or AIC. --set_output_tensors SET_OUTPUT_TENSORS Option to provide Comma-separated list of tensor names to set as outputs to the context binary generation stage or the net-run stage. converter arguments: --desired_input_shape DESIRED_INPUT_SHAPE [DESIRED_INPUT_SHAPE ...], --input_tensor DESIRED_INPUT_SHAPE [DESIRED_INPUT_SHAPE ...] The name,dimension,datatype and layout of all the input buffers to the network specified in the format [input_name comma-separated-dimensions data-type layout]. Dimension, datatype and layout are optional.for example: 'data' 1,224,224,3. Note that the quotes should always be included in order to handle special characters, spaces, etc. For multiple inputs, specify multiple --desired_input_shape on the command line like: --desired_input_shape "data1" 1,224,224,3 float32 --desired_input_shape "data2" 1,50,100,3 int64 --output_tensor OUTPUT_TENSOR Name of the graph's specified output tensor(s). --converter_float_bitwidth {32,16} Use this option to convert the graph to the specified float bitwidth, either 32 (default) or 16. --float_bias_bitwidth {32,16} Option to select the bitwidth to use for float bias tensor, either 32(default) or 16 --quantization_overrides QUANTIZATION_OVERRIDES Path to quantization overrides json file. --onnx_define_symbol SYMBOL VALUE Option to override specific input dimension symbols. --onnx_defer_loading Option to have the model not load weights. If False, the model will be loaded eagerly. --enable_framework_trace Use this option to enable converter to trace the o/p tensor change information. --op_package_config OP_PACKAGE_CONFIG [OP_PACKAGE_CONFIG ...] Absolute paths to Qnn Op Package XML configuration file that contains user defined custom operations.Note: Only one of: {'op_package_config', 'package_name'} can be specified. --converter_op_package_lib CONVERTER_OP_PACKAGE_LIB Absolute path to converter op package library compiled by the OpPackage generator. Must be separated by a comma for multiple package libraries. Note: Libraries must follow the same order as the xml files. E.g.1: --converter_op_package_lib absolute_path_to/libExample.so E.g.2: --converter_op_package_lib absolute_path_to/libExample1.so,absolute_path_to/libExample2.so --package_name PACKAGE_NAME A global package name to be used for each node in the Model.cpp file. Defaults to Qnn header defined package name. Note: Only one of: {'op_package_config', 'package_name'} can be specified. --disable_onnx_simplification Flag to disable onnx simplification. Note: This will disable simplification even at framework level for snooping --extra_converter_args EXTRA_CONVERTER_ARGS Any specific converter argument which isn't explicitly exposed can be provided using this argument. Possible values an argument can take: 1. single value: value1 or store_true 2. list of values: [value1, value2, value3] 3. list of list: [[value11, value12], [value21, value22]] Example: --extra_converter_args 'arg1=value1;arg2;arg3=value1 value2 value3;arg4=value11 value12;arg4=value21 value22' quantizer_arguments: --calibration_input_list CALIBRATION_INPUT_LIST Path to the text file containing the input list used for quantization(used with qairt-quantizer). The data types of raw files in the calibration input list depend on the input model type: - .dlc/.bin models: Inputs can be provided as either float32 raw tensors or graph-native data types when `preserve_io_datatype` and `use_native_input_files` are enabled. - Framework models: Inputs must use the data types defined by the framework model input specifications. --bias_bitwidth {8,32} Option to select the bitwidth to use when quantizing the bias. default 8 --act_bitwidth {8,16} Option to select the bitwidth to use when quantizing the activations. default 8 --weights_bitwidth {8,4} Option to select the bitwidth to use when quantizing the weights. default 8 --quantizer_float_bitwidth {32,16} Use this option to select the bitwidth to use for float tensors, either 32 (default) or 16. --act_quantizer_calibration {min-max,sqnr,entropy,mse,percentile} Specify which quantization calibration method to use for activations supported values: min-max (default), sqnr, entropy, mse, percentile This option can be paired with --act_quantizer_schema to override the quantization schema to use for activations otherwise default schema(asymmetric) will be used --param_quantizer_calibration {min-max,sqnr,entropy,mse,percentile} Specify which quantization calibration method to use for parameters supported values: min-max (default), sqnr, entropy, mse, percentile This option can be paired with --act_quantizer_schema to override the quantization schema to use for activations otherwise default schema(asymmetric) will be used --act_quantizer_schema {asymmetric,symmetric,unsignedsymmetric} Specify which quantization schema to use for activations. Note: Default is asymmetric. --param_quantizer_schema {asymmetric,symmetric,unsignedsymmetric} Specify which quantization schema to use for parameters. Note: Default is asymmetric. --percentile_calibration_value PERCENTILE_CALIBRATION_VALUE Value must lie between 90 and 100. Default is 99.99 --use_per_channel_quantization Use per-channel quantization for convolution-based op weights. Note: This will replace built-in model QAT encodings when used for a given weight. --use_per_row_quantization Use this option to enable rowwise quantization of Matmul and FullyConnected ops. --float_fallback Use this option to enable fallback to floating point (FP) instead of fixed point.This option can be paired with --quantizer_float_bitwidth to indicate the bitwidth forFP (by default 32). If this option is enabled, then input list must not be provided and --ignore_encodings must not be provided. The external quantization encodings (encoding file/FakeQuant encodings) might be missing quantization parameters for some interim tensors. First it will try to fill the gaps by propagating across math-invariant functions. If the quantization params are still missing, then it will apply fallback to nodes to floating point. --quantization_algorithms QUANTIZATION_ALGORITHMS [QUANTIZATION_ALGORITHMS ...] Use this option to select quantization algorithms. Usage is: --quantization_algorithms ... --restrict_quantization_steps RESTRICT_QUANTIZATION_STEPS Specifies the number of steps to use for computingquantization encodings E.g.--restrict_quantization_steps "-0x80 0x7F" indicates an example 8 bit range, --dump_encodings_json Dump encoding of all the tensors in a json file --ignore_encodings Use only quantizer generated encodings, ignoring any user or model provided encodings. --op_package_lib OP_PACKAGE_LIB Use this argument to pass an op package library for quantization. Must be in the form and be separated by a comma for multiple package libs --extra_quantizer_args EXTRA_QUANTIZER_ARGS Any specific quantizer argument which isn't explicitly exposed can be provided using this argument. Possible values an argument can take: 1. single value: value1 or store_true 2. list of values: [value1, value2, value3] 3. list of list: [[value11, value12], [value21, value22]] Example: --extra_quantizer_args 'arg1=value1;arg2;arg3=value1 value2 value3;arg4=value11 value12;arg4=value21 value22' --use_native_input_files Reads calibration inputs in the dtype native to the converted DLC graph instead of float. Note: Do not set manually when input_model is a framework model; set automatically by InputProcessor. --preserve_io_datatype PRESERVE_IO_DATATYPE [PRESERVE_IO_DATATYPE ...] Preserve the IO datatype of the listed tensor names in the DLC. Pass 'all' to preserve every IO tensor. Note: Do not set manually when input_model is a framework model; set automatically by InputProcessor. netrun arguments: --perf_profile {low_balanced,balanced,default,high_performance,sustained_high_performance,burst,low_power_saver,power_saver,high_power_saver,extreme_power_saver,system_settings} Specifies perf profile to set. Valid settings are "low_balanced" , "balanced" , "default", high_performance" ,"sustained_high_performance", "burst", "low_power_saver", "power_saver", "high_power_saver", "extreme_power_saver", and "system_settings". Note: perf_profile argument is now deprecated for HTP backend, user can specify performance profile through backend extension config now. --profiling_level PROFILING_LEVEL Enables profiling and sets its level. For QNN executor, valid settings are "basic", "detailed" and "client" Default is detailed. --input_list INPUT_LIST Path to the text file containing the input list used for inference(used with net-run). The data types of raw files in the input list depend on the input model type: - .dlc/.bin models: Inputs can be provided as either float32 raw tensors or graph-native data types when `use_native_input_data` and `use_native_input_files` are enabled. - Framework models: Inputs must use the data types defined by the framework model input specifications. --netrun_backend_extension_config NETRUN_BACKEND_EXTENSION_CONFIG Path to config to be used with qnn-net-run --extra_net_run_args EXTRA_NET_RUN_ARGS Any specific net_run argument which isn't explicitly exposed can be provided using this argument. Possible values an argument can take: 1. single value: value1 or store_true 2. list of values: [value1, value2, value3] 3. list of list: [[value11, value12], [value21, value22]] Example: --extra_net_run_args 'arg1=value1;arg2;arg3=value1 value2 value3;arg4=value11 value12;arg4=value21 value22' --use_native_input_data Reads net-run inputs in the dtype native to the DLC/BIN graph. Note: Do not set manually when input_model is a framework model; set automatically by InputProcessor. --native_input_tensor_names NATIVE_INPUT_TENSOR_NAMES [NATIVE_INPUT_TENSOR_NAMES ...] Names of input tensors whose raw files are in the graph native dtype. Note: Do not set manually when input_model is a framework model; set automatically by InputProcessor. offline prepare arguments: --offline_prepare_backend_extension_config OFFLINE_PREPARE_BACKEND_EXTENSION_CONFIG Path to config to be used with qnn-context-binary-generator. --extra_context_bin_args EXTRA_CONTEXT_BIN_ARGS Any specific contextbinary generator argument which is not explicitly exposed can be provided using this argument. Possible values an argument can take: 1. single value: value1 or store_true 2. list of values: [value1, value2, value3] 3. list of list: [[value11, value12], [value21, value22]] Example: --extra_context_bin_args 'arg1=value1;arg2;arg3=value1 value2 value3;arg4=value11 value12;arg4=value21 value22' LoRA model creator arguments: --lora_config LORA_CONFIG Path to the updated LoRA YAML config file produced by qairt-lora-mapper. Providing this argument enables the full LoRA pipeline. --lora_output_dir LORA_OUTPUT_DIR Path to store the output artifacts of the LoRA Model Creator tool. If not specified, outputs are stored under //lora_model_creator_output. --lora_quant_updatable_mode {none,adapter_only,all} Specifies whether and for which tensors the quantization encodings change across use-cases. Choices: none (encodings are fixed), adapter_only (only adapter tensors have updatable encodings, default), all (all tensors have updatable encodings). --lora_debug LORA_DEBUG Run the LoRA Model Creator in debug mode. Pass a non-negative integer to enable. Default: -1 (disabled). --lora_skip_validation Skip validation checks in the LoRA Model Creator. --lora_dump_usecase_onnx Dump per-use-case ONNX models for inspection. --lora_transforms_metadata LORA_TRANSFORMS_METADATA Path to a JSON file for storing transformation metadata used by the LoRA Model Creator. LoRA importer arguments: --lora_importer_config LORA_IMPORTER_CONFIG Path to the YAML config file for the LoRA Importer. Use when running the importer standalone (i.e., without --lora_config). --lora_importer_input_dlc LORA_IMPORTER_INPUT_DLC Path to the Float or Quantized DLC file for the LoRA Importer (standalone mode). --lora_importer_input_network LORA_IMPORTER_INPUT_NETWORK Path to the source ONNX model for the LoRA Importer (standalone mode). --lora_importer_input_list LORA_IMPORTER_INPUT_LIST Path to the file specifying input data for the LoRA Importer (standalone mode). --lora_importer_output_dir LORA_IMPORTER_OUTPUT_DIR Directory to store all LoRA Importer output artifacts. If not specified, outputs are stored under //lora_importer_output. --lora_importer_float_fallback Enable fallback to floating point in the LoRA Importer. --lora_importer_debug LORA_IMPORTER_DEBUG Run the LoRA Importer in debug mode. Pass a non-negative integer to enable. Default: -1 (disabled). --lora_importer_skip_validation Skip validation checks in the LoRA Importer. --lora_importer_dump_usecase_dlc Dump per-use-case DLC files for inspection. --lora_importer_dump_usecase_onnx Dump per-use-case ONNX models for inspection. --lora_importer_skip_apply_graph_transforms Skip applying graph transforms in the LoRA Importer. LoRA general arguments: --use_case_names USE_CASE_NAMES [USE_CASE_NAMES ...] Space-separated list of LoRA use-case names to run (e.g., function style). These names correspond to the use-cases defined in the LoRA config YAML and are used to construct the binary_updates_.yaml file passed to qnn-net-run. --lora_alpha_tensor LORA_ALPHA_TENSOR Path to the LoRA alpha tensor raw file. This tensor controls the scaling factor for LoRA adapters and is prepended as the first input to the model during inference. The input_list and calibration_input_list shouldn't include this tensor - it will be automatically handled by the inference engine. This argument is required when using LoRA models (i.e., when --lora_config is provided). offline prepare LoRA arguments: --adapter_weight_config_file ADAPTER_WEIGHT_CONFIG_FILE Path to the LoRA adapter weight config file (lora_output_files.yaml) produced by the LoRA Importer. Use this argument when providing a pre-generated adapter weight config to the context binary generation step directly, bypassing the LoRA pipeline. Copy to clipboard **Sample Commands** # Example for running on Linux host's CPU without quantization encodings qairt-accuracy-debugger inference_engine \ --backend cpu \ --platform x86_64-linux-clang \ --input_model source_model/mobilenet.onnx \ --input_list inputs/input_list.txt \ --calibration_input_list inputs/calibration_list.txt \ --param_quantizer_schema symmetric \ --act_quantizer_schema asymmetric \ --param_quantizer_calibration sqnr \ --act_quantizer_calibration percentile \ --percentile_calibration_value 99.995 \ --bias_bitwidth 32 # Example for running on Android DSP target qairt-accuracy-debugger inference_engine \ --backend htp \ --platform aarch64-android \ --device_id 357415c4 \ --input_model source_model/mobilenet.onnx \ --input_list inputs/input_list.txt \ --quantization_overrides AIMET_quantization_encodings.json # Example for running on a WoS HTP target qairt-accuracy-debugger inference_engine ^ --backend htp ^ --platform wos ^ --input_model source_model/mobilenet.onnx ^ --input_list inputs/input_list.txt ^ --quantization_overrides AIMET_quantization_encodings.json # Example for running on a WoS CPU target qairt-accuracy-debugger inference_engine ^ --backend cpu ^ --platform wos ^ --input_model source_model/mobilenet.onnx ^ --input_list inputs/input_list.txt ^ --calibration_input_list inputs/calib_list.txt # Example for running on Android GPU target with fp16 precision qairt-accuracy-debugger inference_engine \ --backend gpu \ --platform aarch64-android \ --input_model mobilenet.onnx \ --input_tensor "data" 1,3,224,224 inputs/data.raw \ --output_tensor mobilenetv20_output_flatten0_reshape0 \ --input_list inputs/input_list.txt \ --converter_float_bitwidth 16 # Example for running on a QNX HTP target qairt-accuracy-debugger inference_engine ^ --backend htp ^ --platform qnx ^ --ip_address 192.168.1.1 --username root --password "" --input_model source_model/mobilenet.onnx ^ --input_list inputs/input_list.txt ^ --quantization_overrides AIMET_quantization_encodings.json # Example for running on Linux-Embedded HTP target qairt-accuracy-debugger inference_engine \ --backend htp \ --platform linux-embedded \ --device_id 357415c4 \ --ip_address 192.169.2.1 \ --input_model mobilenet.onnx \ --offline_prepare \ --input_list inputs/input_list.txt \ # Example of using extra_quantizer_args qairt-accuracy-debugger inference_engine \ --backend htp \ --platform aarch64-android \ --input_model source_model/mobilenet.onnx \ --input_list inputs/input_list.txt \ --calibration_input_list inputs/calib_list.txt \ --extra_quantizer_args "use_quantize_v2" Copy to clipboard - Tip: - - Although tool can quantize the given model using data provided through –calibration\_input\_list argument, it is recommended to pass quantization encodings through –quantization\_overrides argument to speed-up the execution More example commands with different stage configurations: **Sample Commands** # source stage: same as examples from above section # Running from converted stage (Android DSP): qairt-accuracy-debugger inference_engine \ --input_model converted_model.dlc \ --backend htp \ --device_id f366ce60 \ --platform aarch64-android \ --input_list inputs/input_list.txt \ --quantization_overrides AIMET_quantization_encodings.json # Running from quantized stage (x86 CPU): qairt-accuracy-debugger inference_engine \ --input_model quantized_model.dlc \ --backend cpu \ --platform x86_64-linux-clang \ --input_list inputs/input_list.txt \ Copy to clipboard **Outputs** Once the Inference Engine has finished running, it will store the outputs in the specified working directory. By default, it will store the output in working_directory/inference_engine in the current working directory. It creates an output directory with a timestamp of the format *YYYY-MM-DD\_HH:mm:ss* in working_directory/inference_engine. Below is the output directory structure: working_directory ├── inference_engine │   └── 2025-07-07_22-05-54 │   ├── base.dlc │   ├── base_quantized.dlc │   └── Output │   └── Result_0 │   ├── data_0231.raw │   ├── . │   ├── . Copy to clipboard The “output” directory contains raw files. Each raw file is an output of an operation in the network. The base\_quantized\_encoding.json contains quantization encodings used by the model. #### LoRA-Enabled Inference Engine LoRA (Low-Rank Adaptation) is a parameter-efficient fine-tuning method that adds trainable low-rank matrices to pre-trained model layers while keeping the original weights frozen. The Inference Engine component supports running LoRA-adapted models on target devices by orchestrating the full LoRA pipeline: model creation, adapter import, context binary generation, and inference. **LoRA Pipeline Overview** When `--lora_config` is provided, the Inference Engine executes the following pipeline automatically: LoRA Config (YAML) │ ▼ qairt-lora-model-creator │ Generates: base_model.onnx, base_encodings.json, │ lora_tensor_names.txt, lora_importer_config.yaml ▼ qairt-converter (uses lora_tensor_names.txt via --lora_weight_list) │ Generates: base.dlc ▼ qairt-quantizer (uses base_encodings.json) │ Generates: base_quantized.dlc ▼ qairt-lora-importer (uses lora_importer_config.yaml) │ Generates: lora_output_files.yaml (adapter weight config) ▼ qnn-context-binary-generator (uses lora_output_files.yaml) │ Generates: context binary + adapter patches per use-case ▼ qnn-net-run (uses binary_updates.yaml with adapter details) │ Produces: inference outputs Copy to clipboard Note The `--lora_config` argument accepts the updated LoRA config YAML file produced by `qairt-lora-mapper`. This file maps PyTorch module names to ONNX operator names and specifies the LoRA adapter configuration for each use-case. **LoRA Arguments** The following argument groups are available for LoRA-enabled inference: *LoRA Model Creator Arguments* These arguments control the `qairt-lora-model-creator` step, which generates the concatenated max-rank ONNX model and per-use-case adapter artifacts. | Argument | Default | Description | | --- | --- | --- | | `--lora_config` | None | Path to the updated LoRA YAML config file (produced by `qairt-lora-mapper`).
Providing this argument enables the full LoRA pipeline. | | `--lora_output_dir` | None | Path to store the output artifacts of the LoRA Model Creator tool. If not specified,
outputs are stored under `//lora_model_creator_output`. | | `--lora_quant_updatable_mode` | `adapter_only` | Specifies whether and for which tensors the quantization encodings change across
use-cases. Choices: `none` (encodings are fixed), `adapter_only` (only adapter
tensors have updatable encodings), `all` (all tensors have updatable encodings). | | `--lora_debug` | -1 | Run the LoRA Model Creator in debug mode. Pass a non-negative integer to enable. | | `--lora_skip_validation` | False | Skip validation checks in the LoRA Model Creator. | | `--lora_dump_usecase_onnx` | False | Dump per-use-case ONNX models for inspection. | | `--lora_transforms_metadata` | None | Path to a JSON file for storing transformation metadata used by the LoRA Model Creator. | *LoRA Importer Arguments* These arguments control the `qairt-lora-importer` step, which generates the adapter weight config file used during context binary generation. In the standard pipeline, the importer config is automatically populated from the LoRA Model Creator output. These arguments are primarily used when running the importer in standalone mode. | Argument | Default | Description | | --- | --- | --- | | `--lora_importer_config` | None | Path to the YAML config file for the LoRA Importer. Use when running the importer
standalone (i.e., without `--lora_config`). | | `--lora_importer_input_dlc` | None | Path to the Float or Quantized DLC file for the LoRA Importer (standalone mode). | | `--lora_importer_input_network` | None | Path to the source ONNX model for the LoRA Importer (standalone mode). | | `--lora_importer_input_list` | None | Path to the file specifying input data for the LoRA Importer (standalone mode). | | `--lora_importer_output_dir` | None | Directory to store all LoRA Importer output artifacts. If not specified, outputs are
stored under `//lora_importer_output`. | | `--lora_importer_float_fallback` | False | Enable fallback to floating point in the LoRA Importer. | | `--lora_importer_debug` | -1 | Run the LoRA Importer in debug mode. Pass a non-negative integer to enable. | | `--lora_importer_skip_validation` | False | Skip validation checks in the LoRA Importer. | | `--lora_importer_dump_usecase_dlc` | False | Dump per-use-case DLC files for inspection. | | `--lora_importer_dump_usecase_onnx` | False | Dump per-use-case ONNX models for inspection. | | `--lora_importer_skip_apply_graph_transforms` | False | Skip applying graph transforms in the LoRA Importer. | *LoRA General Arguments* | Argument | Default | Description | | --- | --- | --- | | `--use_case_names` | None | Space-separated list of LoRA use-case names to run (e.g., `function style`).
These names correspond to the use-cases defined in the LoRA config YAML. Used to
construct the `binary_updates.yaml` file passed to `qnn-net-run`. | *Offline Prepare Arguments (LoRA)* | Argument | Default | Description | | --- | --- | --- | | `--adapter_weight_config_file` | None | Path to the LoRA adapter weight config file (`lora_output_files.yaml`) produced by
the LoRA Importer. Use this argument when providing a pre-generated adapter weight
config to the context binary generation step directly, bypassing the LoRA pipeline. | **LoRA Inference Engine Output Structure** When the LoRA pipeline is executed, the output directory contains the following structure: working_directory └── inference_engine └── 2025-07-07_22-05-54 ├── lora_model_creator_output │ ├── base_model.onnx │ ├── base_model.data │ ├── base_encodings.json │ ├── _encodings.json │ ├── .safetensors │ ├── lora_tensor_names.txt │ └── lora_importer_config.yaml ├── lora_importer_output │ ├── _lora.encodings │ ├── _lora.safetensors │ └── lora_output_files.yaml ├── lora_base.dlc ├── lora_base_quantized.dlc ├── lora_base_quantized.dlc.bin ├── lora_base_default_adapter.bin ├── lora_base_.bin ├── binary_updates_.yaml ├── accuracy_debugger_user_info.log └── Output ├── base │ └── Result_0 │ ├── output_tensor_0.raw │ └── ... └── lora_base_ └── Result_0 ├── output_tensor_0.raw └── ... Copy to clipboard **Sample Command** The following example runs LoRA-enabled inference on an Android HTP device using offline prepare: qairt-accuracy-debugger inference_engine \ --platform aarch64-android \ --backend htp \ --input_model /path/to/base_model.onnx \ --calibration_input_list /path/to/calibration/input_list.txt \ --input_list /path/to/input_list.txt \ --working_directory /path/to/output \ --log_level debug \ --offline_prepare \ --lora_config /path/to/lora_config_updated.yaml \ --lora_quant_updatable_mode adapter_only \ --use_case_names function long \ --lora_alpha_tensor /path/to/lora_alpha.raw Copy to clipboard Note - The `--lora_config` argument is the primary trigger for the LoRA pipeline. When provided, the tool automatically runs `qairt-lora-model-creator` first, then proceeds with conversion and quantization of the generated base model, followed by `qairt-lora-importer` (which takes the converted/quantized DLC as input), and finally context binary generation. - The `--lora_alpha_tensor` argument specifies the path to the LoRA alpha scaling tensor (a raw float32 file). This tensor is automatically prepended as the first input to the model during inference. **Important:** The `--input_list` and `--calibration_input_list` shouldn’t include the lora alpha tensor, it is handled automatically by the inference engine. This argument is **required** when `--lora_config` is provided. - The `--offline_prepare` flag is required for LoRA inference on HTP targets, as the LoRA adapter patches are generated during the context binary generation step. - The `--use_case_names` argument specifies which LoRA use-cases to activate during inference. Each use-case corresponds to a different set of adapter weights. - Backward compatibility is maintained: omitting all `--lora_*` arguments runs the standard (non-LoRA) inference pipeline without any changes. #### Verification The Verification step compares the output (from the intermediate tensors of a given model) produced by the framework runner step with the output produced by the inference engine step. Once the comparison is complete, the verification results are compiled and displayed visually in a format that can be easily interpreted by the user. There are different types of verifiers for e.g.: l1\_norm, rtol\_atol, etc. To see available verifiers please use the –help option (qairt-accuracy-debugger verification –help). Each verifier compares the Framework Runner and Inference Engine output using an error metric. It also prepares reports and/or visualizations to help the user analyze the network’s error data. **Usage** usage: qairt-accuracy-debugger verification [-h] --inference_tensor INFERENCE_TENSOR --reference_tensor REFERENCE_TENSOR [--comparators {l1_norm,l2_norm,average,cosine,standard_deviation,mse,snr,kl_divergence,rtol_atol,l1_error,mse_rel,topk,adjusted_rtol_atol,mae} [{l1_norm,l2_norm,average,cosine,standard_deviation,mse,snr,kl_divergence,rtol_atol,l1_error,mse_rel,topk,adjusted_rtol_atol,mae} ...]] [--reference_dtype REFERENCE_DTYPE] [--inference_dtype INFERENCE_DTYPE] [--dlc_file DLC_FILE] [--graph_info GRAPH_INFO] [--is_qnn_golden_reference] [--working_directory WORKING_DIRECTORY] [--log_level {info,debug,warning,error}] options: -h, --help show this help message and exit required arguments: --inference_tensor INFERENCE_TENSOR Directory path of inference tensor files. --reference_tensor REFERENCE_TENSOR Directory path of reference tensor files. optional arguments: --comparators {l1_norm,l2_norm,average,cosine,standard_deviation,mse,snr,kl_divergence,rtol_atol,l1_error,mse_rel,topk,adjusted_rtol_atol,mae} [{l1_norm,l2_norm,average,cosine,standard_deviation,mse,snr,kl_divergence,rtol_atol,l1_error,mse_rel,topk,adjusted_rtol_atol,mae} ...] Comparator to use to compare tensors. For multiple comparators, specify as follows: --comparator mse std. Default comparator is mse --reference_dtype REFERENCE_DTYPE Data type of reference tensor files. --inference_dtype INFERENCE_DTYPE Data type of inference tensor files. --dlc_file DLC_FILE Path to dlc file. --graph_info GRAPH_INFO Path to json file containing graph information like, tensor mapping, graph structure and layout information in the following format: {'tensor_mapping':{}, graph_structure:{}, layout_info:{}} --is_qnn_golden_reference Specifies that outputs passed with --reference_tensor are dumped by QNN. --working_directory WORKING_DIRECTORY Path to working directory. If not specified a directory with name working_directory will be created in the current directory. --log_level {info,debug,warning,error} Log level. Default is info. Copy to clipboard **Sample Commands** # Compare output of framework runner with inference engine qairt-accuracy-debugger verification \ --comparator CosineSimilarity mse \ --golden_output_reference_directory working_directory/framework_runner_output/ \ --inference_results working_directory/inference_engine_output/ \ --graph_info working_directory/graph_info.json \ --dlc_file working_directory/inference_engine/base.dlc Copy to clipboard # Compare outputs of two different inference engine outputs: qairt-accuracy-debugger verification \ --comparator mse \ --golden_output_reference_directory working_directory/inference_engine_output1/ \ --inference_results working_directory/inference_engine_output2/ \ Copy to clipboard - Tip: - - If you passed multiple images in the image\_list.txt from run inference engine diagnosis, you’ll receive multiple output/Result\_x. Choose the result that matches the input you used for framework runner for comparison (i.e., in framework you used chair.raw and inference chair.raw was the first item in the image\_list.txt then choose output/Result\_0 if chair.raw was the second item in image\_list.txt, then choose output/Result\_1). - It is recommended to always supply dlc\_file or graph\_info to the command as it is used to line up the report and find the corresponding files for comparison. - If both targets and golden outputs are to be exact-name-matching, then you don’t need to provide a tensor\_mapping file. Tensor Mapping: Tensor mapping is a JSON file keyed by inference tensor names, of framework tensor names. If the tensor mapping isn’t provided, the tool generate it from dlc\_file. If dlc\_file isn’t provided, it will assume inference and golden tensor names are identical. **Tensor Mapping File** ```json { "Postprocessor/BatchMultiClassNonMaxSuppression_boxes": "detection_boxes:0", "Postprocessor/BatchMultiClassNonMaxSuppression_scores": "detection_scores:0" } ``` Copy to clipboard **Outputs** Once the Verification has finished running, it will store the outputs in the specified working directory. By default, it will store the output in working_directory/verification in the current working directory. It creates an output directory with a timestamp of the format *YYYY-MM-DD\_HH:mm:ss* in working_directory/verification. Below is the output directory structure: working_directory └── verification ├── 2025-07-07_22-10-10 └── verification.csv Copy to clipboard Verifier generates a summary CSV file which summarizes the data from all verifiers and their subsequent tensors. The following figure shows how a sample summary generated in the verification step looks. Each row in this summary corresponds to one tensor name that is identified by the framework runner and inference engine steps. The final column shows cosine similarity score which can vary between 0 to 1 (this range might be different for other verifiers). Higher scores denote similarity while lower scores indicate variance. The developer can then further investigate those specific tensor details. The developer should inspect tensors from top-to-bottom order, meaning if a tensor is broken at an earlier node, anything that was generated post that node is unreliable until that node is properly fixed. ![../_static/resources/verification_results.png](data:image/png;base64,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) #### Compare Encodings - The Compare Encodings feature is designed to compare two encoding files/DLCs. It provides the following insights:​ - 1. Incorrect consumption of AIMET encodings by QAIRT: ​gives the list of AIMET tensors whose encodings are incorrectly consumed by QAIRT. It can be seen in the .csv file by setting the “Status” field to “ERROR”​. 2. Missing Encodings:​ provides the list of tensors in an encoding file that do not have similar encodings with any of the tensors in the other encoding file. It can be seen in the .csv file by setting the “Status” field to “UNMAPPED”. 3. One-to-Many Mapping: maps a given tensor in an encoding file to all tensors in another encoding file with which it shares the similar encodings. It can be seen in the .csv file by checking the “Total Mappings” field​. For example, encodings for Math invariant ops are not present in an AIMET encodings file while they are present in the QNN graph. 3. Supergroup Mapping: helps in identifying fusions that map each QNN tensor to a set of tensors in framework graph​. - It supports the following for encoding comparisons:​ - 1. QAIRT vs QAIRT encodings (User can either pass quantized DLC or encoding JSON file) ​ Use-case: Catch the regression issues between QAIRT SDKs by comparing two quantized DLCs​ 2. - QAIRT vs AIMET​ - Use-case: Compare the DLC/JSON encodings vs AIMET Quantsim encodings ​ 3. AIMET vs AIMET​ Use-case: Catch the regression issue between AIMET SDKs - It supports the following encoding schema versions: - 1. “0.0.6” AIMET encoding format 2. “1.0.0” AIMET encoding format 3. “2.0.0” AIMET encoding format **Usage** usage: qairt-accuracy-debugger compare_encodings [-h] --encoding_path1 ENCODING_PATH1 --encoding_path2 ENCODING_PATH2 [--quantized_dlc1_path QUANTIZED_DLC1_PATH] [--quantized_dlc2_path QUANTIZED_DLC2_PATH] [--framework_model_path FRAMEWORK_MODEL_PATH] [--scale_threshold SCALE_THRESHOLD] [--working_directory WORKING_DIRECTORY] [--log_level {info,debug,warning,error}] options: -h, --help show this help message and exit required arguments: --encoding_path1 ENCODING_PATH1 Path to an encoding file or quantized DLC file. Encoding file must end with either .json or .encodings. DLC file must end with .dlc. If DLC file is provided, encodings are extracted from the quantized DLC file. --encoding_path2 ENCODING_PATH2 Path to an encoding file or quantized DLC file. Encoding file must end with either .json or .encodings. DLC file must end with .dlc. If DLC file is provided, encodings are extracted from the quantized DLC file. optional arguments: --quantized_dlc1_path QUANTIZED_DLC1_PATH Path to quantized DLC file related to encoding_path1 being passed. If passed with a framework model, it performs following operations on the encodings from encoding_path1: 1. Propagates convert_ops encodings to the parent op considering the fact that the parent op exists in the framework model 2. Resolves any activation name changes done. For example, matmul+add in a framework model becomes fc in the DLC graph and the tensor name gets _fc suffix. It also performs supergroup mapping which maps each QNN tensor to a set of tensors in the framework graph which was fused to form the fused QNN op. --quantized_dlc2_path QUANTIZED_DLC2_PATH Path to quantized DLC file related to encoding_path2 being passed. If passed with a framework model, it performs following operations on the encodings from encoding_path2: 1. Propagates convert_ops encodings to the parent op considering the fact that the parent op exists in the framework model 2. Resolves any activation name changes done. For example, matmul+add in a framework model becomes fc in the DLC graph and the tensor name gets _fc suffix. It also performs supergroup mapping which maps each QNN tensor to a set of tensors in the framework graph which was fused to form the fused QNN op. --framework_model_path FRAMEWORK_MODEL_PATH Path to the framework model. If passed with a quantized DLC for any of the encoding_config, it performs the following operations on the QAIRT encodings file: 1. Propagates convert_ops encodings to the parent op considering the fact that the parent op exists in the framework model 2. Resolves any activation name changes done. For example, matmul+add in a framework model becomes fc in the DLC graph and the tensor name gets _fc suffix. It also performs supergroup mapping. --scale_threshold SCALE_THRESHOLD Threshold for scale comparision of two encodings. For example, scale1=0.5, scale2=0.01. We compare scale1 and scale2 as: abs(scale1-scale2)<(min(scale1, scale2)*scale_threshold). This ensures that it is bound by the lowest scale value among the given two scales. --working_directory WORKING_DIRECTORY Path to working directory. Default: working_directory --log_level {info,debug,warning,error} Log level. Default is info Copy to clipboard **Sample Commands** # Comparing two encodings files qairt-accuracy-debugger compare_encodings \ --encoding_path1 encoding1.json \ --encoding_path2 encoding2.json # Comparing two DLC files qairt-accuracy-debugger compare_encodings \ --encoding_path1 encoding1.dlc \ --encoding_path2 encoding2.dlc # Comparing DLC and encoding file qairt-accuracy-debugger compare_encodings \ --encoding_path1 encoding1.dlc \ --encoding_path2 encoding2.json # Comparing two encodings with quantized_dlc being passed for encoding1 # to map QNN op in quantized_dlc1 to framework ops (supergroup mapping) qairt-accuracy-debugger compare_encodings \ --encoding_path1 encoding1.json \ --quantized_dlc1_path quantized_dlc1.dlc \ --encoding2_file_path encoding2.json \ --framework_model framework_model.onnx Copy to clipboard Tip A working\_directory is generated from wherever this script is called from unless otherwise specified. **Outputs** Once the Compare Encodings has finished running, it will store the outputs in the specified working directory. By default, it will store the output in working_directory/compare_encodings in the current working directory. Creates a directory named *latest* in working_directory/compare_encodings which is symbolically linked to the most recent run *YYYY-MM-DD\_HH:mm:ss*. Users may choose to override the directory name by passing it to –output\_dirname (i.e. –output\_dirname myTest1). The analysis report consists of .csv and .json files. **CSV Files:** The tool produces two .csv files. Each file has 10 columns: | Column | Description | | --- | --- | | Tensor Name(name of encoding file1) | A tensor name in encoding file1 | | Tensor Name(name of encoding file2) | A tensor name in encoding file | | Status | One of “UNMAPPED”, “SUCCESS”, “WARNING”, “ERROR”


UNMAPPED: When a tensor in a encoding file isn’t mapped to any of the tensors in another encoding file.


SUCCESS: When a tensor in a encoding file is mapped to one or more tensors tensor in another encoding file.


WARNING: When a tensor in a encoding file is mapped to one or more tensors in another encoding file but does have the exact bitwidth or is\_symm value.


ERROR: When a tensor of the same name in both the encoding files doesn’t have the same encoding (scale, offset, channels, dtype). | | dtype | One of “SAME”, “NOT\_COMPARED”, some other info


SAME: If the value is the same in both encoding files


NOT\_COMPARED: If the field isn’t compared between a pair of tensors belonging to two encoding files. If some tensors are not mapped, the field isn’t present in the encoding, or if the channels are not the same, there’s no need to compare scale and offsets.


Any info if comparison failed due to mismatch. | | is\_symm | One of “SAME”, “NOT\_COMPARED”, some other info


SAME: If the value is the same in both encoding files


NOT\_COMPARED: If the field isn’t compared between a pair of tensors belonging to two encoding files. If some tensors are not mapped, the field isn’t present in the encoding, or if the channels are not the same, there’s no need to compare scale and offsets.


Any info if comparison failed due to mismatch. | | bitwidth | One of “SAME”, “NOT\_COMPARED”, some other info


SAME: If the value is the same in both encoding files


NOT\_COMPARED: If the field isn’t compared between a pair of tensors belonging to two encoding files. If some tensors are not mapped, the field isn’t present in the encoding, or if the channels are not the same, there’s no need to compare scale and offsets.


Any info if comparison failed due to mismatch. | | channels | One of “SAME”, “NOT\_COMPARED”, some other info


SAME: If the value is the same in both encoding files


NOT\_COMPARED: If the field isn’t compared between a pair of tensors belonging to two encoding files. If some tensors are not mapped, the field isn’t present in the encoding, or if the channels are not the same, there’s no need to compare scale and offsets.


Any info if comparison failed due to mismatch. | | scale | One of “SAME”, “NOT\_COMPARED”, some other info


SAME: If the value is the same in both encoding files


NOT\_COMPARED: If the field isn’t compared between a pair of tensors belonging to two encoding files. If some tensors are not mapped, the field isn’t present in the encoding, or if the channels are not the same, there’s no need to compare scale and offsets.


Any info if comparison failed due to mismatch. | | offset | One of “SAME”, “NOT\_COMPARED”, some other info


SAME: If the value is the same in both encoding files


NOT\_COMPARED: If the field isn’t compared between a pair of tensors belonging to two encoding files. If some tensors are not mapped, the field isn’t present in the encoding, or if the channels are not the same, there’s no need to compare scale and offsets.


Any info if comparison failed due to mismatch. | | Total Mappings | Number of tensors in another file with which the given tensor name shares its encoding. | It produces two .csv files: 1. param\_comparison.csv ![../_static/resources/param_comparison.png](data:image/png;base64,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) 2. activation\_comparison.csv ![../_static/resources/activation_comparison.png](data:image/png;base64,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) **JSON Files** 1. Encoding comparison .json files Because it produces a “one-to-many” map of tensors sharing the same encodings between two files, CSV isn’t a “conclusive” format to represent the whole data. CSV gives overall information at a glance but JSON provides indepth details related to “one-to-many” maps. This can be used when “Total Mappings” for any tensor is >1 and it was not expected. For example: for one tensor the info looks something like this: ![../_static/resources/one2many.png](data:image/png;base64,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) for the tensor name /rms\_norm\_0/Cast\_1\_output\_0, we have > > > 1. “compare\_info” which contains all the tensor names in another encoding file along with its comparison info > 2. “Status” which contains the status of comparison with tensor names in another encoding file > 3. “Mapping” is a list of tensor names in another encoding file which is mapped to the tensor It generates 4 .json files: > > > 1. <encoding1 file name>\_param.json: comparison of params in encoding file1 against the params in encoding file2 > 2. <encoding1 file name>\_activation.json: comparison of activations in encoding file1 against the activations in encoding file2 > 3. <encoding2 file name>\_param.json: comparison of params in encoding file2 against the params in encoding file1 > 4. <encoding2 file name>\_activation.json: comparison of activations in encoding file2 against the activations in encoding file1 2. Supergroup Info .json files: When for any of the encoding\_config quantized\_dlc\_path along with framework\_model\_path is provided, the tool dumps supergroup mapping. For example, if providing quantized\_dlc\_path for encoding\_config1 as well as framework\_model\_path, then map each activation tensor in encoding\_config2 to a supergroup in the dlc file belonging to encoding\_config1. A sample mapping is shown below: ![../_static/resources/supergroup_mapping.png](data:image/png;base64,UklGRvgXAABXRUJQVlA4TOsXAAAvj4FuAHcEt7Zt1cr87hK5fyQnpQmaoyVCOnB3t+evDUi2bZuuVmzbLLqerqYFaYdKScm2zY8HN7ZtHc+JbbuzM5cMNa0zAneq+Mfmm/8Ac1ngB0cQ+IOACDDKvwaFX5O6CP9wAwEk+ICMFwGRAuUTfBHJqCrW7meAAjk5CCR0jHjVKfRUfnZfn6L4Vu3MOIlHVp9MfTGDGfQoQQLdBHpJpMoSN0gj5GyqiSCntdwvdfDNXZ+kLmplNCLu6sRkaAxQgQ70oAENux94QeVdp5MrVGK71T0o0KCBRLh4VKvcADwl/zqYGClsMvfFWrB5dCcEVVH/swm0bojL2nuXySssPKteXkSDt6UKnrQAI1jtAiiaGR1sQcHtxaM4/LVBHwOYgTov+OJ5vqWJPdWbIrZjet2oz1K11VW8BU+UAxHl4tIJ4ghArGjCFZ7KAjZqIwS1BJWh2m6/JcL109z2Jo7BzOH4nnNb/juo1KAKHrf/k9u22TZOUyldUJqqIjtFoxpKvcjuQru0K/tiaHYvuvDakCu8cFEhvV0LlVDIJl8Xu1BwaGRjrD965vv7zQAEiMEVy47oPy1ItsK20vBCYhf2Hi2SjO49uv4X4uv/9APBt98Kk/aL//mv//yuyKR941si+/YP//1dkdf284ff0f9PKWDLfsORXLXc8C//pdrD7yyXf/n3jBSn2uocSi4iK6L7+j/KefiZPJUUuZUVyz2w5M/pv/abCtCqD/b/oArxuw/+/mWl4Gsfflkxut//rXHKg//9i6gU/N/fvy9E1ej+6lSPp0958LsPqkbcTPz+73//8quMvMuzVj6KT75p/w+ejaM7nDV6sbtkcTd2d7ftkfXB3AkU3WEcxwnRAnPeHsWqHW+huBTcuiL/skyOt+jxl0iC439j5zyYNag4Y65f/LZt4h9vsZPuSyEc3aFHxFkhS2jBHBLLEv43395472TDommPXEHhzpyWDg5MhBbDs6OOl350Xtjrg96soWF9kGTw1+VXhMXSHXoE7ncW3QWrxeXA9Rwr1q5fxsw7hfnPWvsQP5bNgwGxanMHflsmuW2Vhxu721Ujzn9dxpWrR97lmX0++eapBvJnRlomQey1R8Yx6mm0aEUhRypx1gDnM2qP0HmUQbqZgwaou0Njmgebe4eStaMoivYd1ELnfO8wikIqzjYgs99TmcolkYg09FHD2pH6t3f45iSkmnhxdoG/dNYHaehM6BS35MR33pVCQqJCI846hrC0754bSNsFKwDnuadOqNBmDcZrqWnXajtmW0UZ19U7EabaM6PVMIpdlbZUAjw5zuPgOnIoZoo69jjWjt46iqJx3ZIAqzGMxenXwbgyMmw4cN+hwOvUg+m4blm46J40QgTquewaXTgQmKN073BhY+g71g0wdzIeEGrAc6dtgWJMYKxjGdPXDLG1Tl4T4dherIBLHNYInunLppqXtaIFXArpjDVPz1oDXFyAB9fUuKj2wJgPYmYNRlN6uBBAhIdjpNrBpvyHUnhe/qj2pMy7jK45i9Zu1nZsH313slEpuFZ77FSPvMv/s3Gq39eSC6S75VcD48hmM+rvHbJBsnTiSh62js36wMDW0jMM5BsmJjHE2TOCRC07E0UTomZEC8z5NIIWMuKswdfSHXoQRV42s0YaQj4h1pn8B40qYwKGirMFXwvMOc78cgnSINNg7KSvHS3WWJrjOhFXbiynTMGsQeP85CbgWPkovEBF9cmOEShtqMmF06tBgvKmabyeAbJfLFbiM2qPXJJqpHkX2sFUq2Tx3GGATnPsZsp036FwZ05roX3XkLkDWWEdKcuvmNOEIRQuo29bXYLKdF0WdgrzLGVfR4v/bRdPw2dSCu6adbCDyIxxxgPGdQL9bR9xAZxznF1DcImhQ5Mxy5h9h0IsFVZCe+TBFMNY+Y6K4HiLwOoK4ChUlzi84SirIcy8E+h/QM+j2k7Zx80Yxwp+Eh2fG3hwsJI3ImtqUJD4ChTjiu4Q71bJBnIDCjzXjKAt4LdRyvhko5TIQ2PWbkVrb7z32LF6jLrXRJXg9vtPz1aGvMsLBXxGGBtzC4Dcaj9ODOlMxvVptGBIJ660fEaGGEf0iVisf7NEApV6M4GGnJuKzoS5q27tCOZ875DccUfFlZHPSM5FYHocps2w4A2Ny8ZLAZPTRw9S8+CfowWfUaPiSslnhN+2UEi6wzTIgjfspLekEAnnh2HElVieGM99Hn/iDOa/HCopTB0bQ3xS2aaX+CCYFrthkjTcFtAvF3C19y0+PZtBOlNI2IRzmfkoPJph/PMW8zUYPkHOmNKQouN2oURCXEk0Hk3OwX7scVtANyA7SNECAvM7LEVfC7Xl8ZCx6egOXW1yn4pHEULpYbYg65oSODAUDJwfphQ7ND1qIGfGdBCr5DFnfuGK3fQSgfsI2QI8c2a/hp+O6xTqhylLn1GiuozhFTEwrjAjiCnAy3pAn8DYxUrRZ6TmfhmAUgOIdP7BrKHziWfMgkL9MKUGHI4B+YTvDg0eMCuCFENiVw/RrLYJlyYKTf45qyHMvHMY+mFuv3+yUUI+I1hNvzrwBDHWJzB7nLoUbxSASg5tIZzjLbJH8SIzoxXJhpW6ItX2HfhtYoep7ZQFtK5p/loR/TClAT0r+l6+KKRdrFQQcLfPKudR7Yl95l2e319XKFeo2PEKMiPJgkW/PjrYXKk+o+4Q/UJ5odhmJPI1GtzNkfsOpJSnKxSSaclVV3Qz0nT8UzXnXPoSGddXps8ojxTcjNQMRZNDakKaK4AsG8v6wEOfEGM4CuZ/iuefj+T0Qipl7kCNCPROGFiIAEikFdqMBBhl91c1MrisklmM4SiIk/bd+19IYdSxx1W9MbEQKbrDuVNgMxIDrTqxkqFDYGJInpfuHuRDQyqQhyydfVf0EuWMMLEQST4bJUU2I1G4qlKrvyOTSA1HpLgNWxrNlTuEWqD7c8fIshKoSkOFNiMRuAO1NCCGIxbWu5K0X++5gRnYFdqMRGB+lwdyuaeFO2SDJHD9pJdwZzeehh97RTYjEZgaX6UBNRyxCGZ+/Y/vNbpvP/A4C5EGEcRegc1ILOpapzRgDEc8wsfFBk5aL3YZC5EOpSkpqhmJu0cohN/VI678HD2EOPXBrSu756tGd+vKdtV48OMLpz24cfmVqnHdc+fqpTOVguuXzlSPpysHXMGdqgBXcKcqPOAK7lQC7lw9zxXcqQZx5QtMwZ3qkXd5kQL5Kxm0ZHE3dne3S5/clgxK+CrjeAOix4lLZ1SyTI63mCoYtM7J3BGkCobHiDPPo138tm1CK11o7zHvDj2UguJsGMNCS4TYxbpA6wN6fqTB55MNW0ZTIUOeFaEaRnf4vaFn5+BArjhNAu8D1YG8tHpf+tF5Ya8PerMGXVcL2f0B/nTT/iVdYxYLHoTd4fEWDJ87cO5M312wWly1dIAlHPsy0uz7ZeRyp0dX1AG57rHyIaQYkEcFYNW4AApU2iS5bZWHG7vbVSPOf13GlatH3uWZGT755qkG8md+WSZB7KkotSHTaNGKQo5U4iwB3tfSHuE3HqRDlxpg0s7doRGkWvjeoWTtKIoiUlC/GYVMFes+I842wNnHbzZYEolIQ5+v6L53+OYEaMqC7lITI84u8JfO+iANnQmd4tbBpui8u9kBOpMFDqXirGMIS/vuuYFM87MCcJ576oQKbdZgvH2ads305mEKfsUBIMcvcNegQ6yGUeyiGWkUeypZxsF15FDMFHXs6dl7x5IAayuMxek3wtwSYwgO3Hco5FNMjjuwLVxM7hshAvVcpg0+nwh0zzj44ztWhmGHSee5k/GAkMB/lNkWKMYExoGcMX0Cr8S2AAMMju3FCu4SB31Kmb5syr8MFew7WiPH07PWABcX4ME1NS6qvWDuMHeuMJqyYu8wiqIQgzKqyU+wpnynhVbeyx/VnpRtl/me4YqitZu1HcvHoDvZqBRcqz12qkfe5St+TvX7jHKBdBv9amAcaW5G/b1DNmqZTlypw9WxAQUGNqOeYWLFMFGMIeeeMa1ogVHkJkQxaUSzTzNi4zonzhp8Rt2hB1H9ZTNrpCHkE5TNfUepgfQY5ACoOFvwGcGc48wvlyANMi2pc1TAWPAagRQqzgaG8MYIf9ageRfpJIKmfC1eoLIsZMcIlDbU5MLp1SBhfNM0f8KwoMjh0xD2E+b8aA20Ry5J/dI8GO1gqlXyfu4wQKc5djNlSudcnhUxV9zc/8m4bim075rAlU4zwtwTaQoMZMxF04NNeJ9pqN7GrroElem6ZdlbhLIL03W1kN1b+KdDsIun4TMpBXfNOthBZAY/0wHkIGySTD6k76e2Ac45zq45/qyhY2kZTHIQ4r0m7Musg/bIgymGsfIdPQGXQQRWVwBHobrE4Q1gWQ7Byx3mVpPOBK97NDyq7ZR83ExTg9aX8YFzAw8OVvJGZE0NChJfgWJc0R3i3UPZQG4IGtdBALSF+qc8xfoU/slGKZGHxqzditbeeO+xY/vou9dEleD2+0/PvojMZ4SxMbcAyK3248SQzmRcl3kAhnTiSstnZIhxRJ+IxXpESyRQqTc9XGK/SWOdUUhvgRzXmcJEnLgy8hnJuQhMj8O0GRa8wXTZeGk42GQSAuDBgApFUHNFZTgZcaXkM8IMfSHpDtPA1LrhcvstzPejFCquxPLEeO7z+BNnMP/lUElh6goZ4pNKQ73EB8G0+BCTpCFbwH6ngKu9jzRV/BJy+0wiTZXAgezNosR8FB7NMP55S80S2ioIcsaUhhQdtwslEuJKovFocg72Y4/bAroB2YGliDhjJZT46Ew+nfRL0NdCbXk8ZGw6ukNXm9yn4lGEUHqYLci6xgcODJkdAu2U8slOqeFR0PSogZwZ00Gsksec+YUrPtRLBO4jZAvwzGm4hs+m0AeYjMf/Cn8uStFnlKguY3hFDIwrzAhiCvCyHtCH1x1swnAsA7koP5+RmvtlAEoNINL5B7OGzieeMQtBa6dxLysv4HAMyCd8d2jwgFkRpBgSu3qIZrVNuDRRaPLPWQ6Byx3wtpI3w+sebYL5ZKOEfEawmn514AlirE9g9jh1Kd4oAJUc2sJEx1tkj+JFZkYrIkGAVgSN3lK00NthajtlAa0zm79WRD9MaUDPir6XLwppFysVBNzts8p5VHvy4qi6QrlCxY5XjRkJ0wK/PjrYXKk+o+4Q/UJ5oehmpBaEOkn1ooNNYoqZrlBIpiVXXbHNSMpjoQSQ2+mlJsK4vjJ9Rnmk2GYkTgDIWTsKkeYKIMvGsj7w0CfEGI6C+Z/i+ecjOb2QSpk7UCMCvRMGFiIAEmkFNyPB4djEXDKXvFzVyOCySmYxhqMgTtp3738hhVHHHlf1xsRCpOgO507RzUhwVpyGYLg42FzB0CEwMSTPS3cP8qEhFchDls6+K3qJckaYWIgkn42S4puRWlEf3qcJpslV35FJpIYjUtyGLY3myh1CLdD9uWNkWQlUpaFim5Go7UV2+Ge9JCCGIxbWu5K0X++5gRnYFduMxHxWNSMwv5QGcrmnhTtkgyRw/aSXcGc3noYfe0U2I1GrnuBeVg5QwxGLYObX//heo/v2A4+zEGkQQewV2Iwkx43rRAVe95QDjOGIR/i42MBJ68UuYyHSoTQlBTYjNSNoIa0pXD3iys/LQ4hTH9y6snu+anS3rmxXjQc/vnDagxuXX6ka1z13rl46Uym4fulM9Xi6csAV3KkKcAV3qsIDruBOJeDO1fNcwZ1qEFe+wBTcqR55l+eZkr8SNUsWd2N3d7v0yW2JmkRb1TqIE1ZcOmOMZXK8xVRdoHU15o7aIX445Ehxu//1i9+2TWhlBe09zd23t7ocvg1jWNiHELv6b0igwc6TDVtGU5FBnhVtHxyYMDtEwnyDSPr20o/OC3t90Js16LqaksFf0qVksXSHHrxOLvQy7S5YLa5axcklnBn2/TJyudPDFbXlDyHFZzwqAItckcKvFvmy3LbKw43d7aoR578u48rVI+/yzD6ffPNUA/kzIy2TIPbao7ljyDRatKKQI5U4O0DjM2qPMLKZEs03gTA2gO7QFFUifO+QlKeO9h1BFCwUe4dRFDLibAOcffxmgyWRiDT0BVfDXUxDUKN+FqIzCRlxdoG/dNYHacDvnSBfcsB9FcXaUYhSqDjrGMLSvntuIG0XrACc5546oUKbNRivpaZdM715mDKuU0L1dRTwHsz8Ww2j2FXmMCXAk+M8Dq4jh2KmcMeeOivuvbMpB7x1FNoRYDWGsTj9Ophvxci0rR2pIVTDuK7eRz65Zl246G81QgTquYxbkzw9lS+T3R/hz76NYdihCWDuZDwgxJ8+nDXVp1hnYl2gGBMYR3jG9NXLYenAvcy2IC7jHjhhFHiJw1n1M33ZVB2JLbqSa0V43aMz1jw9aw1wcQEeXFPjotoL5g5zJxGjKQtIDACDAJ1JpNrBpvoX6d/15Y9qT8q8y+ias2jtZm3H9tF3JxuVgmu1x071yLt8xc+pfp9RLpBuo18NzCLNGE3eO9x3GNKJK3PYukKgwMBm1DNMrBgmijHk3DOAiSJ3JoomRDEh/8LEMTuTg01WnDX4jLpDD2p4LJtZIw0hn6Bs7jsq1g/x/5+yhLbgM4I5x5lfLkEKmBw9m40EKc1QZZA5cTYwhDdG+LMGzbtIJxE05WvxApVlITtGoLShJhdOrwYJ45um+ROGBWfNIxn9khySeRCZpH5pHox2MNUqeT93GKDTHLuZMiWfTZCXtB7adw2ZO5ClN8LcE2kKDGRmfSoV2FqXoDJdtwR7C+vDE8RSYYJdPA2fSSm4a9bBDiIz+BkPGNfhJxT2As45zq4huMTQsbQMJv4nhLrXxG5ojzyYYhgr31ERHG8RWF0BHIXqEoc3gGU5BC931K0maXhU2yn5uJmmJrAv4wPnBh4crOSNyJoaFCS+AsW4ojvEu4cygd4GNK6DAGgL9CBFUahN4Z9slBJ5aMzarWjtjfceO9aPtntNVAluv//07IvIfEYYG3MLgNxqP05MIHf/TqMFQzpxpeUzMsQ4oo9iScXzJRKo1JseLrHfVHQmNNS5d4iBUEzcsOLKyGck5yIwPQ7TZljwBtNl46WBK38TggeD2C/2Dt+chKy4UvIZYYa+kHSHaZD3xmvSmeR2+c67m9KGwYorsTwxnvs8/sQZzH85VFKYukKG+KTSUC/xQTAtPsQkacgWsN/x4GrvI316Nm06kxAtyIFabj4Kj2YY/7ylZgltFQQ5Y0pDio7bhRIJcSXReDQ5B/uxx20B3YAMgcppXB6zFKETT215PGRsOrpDV5vcp+JRhFB6mC3IusYHDsRZxxRzuXZoetRAzozpIFbJY878whUf6iUC9xGyBXjmzH4NP5VPkxI4lLL0GSWqyxheEQPjCjOCmAK8rAf0qQufUoo+IzX3ywCUGkCk8w9mDZ1PPGMWahUnl3DlCByOAfmE7w4NHjArghRDYlcP0ay2CZcmCk3+OaMhXGFU9Lam4Pb7Jxsl5DOC1fSrA08QY30Cs8epS/FGAajk0BYmOt4iexQvMiOwCFHUJwKwhvCUVCjS2WFqO2UBrTObv1ZEP0xpQM+KvpcvCmkXKxUE3O2zynlUe/LiqLpCuULFjleQGUkWLPq1jEivVJ9Rd4h+obxQdDNSC0KdKIrL8U9XKCTTkquu4GakvXc2SRKgefDPLOP6yvQZ5ZFim5E4AS2piEFJWqFDWNYHHvqEGMNRMP9TPP98JKcXUilzB2pEoHfCwEIEQCKt4GYktngU+7JVjQwuq2QWYzgK4qR99/4XUhh17HFVb0wsRIrucO4U3YykzoorHToEJobkeenuQT40pAJ5yNLZd0UvUc4IEwuR5LNRUnwzUivqi/LoyCRSwxEpbsOWRnPlDqEW6P7cMbKsBKrSUOHNSKogZ/lADEcsrHclab/ecwMzsCu0GQl+pMe4fJDLPS3cIRskgesnvYQ7u/E0/NgrshmJWPXKB2o4YhHM/Pof32t0337gcRYiDSKIvQKbkeQ4uaIuHxjDEY/wcbGBk9aLXcZCpENpSgpsRmpGpFRRZ0JcSdUjrvx8CoQ49cGtK7vnq0Z368p21Xjw4wunPbhx+ZWqcd1z5+qlM5WC65fOVI+nKwdcgZeqAFfgpSo84Aq8VALuXD3PFXipBnHlC0yBl+qRd3neEQIA) Keys in the .json file are the activation name in encoding\_config2 and mapping represent a supergroup’s info (inputs, outputs, and tensors) in in the dlc file belonging to encoding\_config1. When quantized\_dlc along with framework model is provided for both of the encoding\_config, it generates 2 such supergroup mappings. #### Tensor visualizer Tensor visualizer compares given reference output and target output tensors and plots various statistics to represent differences between them. The Tensor visualizer feature can: > > > 1. Plot histograms for golden and target tensors > 2. Plot a graph indicating deviation between golden and target tensors > 3. Plot a cumulative distribution graph (CDF) for golden vs. target tensors Note Only data with matching target/golden filenames is inspected; other data is ignored. This feature expects the golden and target tensors to have the same dimensions, datatypes, and layouts. **Usage** usage: qairt-accuracy-debugger tensor_visualizer [-h] --target_tensors TARGET_TENSORS --golden_tensors GOLDEN_TENSORS [-dt DATA_TYPE] [-wd WORKING_DIRECTORY] [--log_level {info,debug,warning,error}] options: -h, --help show this help message and exit required arguments: --target_tensors TARGET_TENSORS Directory path to Target tensor files --golden_tensors GOLDEN_TENSORS Directory path to Golden tensor files optional arguments: -dt DATA_TYPE, --data_type DATA_TYPE Data type to load the tensor file in. Default: float32 -wd WORKING_DIRECTORY, --working_directory WORKING_DIRECTORY Path to output directory. Default: tensor_visualizer_output_dir --log_level {info,debug,warning,error} Log level. Default is info Copy to clipboard **Sample Commands** # Basic run qairt-accuracy-debugger tensor_visualizer \ --golden_tensors golden_tensors_dir \ --target_tensors target_tensors_dir \ Copy to clipboard Tip A working\_directory is generated from wherever this script is called from unless otherwise specified. **Outputs** Once the Tensor Inspection has finished running, it will store the outputs in the specified working directory. It creates a output directory with timestamp of the format *YYYY-MM-DD\_HH:mm:ss* in working_directory/tensor_visualizer. Below is the output directory structure: working_directory ├── tensor_visualizer │ └── 2025-07-07_08-18-24 │   ├── mobilenetv20_features_batchnorm0_fwd │   ├── CDF_plots.jpeg │    ├── Diff_plots.jpeg │    └── Histograms.jpeg Copy to clipboard The following details what each file contains. > > > - Each tensor will have its own directory; the directory name matches the tensor name. > > - Histograms.html – Golden and target histograms > - CDF\_plots.html – Golden vs. target CDF graph > - Diff\_plots.html – Golden and target deviation graph **Histogram Plots** 1. **Comparison:** We compare histograms for both the golden data and the target data. 2. **Overlay:** To enhance clarity, we overlay the histograms bin by bin. 3. **Binned Ranges:** Each bin represents a value range, showing the frequency of occurrence. 4. **Visual Insight:** Overlapping histograms reveal differences or similarities between the datasets. **Cumulative Distribution Function (CDF) Plots** 1. **Overview:** CDF plots display the cumulative probability distribution. 2. **Overlay:** We superimpose CDF plots for golden and target data. 3. **Percentiles:** These plots illustrate data distribution across different percentiles. **Tensor Difference Plots** 1. **Inspection:** We generate plots highlighting differences between golden and target data tensors. 2. **Scatter and Line:** Scatter plots represent tensor values, while line plots show differences at each index. #### Snooping Snooping algorithms help in finding inaccuracies in a neural-network at the layer level. The following snooping options are available: > > > > > > > > 1. oneshot-layerwise > > 2. cumulative-layerwise > > 3. layerwise > > > > **Usage** > > > usage: qairt-accuracy-debugger snooping [-h] [--config CONFIG] > [--algorithm {oneshot,layerwise,cumulative_layerwise}] > [--desired_input_shape DESIRED_INPUT_SHAPE [DESIRED_INPUT_SHAPE ...]] > [--converter_float_bitwidth {32,16}] [--float_bias_bitwidth {32,16}] > [--quantization_overrides QUANTIZATION_OVERRIDES] > [--onnx_define_symbol SYMBOL VALUE] > [--onnx_defer_loading] > [--enable_framework_trace] > [--disable_onnx_simplification] > [--extra_converter_args EXTRA_CONVERTER_ARGS] > [--calibration_input_list CALIBRATION_INPUT_LIST] > [--bias_bitwidth {8,32}] > [--act_bitwidth {8,16}] > [--weights_bitwidth {8,4}] > [--quantizer_float_bitwidth {32,16}] > [--act_quantizer_calibration {min-max,sqnr,entropy,mse,percentile}] > [--param_quantizer_calibration {min-max,sqnr,entropy,mse,percentile}] > [--act_quantizer_schema {asymmetric,symmetric,unsignedsymmetric}] > [--param_quantizer_schema {asymmetric,symmetric,unsignedsymmetric}] > [--percentile_calibration_value PERCENTILE_CALIBRATION_VALUE] > [--use_per_channel_quantization] > [--use_per_row_quantization] > [--float_fallback] > [--quantization_algorithms QUANTIZATION_ALGORITHMS [QUANTIZATION_ALGORITHMS ...]] > [--restrict_quantization_steps RESTRICT_QUANTIZATION_STEPS] > [--dump_encodings_json] > [--ignore_encodings] > [--extra_quantizer_args EXTRA_QUANTIZER_ARGS] > [--use_native_input_files] > [--preserve_io_datatype PRESERVE_IO_DATATYPE [PRESERVE_IO_DATATYPE ...]] > [--perf_profile {low_balanced,balanced,default,high_performance,sustained_high_performance,burst,low_power_saver,power_saver,high_power_saver,extreme_power_saver,system_settings}] > [--profiling_level PROFILING_LEVEL] > [--netrun_backend_extension_config NETRUN_BACKEND_EXTENSION_CONFIG] > [--extra_net_run_args EXTRA_NET_RUN_ARGS] > [--use_native_input_data] > [--native_input_tensor_names NATIVE_INPUT_TENSOR_NAMES [NATIVE_INPUT_TENSOR_NAMES ...]] > [--offline_prepare_backend_extension_config OFFLINE_PREPARE_BACKEND_EXTENSION_CONFIG] > [--extra_context_bin_args EXTRA_CONTEXT_BIN_ARGS] > [--device_id DEVICE_ID] > [--username USERNAME] > [--password PASSWORD] > [--ip_address IP_ADDRESS] > [--soc_model SOC_MODEL] > [--set_output_tensors SET_OUTPUT_TENSORS] > [--tensor_mapping_level {bin}] > -m INPUT_MODEL > [--working_directory WORKING_DIRECTORY] > [--output_directory OUTPUT_DIRECTORY] > [-o OUTPUT_TENSOR] > [--log_level {info,debug,warning,error}] > [--input_list INPUT_LIST] > --backend {HTP,CPU,GPU} > --platform {aarch64-android,x86_64-linux-clang,wos,qnx,linux-embedded} > [--golden_reference GOLDEN_REFERENCE] > [--is_qnn_golden_reference] > [--retain_compilation_artifacts] > [--comparator {l1_norm,l2_norm,average,cosine,standard_deviation,mse,snr,kl_divergence,rtol_atol,l1_error,mse_rel,topk,adjusted_rtol_atol,mae} [{l1_norm,l2_norm,average,cosine,standard_deviation,mse,snr,kl_divergence,rtol_atol,l1_error,mse_rel,topk,adjusted_rtol_atol,mae} ...]] > [--offline_prepare] > [--debug_subgraph_inputs DEBUG_SUBGRAPH_INPUTS] > [--debug_subgraph_outputs DEBUG_SUBGRAPH_OUTPUTS] > [--compulsory_overrides COMPULSORY_OVERRIDES] > [--max_parallel_compilations MAX_PARALLEL_COMPILATIONS] > > options: > -h, --help show this help message and exit > > required arguments: > -m INPUT_MODEL, --input_model INPUT_MODEL > path to the model file > --backend {HTP,CPU,GPU} > Backend type for inference to be run > --platform {aarch64-android,x86_64-linux-clang,wos,qnx,linux-embedded} > The type of device platform to be used for inference > > optional arguments: > --config CONFIG > Specifies the path to a JSON configuration file that defines debugger CLI options. When this option is used, no other CLI arguments should be > proivded. The configuration file supports advanced backend configuration for comparing different QNN backends, quantization settings, and execution modes. > > --algorithm {oneshot,layerwise,cumulative_layerwise} > Algorithm to use to debug the model. > --device_id DEVICE_ID > The serial number of the device to use. If not available, the first in a list of queried devices will be used for inference. > --username USERNAME The username for the device to be used for QNX platform. > --password PASSWORD The password for the device to be used for QNX platform. > --ip_address IP_ADDRESS > The IP address for the device to be used for QNX platform. > --soc_model SOC_MODEL > Option to specify the SOC on which the model needs to run. This can be found from SOC info of the device and it starts with strings such as SDM, SM, QCS, IPQ, SA, QC, SC, SXR, SSG, STP, or QRB. > --set_output_tensors SET_OUTPUT_TENSORS > Option to provide Comma-separated list of tensor names to set as outputs to the context binary generation stage or the net-run stage. > --tensor_mapping_level {bin} > Enables backend-aware debugging: runs a dry run to compose an ONNX-to-HTP tensor mapping so only real HTP fusion-boundary tensors are captured via --set_output_tensors, instead of forcing every intermediate tensor via > --enable_intermediate_outputs (which can break HTP op fusions). Requires --backend HTP and --offline_prepare. Falls back to standard behavior if the dry run or mapping fails. > --working_directory WORKING_DIRECTORY > Path to working directory. If not specified a directory with name working_directory will be created in the current directory. > --output_directory OUTPUT_DIRECTORY > Name of the output directory. If not specified a directory with name will be created in the working directory. > -o OUTPUT_TENSOR, --output_tensor OUTPUT_TENSOR > Name of the graph's specified output tensor(s). > --log_level {info,debug,warning,error} > Log level. Default is info > --input_list INPUT_LIST > Path to the text file containing the input list used for inference(used with net-run). > The data types of raw files in the input list depend on the input model > type: > - .dlc/.bin models: > Inputs can be provided as either float32 raw tensors or graph-native > data types when `use_native_input_data` and > `use_native_input_files` are enabled. > - Framework models: > Inputs must use the data types defined by the framework model input > specifications. > --golden_reference GOLDEN_REFERENCE > The path of directory where golden reference tensor files are saved. > --is_qnn_golden_reference > Specifies that outputs passed with --golden_reference are dumped by QNN. This option should be used only when --golden_reference is supplied. > --retain_compilation_artifacts > Flag to retain compilation artifacts. > --comparator {l1_norm,l2_norm,average,cosine,standard_deviation,mse,snr,kl_divergence,rtol_atol,l1_error,mse_rel,topk,adjusted_rtol_atol,mae} [{l1_norm,l2_norm,average,cosine,standard_deviation,mse,snr,kl_divergence,rtol_atol,l1_error,mse_rel,topk,adjusted_rtol_atol,mae} ...] > Comparator to use to compare tensors. For multiple comparators, specify as follows: --comparator mse std > --offline_prepare Boolean to indicate offline preapre of the graph > --debug_subgraph_inputs DEBUG_SUBGRAPH_INPUTS > Pass comma separated inputs for the subgraph which is to be debugged. > --debug_subgraph_outputs DEBUG_SUBGRAPH_OUTPUTS > Pass comma separated outputs for the subgraph which is to be debugged. > --skip_layer_types SKIP_LAYER_TYPES > Pass comma separated op_types for the layers to be skipped. Currently supported for Oneshot Layerwise snooping.e.g., --skip_layer_types Conv,Relu,Add > --include_layer_types INCLUDE_LAYER_TYPES > Pass comma separated op_types for the layers to be debugged. Currently supported for Oneshot Layerwise snooping.e.g., --include_layer_types Conv,Relu,Add > --compulsory_overrides COMPULSORY_OVERRIDES > The path to the json file containing a compulsory override of the encodings passed. This is to be used with Layerwise and > Cumulative Layerwise algorithms only. Maintain the structure of encodings as per the supplied encodings or the encodings > generated by QNN. > --max_parallel_compilations MAX_PARALLEL_COMPILATIONS > The number of parallel executions of subgraphs in layerwise and cumulative snooping. The provided > max_parallel_compilations will be set as follows: max_parallel_compilations = min(user provided max compilations, max compilations supported by host device). > Maximum of 16 parallel compilations supported. If not passed, the maximum parallel compilations is calculated based on the host device limitations, such as > available RAM and free CPU cores, though it never exceeds 16. > > converter arguments: > --desired_input_shape DESIRED_INPUT_SHAPE [DESIRED_INPUT_SHAPE ...], --input_tensor DESIRED_INPUT_SHAPE [DESIRED_INPUT_SHAPE ...] > The name,dimension,datatype and layout of all the input buffers to the network specified in the format [input_name comma-separated-dimensions data-type layout]. Dimension, datatype and layout are optional.for example: 'data' 1,224,224,3. Note that the > quotes should always be included in order to handle special characters, spaces, etc. For multiple inputs, specify multiple --desired_input_shape on the command line like: --desired_input_shape "data1" 1,224,224,3 float32 --desired_input_shape "data2" > 1,50,100,3 int64 > --converter_float_bitwidth {32,16} > Use this option to convert the graph to the specified float bitwidth, either 32 (default) or 16. > --float_bias_bitwidth {32,16} > Option to select the bitwidth to use for float bias tensor, either 32(default) or 16 > --quantization_overrides QUANTIZATION_OVERRIDES > Path to quantization overrides json file. > --onnx_define_symbol SYMBOL VALUE > Option to override specific input dimension symbols. > --onnx_defer_loading Option to have the model not load weights. If False, the model will be loaded eagerly. > --enable_framework_trace > Use this option to enable converter to trace the o/p tensor change information. > --disable_onnx_simplification > Flag to disable onnx simplification. Note: This will disable simplification even at framework level for snooping > --extra_converter_args EXTRA_CONVERTER_ARGS > Any specific converter argument which isn't > explicitly exposed can be provided using this > argument. Possible values an argument can take: 1. > single value: value1 or store_true 2. list of values: > [value1, value2, value3] 3. list of list: [[value11, > value12], [value21, value22]] Example: > --extra_converter_args 'arg1=value1;arg2;arg3=value1 > value2 value3;arg4=value11 value12;arg4=value21 > value22' > > quantizer_arguments: > --calibration_input_list CALIBRATION_INPUT_LIST > Path to the inputs list text file to run quantization(used with qairt-quantizer) > --bias_bitwidth {8,32} > Option to select the bitwidth to use when quantizing the bias. default 8 > --act_bitwidth {8,16} > Option to select the bitwidth to use when quantizing the activations. default 8 > --weights_bitwidth {8,4} > Option to select the bitwidth to use when quantizing the weights. default 8 > --quantizer_float_bitwidth {32,16} > Use this option to select the bitwidth to use for float tensors, either 32 (default) or 16. > --act_quantizer_calibration {min-max,sqnr,entropy,mse,percentile.} > Specify which quantization calibration method to use for activations. Supported values: min-max (default), sqnr, entropy, mse, percentile. This option can be paired with --act_quantizer_schema to override the quantization schema to use for activations, > otherwise the default schema (asymmetric) will be used. > --param_quantizer_calibration {min-max,sqnr,entropy,mse,percentile} > Specify which quantization calibration method to use for parameters. Supported values: min-max (default), sqnr, entropy, mse, percentile. This option can be paired with --act_quantizer_schema to override the quantization schema to use for activations, > otherwise the default schema (asymmetric) will be used. > --act_quantizer_schema {asymmetric,symmetric,unsignedsymmetric} > Specify which quantization schema to use for activations. Note: Default is asymmetric. > --param_quantizer_schema {asymmetric,symmetric,unsignedsymmetric} > Specify which quantization schema to use for parameters. Note: Default is asymmetric. > --percentile_calibration_value PERCENTILE_CALIBRATION_VALUE > Value must lie between 90 and 100. Default is 99.99 > --use_per_channel_quantization > Use per-channel quantization for convolution-based op weights. Note: This will replace built-in model QAT encodings when used for a given weight. > --use_per_row_quantization > Use this option to enable rowwise quantization of Matmul and FullyConnected ops. > --float_fallback Use this option to enable fallback to floating point (FP) instead of fixed point. This option can be paired with --quantizer_float_bitwidth to indicate the bitwidth for FP (by default 32). If this option is enabled, then input list must not be provided and > --ignore_encodings must not be provided. The external quantization encodings (encoding file/FakeQuant encodings) might be missing quantization parameters for some interim tensors. First it will try to fill the gaps by propagating across math-invariant > functions. If the quantization parameters are still missing, then it will apply fallback to nodes to floating point. > --quantization_algorithms QUANTIZATION_ALGORITHMS [QUANTIZATION_ALGORITHMS ...] > Use this option to select quantization algorithms. Usage is: --quantization_algorithms ... > --restrict_quantization_steps RESTRICT_QUANTIZATION_STEPS > Specifies the number of steps to use for computingquantization encodings E.g.--restrict_quantization_steps "-0x80 0x7F" indicates an example 8 bit range, > --dump_encodings_json > Dump encoding of all the tensors in a json file > --ignore_encodings Use only quantizer generated encodings, ignoring any user or model provided encodings. > --extra_quantizer_args EXTRA_QUANTIZER_ARGS > Any specific quantizer argument which isn't > explicitly exposed can be provided using this > argument. Possible values an argument can take: 1. > single value: value1 or store_true 2. list of values: > [value1, value2, value3] 3. list of list: [[value11, > value12], [value21, value22]] Example: > --extra_quantizer_args 'arg1=value1;arg2;arg3=value1 > value2 value3;arg4=value11 value12;arg4=value21 > value22' > --use_native_input_files > Reads calibration inputs in the dtype native to the > converted DLC graph instead of float. Note: Do not set > manually when input_model is a framework model; set > automatically by InputProcessor. > --preserve_io_datatype PRESERVE_IO_DATATYPE [PRESERVE_IO_DATATYPE ...] > Preserve the IO datatype of the listed tensor names in > the DLC. Pass 'all' to preserve every IO tensor. Note: > Do not set manually when input_model is a framework > model; set automatically by InputProcessor. > > netrun arguments: > --perf_profile {low_balanced,balanced,default,high_performance,sustained_high_performance,burst,low_power_saver,power_saver,high_power_saver,extreme_power_saver,system_settings} > Specifies performance profile to set. Valid settings are "low_balanced" , "balanced" , "default", high_performance" ,"sustained_high_performance", "burst", "low_power_saver", "power_saver", "high_power_saver", "extreme_power_saver", and "system_settings". Note: > perf_profile argument is now deprecated for HTP backend. User can specify performance profile through backend extension config now. > --profiling_level PROFILING_LEVEL > Enables profiling and sets its level. For QNN executor, valid settings are "basic", "detailed" and "client" Default is detailed. > --netrun_backend_extension_config NETRUN_BACKEND_EXTENSION_CONFIG > Path to config to be used with qnn-net-run > --extra_net_run_args EXTRA_NET_RUN_ARGS > Any specific net_run argument which isn't explicitly > exposed can be provided using this argument. Possible > values an argument can take: 1. single value: value1 > or store_true 2. list of values: [value1, value2, > value3] 3. list of list: [[value11, value12], > [value21, value22]] Example: --extra_net_run_args > 'arg1=value1;arg2;arg3=value1 value2 > value3;arg4=value11 value12;arg4=value21 value22' > --use_native_input_data > Reads net-run inputs in the dtype native to the > DLC/BIN graph. Note: Do not set manually when > input_model is a framework model; set automatically by > InputProcessor. > --native_input_tensor_names NATIVE_INPUT_TENSOR_NAMES [NATIVE_INPUT_TENSOR_NAMES ...] > Names of input tensors whose raw files are in the > graph native dtype. Note: Do not set manually when > input_model is a framework model; set automatically by > InputProcessor. > > offline prepare arguments: > --offline_prepare_backend_extension_config OFFLINE_PREPARE_BACKEND_EXTENSION_CONFIG > Path to config to be used with qnn-context-binary-generator. > --extra_context_bin_args EXTRA_CONTEXT_BIN_ARGS > Any specific contextbinary generator argument which is > not explicitly exposed can be provided using this > argument. Possible values an argument can take: 1. > single value: value1 or store_true 2. list of values: > [value1, value2, value3] 3. list of list: [[value11, > value12], [value21, value22]] Example: > --extra_context_bin_args 'arg1=value1;arg2;arg3=value1 > value2 value3;arg4=value11 value12;arg4=value21 > value22' > Copy to clipboard **Configuration File Support** The qairt-accuracy-debugger snooping component supports advanced configuration through JSON configuration files using the `--config` argument. This feature enables sophisticated backend comparisons, flexible quantization settings, supports both pre-compiled DLC files and automatic model compilation from framework models, and enables LoRA-aware OneShot snooping for debugging LoRA-adapted models on target hardware. **Configuration File Structure** The configuration file supports the following structure: { "input_model": "path/to/model.onnx", "algorithm": "oneshot", "reference_config": { "dlc_file": "path/to/reference.dlc", "backend": "CPU", "platform": "x86_64-linux-clang", "converter_arguments": { "input_dim": ["input", "1,3,224,224"], "quantization_overrides": "path/to/overrides.json" }, "quantizer_arguments": { "input_list": "path/to/calibration_list.txt", "weights_bitwidth": 16, "act_bitwidth": 16, "param_quantizer_schema": "symmetric" }, "context_bin_gen_arguments": { "enable_intermediate_outputs": true }, "net_run_arguments": { "debug": true, "perf_profile": "high_performance" }, "offline_prepare": true, "soc_model": "SM8650" }, "target_config": { "backend": "HTP", "platform": "aarch64-android", "converter_arguments": { "input_dim": ["input", "1,3,224,224"] }, "quantizer_arguments": { "input_list": "path/to/calibration_list.txt", "weights_bitwidth": 8, "act_bitwidth": 8, "param_quantizer_schema": "asymmetric" }, "net_run_arguments": { "debug": true } }, "input_list": "path/to/input_list.txt", "comparators": ["mse", "cosine"], "working_directory": "path/to/output", "log_level": "debug", "lora_alpha_tensor": "path/to/lora_alpha.raw", "use_case_names": ["base", "function"], "lora_model_creator_args": { "lora_config": "path/to/lora_config_updated.yaml", "quant_updatable_mode": "adapter_only" } } Copy to clipboard **Configuration Fields Description** | Field | Required | Description | | --- | --- | --- | | input\_model | Conditional | Path to the framework model (ONNX). Required if dlc\_file is missing in either reference\_config or target\_config. | | algorithm | Optional | Snooping algorithm to use. Default: “oneshot”. Note: Only “oneshot” is supported when reference\_config is provided. | | reference\_config | Required | Configuration for the reference backend execution. | | target\_config | Required | Configuration for the target backend execution. | | input\_sample | Required | List of input sample configurations specifying input tensors. | | comparators | Optional | List of comparators to use for verification. Default: [“mse”]. | | working\_directory | Optional | Path to working directory for storing outputs. | | log\_level | Optional | Logging level. Default: “info”. | | lora\_alpha\_tensor | Conditional | Path to the LoRA alpha scaling tensor raw file (float32). Required when
`lora_model_creator_args` or `lora_importer_args` is provided. This tensor is
automatically prepended as the first input to the model during LoRA inference.
The `input_sample` shouldn’t include this tensor. | | use\_case\_names | Optional | List of LoRA use-case names to debug (e.g., `["base", "function"]`). If not
specified, all non-base use cases defined in the LoRA config are debugged. | | lora\_model\_creator\_args | Conditional | Dictionary of LoRA Model Creator arguments. Required to trigger the full LoRA
pipeline. See LoRA-Aware OneShot Snooping section for details. | | lora\_importer\_args | Optional | Dictionary of LoRA Importer arguments for standalone importer mode. | **Backend Configuration Fields** Each backend configuration (reference\_config and target\_config) supports all existing backend configuration fields, including the following common ones: | Field | Required | Description | | --- | --- | --- | | dlc\_file | Optional | Path to pre-compiled DLC file. If not provided, will be generated from input\_model. | | backend | Required | Backend type: CPU, GPU, HTP, AIC. | | platform | Required | Platform type: x86\_64-linux-clang, aarch64-android, wos, qnx, linux-embedded. | | soc\_model | Optional | SOC model specification (e.g., “SM8650”). | | converter\_arguments | Optional | Arguments for model conversion. Only used if dlc\_file isn’t provided. | | quantizer\_arguments | Optional | Arguments for model quantization. Only used if dlc\_file isn’t provided. | | context\_bin\_gen\_arguments | Optional | Arguments for context binary generation (offline prepare mode). | | net\_run\_arguments | Optional | Arguments for net runner execution. | | offline\_prepare | Optional | Enable offline prepare mode. Default: auto-detected based on backend. | **Configuration Usage Scenarios** **Scenario 1: Both DLC Files Provided** Use pre-compiled DLC files for both reference and target for output comparison: { "reference_config": { "dlc_file": "reference_fp16.dlc", "backend": "HTP", "platform": "aarch64-android", "net_run_arguments": {"debug": true} }, "target_config": { "dlc_file": "target_int8.dlc", "backend": "HTP", "platform": "aarch64-android", "net_run_arguments": {"debug": true} }, "input_sample": [ { "name": "input", "raw_file": "input.raw", "dimensions": [1, 3, 224, 224] } ] } Copy to clipboard **Scenario 2: Framework Model with Full Pipeline** Pass backend configuration for both reference and target to generate DLCs using input model for output comparison: { "input_model": "mobilenet_v2.onnx", "reference_config": { "backend": "HTP", "platform": "aarch64-android", "quantizer_arguments": { "input_list": "calibration_list.txt", "weights_bitwidth": 16, "act_bitwidth": 16 } }, "target_config": { "backend": "HTP", "platform": "aarch64-android", "quantizer_arguments": { "input_list": "calibration_list.txt", "weights_bitwidth": 8, "act_bitwidth": 8 } }, "input_sample": [ { "name": "input", "raw_file": "input.raw", "dimensions": [1, 3, 224, 224] } ], "comparators": ["mse", "cosine"] } Copy to clipboard **Scenario 3: Mixed Mode - One DLC Provided, One Generated** Use pre-compiled DLC for reference and generate target DLC: { "input_model": "mobilenet_v2.onnx", "reference_config": { "dlc_file": "reference_fp16.dlc", "backend": "HTP", "platform": "aarch64-android" }, "target_config": { "backend": "HTP", "platform": "aarch64-android", "quantizer_arguments": { "input_list": "calibration_list.txt", "weights_bitwidth": 8, "act_bitwidth": 8 } }, "input_list": "/path/to/input_list.txt" } Copy to clipboard **Sample Commands with Configuration Files** # Using configuration file for backend comparison qairt-accuracy-debugger snooping --config backend_comparison.json Copy to clipboard **Configuration Validation** The configuration file is validated with the following rules: 1. **Algorithm Restriction**: Only “oneshot” algorithm is supported when reference\_config is provided. 2. **Input Model Requirement**: input\_model is required when dlc\_file is missing in either reference\_config or target\_config. 3. **Compilation Arguments**: converter\_arguments, quantizer\_arguments, and context\_bin\_gen\_arguments are ignored when dlc\_file is provided. 4. **Required Fields**: backend and platform are required in both reference\_config and target\_config. **Backward Compatibility** The configuration file feature is fully backward compatible. Existing CLI usage continues to work without any changes: # CLI mode still works as before qairt-accuracy-debugger snooping \ --input_model model.onnx \ --backend HTP \ --platform aarch64-android \ --input_list input_list.txt \ --comparator mse Copy to clipboard **DLC File Considerations:** When using DLC files in the configuration, it’s important to note that no offline preparation is performed. Instead, online preparation takes place directly on the target device during execution. This means that dumping outputs on the target device may take additional time as the model preparation occurs on-device rather than being pre-compiled offline. **Note**: When using `--config`, no other CLI arguments should be provided. All configuration must be specified in the JSON file. #### oneshot-layerwise Snooping This algorithm is designed to debug all layers of the model at a time by performing below steps: > > > 1. Execute framework runner to collect reference outputs from all intermediate tensors of a model in fp32 precision > 2. Execute inference engine to collect target outputs from all intermediate tensors of a model in provided target precision > 3. Execute verification for comparison of intermediate outputs from the above two steps This algorithm can be used to get quick analysis to check if layers in the model are quantization sensitive. ![../_static/resources/oneshot_diagram.png](data:image/png;base64,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) **Sample Commands** # Example for executing oneshot algorithm on a Android HTP device hosted on a Linux machine: qairt-accuracy-debugger snooping \ --algorithm oneshot \ --backend htp \ --platform aarch64-android \ --input_model artifacts/mobilenet-v2.onnx \ --input_list input_list.txt \ --comparator mse \ --quantization_overrides artifacts/quantized_encoding.json # Example for executing oneshot snooping on a WoS HTP target: qairt-accuracy-debugger snooping ^ --algorithm oneshot ^ --backend htp ^ --platform wos ^ --input_model artifacts/mobilenet-v2.onnx ^ --input_list input_list.txt ^ --comparator mse ^ --calibration_input_list calib_list.txt # Example for executing oneshot snooping on a QNX HTP target: qairt-accuracy-debugger snooping ^ --algorithm oneshot ^ --backend htp ^ --platform qnx ^ --ip_address 192.168.1.1 --username root --password "" --input_model artifacts/mobilenet-v2.onnx ^ --input_list input_list.txt ^ --comparator mse ^ # Example for executing oneshot snooping on a Linux-Embedded HTP target: qairt-accuracy-debugger snooping ^ --algorithm oneshot ^ --backend htp ^ --platform linux-embedded ^ --input_model artifacts/mobilenet-v2.onnx ^ --input_list input_list.txt ^ --comparator mse ^ --offline_prepare ^ --ip_address 192.169.2.1 ^ --device_id 357415c4 ^ --calibration_input_list calib_list.txt # Example for using external golden outputs dumped by any frameworks like ONNX: qairt-accuracy-debugger snooping \ --algorithm oneshot \ --backend htp \ --platform aarch64-android \ --input_model artifacts/mobilenet-v2.onnx \ --input_list input_list.txt \ --comparator mse \ --quantization_overrides artifacts/quantized_encoding.json \ --golden_reference /path/to/goldens # Example for using external golden outputs dumped by QNN: qairt-accuracy-debugger snooping \ --algorithm oneshot \ --backend htp \ --platform aarch64-android \ --input_model artifacts/mobilenet-v2.onnx \ --input_list input_list.txt \ --comparator mse \ --quantization_overrides artifacts/quantized_encoding.json \ --golden_reference /path/to/goldens \ --is_qnn_golden_reference # Example of using extra_quantizer_args qairt-accuracy-debugger snooping \ --algorithm oneshot \ --backend htp \ --platform aarch64-android \ --comparator mse \ --input_model source_model/mobilenet.onnx \ --input_list inputs/input_list.txt \ --calibration_input_list inputs/calib_list.txt \ --extra_quantizer_args "use_quantize_v2" Copy to clipboard Tip Refer to inference-engine sample commands to understand usage of different platforms/backends **Output** Below is the output directory structure: working_directory └── oneshot_snooping ├── 2025-07-02_11-02-58 │   ├── inference_engine │   ├── oneshot_layerwise.csv │   ├── oneshot_layerwise.json │   ├── plots │   └── reference_output Copy to clipboard - Once oneshot snooping is completed, a timestamped directory is generated under working\_directory/oneshot\_snooping containing : - - inference\_engine directory contains intermediate layer outputs generated by QNN stored in .raw format. - reference\_output directory contains intermediate layer outputs generated by framework stored in .raw format. - oneshot\_layerwise.csv, report for verification results of each layer output in csv format - oneshot\_layerwise.json, report for verification results of each layer output in json format - plots directory containing html plots of verification results of each layer output. Snapshot of summary.csv file: ![../_static/resources/qairt_oneshot_summary.png](data:image/png;base64,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) **Understanding the oneshot-layerwise summary report:** | Column | Description | | --- | --- | | Source Name | Output name of the current layer in the framework graph. | | Target Name | Output name of the current layer in the target graph. | | Layer type | Type of current layer | | Source Shape | Shape of this framework layer’s output. | | Target Shape | Shape of this target layer’s output. | | Source(Min, Max, Median) | The minimum, maximum, and median of the outputs at this layer taken from reference execution. | | Target(Min, Max, Median) | The minimum, maximum, and median of the outputs at this layer taken from target execution. | | <Verifier name> | Verifier value of the current layer output compared to reference output | #### LoRA-Aware OneShot Snooping LoRA-aware OneShot snooping extends the standard OneShot algorithm to support debugging of LoRA-adapted models. It enables layer-level accuracy comparison between reference outputs and target outputs (generated by the full LoRA inference pipeline on the target device). Two modes are supported: - **Config Mode** (`--config`): Uses the full LoRA inference pipeline on HTP/aarch64-android for both reference and target outputs, with different quantization settings. - **Framework Runner Mode** (CLI): Uses ONNX Runtime on CPU as the reference backend, providing floating-point reference outputs. Note LoRA-aware snooping is currently supported only for the OneShot algorithm. Layerwise and Cumulative Layerwise algorithms will be extended in a future release. ##### LoRA-Aware OneShot Snooping (Config Mode) **LoRA Snooping Workflow** The LoRA-aware OneShot snooping workflow differs from the standard OneShot workflow in how reference and target outputs are generated: LoRA Config (YAML) │ ├──────────────────────────────────────────────────────────────────────┐ │ TARGET OUTPUT GENERATION (1 run, full LoRA pipeline) │ │ qairt-lora-model-creator │ │ qairt-converter + qairt-quantizer (target quantization) │ │ qairt-lora-importer │ │ qnn-context-binary-generator │ │ qnn-net-run (with binary_updates per use case) │ │ Produces: target outputs for base + all adapter use cases at once │ └──────────────────────────────────────────────────────────────────────┘ │ ├──────────────────────────────────────────────────────────────────────┐ │ REFERENCE OUTPUT GENERATION (1 run, full LoRA pipeline) │ │ Same pipeline as target, using reference_config settings │ │ (e.g., higher bitwidth quantization for comparison) │ │ qairt-lora-model-creator │ │ qairt-converter + qairt-quantizer (reference quantization) │ │ qairt-lora-importer │ │ qnn-context-binary-generator │ │ qnn-net-run (with binary_updates per use case) │ │ Produces: reference outputs for base + all adapter use cases │ └──────────────────────────────────────────────────────────────────────┘ │ ▼ Verification: Compare reference vs target per use case │ ▼ Combined Report: oneshot_layerwise.csv / oneshot_layerwise.json (includes "Use Case" column to identify which use case each row belongs to) Copy to clipboard **Target Output Generation** For target outputs, the tool runs the full LoRA inference pipeline once: 1. `qairt-lora-model-creator` generates the concatenated max-rank ONNX model and per-use-case adapter artifacts (safe tensors, encodings). 2. `qairt-converter` converts the base ONNX model to DLC using the LoRA tensor names list. 3. `qairt-quantizer` quantizes the DLC using the base encodings. 4. `qairt-lora-importer` generates the adapter weight config (`lora_output_files.yaml`). 5. `qnn-context-binary-generator` creates the context binary and per-use-case adapter patches. 6. `qnn-net-run` executes inference with `binary_updates_.yaml` for each use case, producing outputs for the base model and all adapter use cases in a single run. The LoRA alpha tensor is automatically prepended as the first input to the model during this target inference run. **Reference Output Generation** For reference outputs in `--config` mode, the tool runs the same full LoRA inference pipeline as the target, but using the `reference_config` backend settings (e.g., higher bitwidth quantization). Both `reference_config` and `target_config` must use HTP on aarch64-android, as the LoRA inference pipeline (`qnn-net-run` with `binary_updates`) is only supported on that backend and platform. - The reference backend runs the full LoRA pipeline once. - The reference pipeline produces outputs for the base model and all adapter use cases simultaneously in a single run. - The reference outputs are stored in the `reference_inference_engine/` directory and are treated as golden outputs for comparison. This design allows comparing the same LoRA model at different quantization levels (e.g., 16-bit reference vs. 8-bit target) to identify quantization-sensitive layers. **LoRA Snooping Configuration Fields** When using the `--config` JSON file for LoRA snooping, the following additional fields are supported in the top-level configuration: | Field | Required | Description | | --- | --- | --- | | `lora_alpha_tensor` | Yes (for LoRA) | Path to the LoRA alpha scaling tensor raw file (float32). Automatically prepended
as the first input during target inference. Must not be included in `input_sample`. | | `use_case_names` | Optional | List of use-case names to debug (e.g., `["base", "function"]`). If omitted, all
non-base use cases from the LoRA config are debugged. | | `lora_model_creator_args` | Yes (for LoRA) | Dictionary of LoRA Model Creator arguments. Must include `lora_config` (path to
the updated LoRA YAML config produced by `qairt-lora-mapper`). Optionally includes
`quant_updatable_mode` (`none`, `adapter_only`, `all`), `output_dir`,
`debug`, `skip_validation`, `dump_usecase_onnx`, `transforms_metadata`. | | `lora_importer_args` | Optional | Dictionary of LoRA Importer arguments for standalone importer mode. | **LoRA Snooping Output Structure** When LoRA snooping in config mode completes, the output directory contains: working_directory └── oneshot_snooping └── 2025-07-07_12-00-00 ├── accuracy_debugger_user_info.log ├── oneshot_layerwise.csv ├── oneshot_layerwise.json ├── small_model_optimized.onnx ├── inference_engine │ ├── binary_updates_.yaml │ ├── lora_base_default_adapter.bin │ ├── lora_base_.bin │ ├── lora_base_quantized.dlc │ ├── lora_base_quantized.dlc.bin │ ├── lora_base.dlc │ ├── modified_calibration_list.txt │ ├── status.json │ ├── lora_importer_output │ │ ├── _lora.encodings │ │ ├── _lora.safetensors │ │ └── lora_output_files.yaml │ ├── lora_model_creator_output │ │ ├── base_encodings.json │ │ ├── base_model.onnx │ │ ├── _encodings.json │ │ ├── .safetensors │ │ ├── lora_importer_config.yaml │ │ └── lora_tensor_names.txt │ └── Output │ ├── base │ │ └── Result_0 │ │ └── *.raw │ └── lora_base_ │ └── Result_0 │ └── *.raw ├── plots │ ├── cosine.html │ └── mse.html └── reference_inference_engine ├── binary_updates_.yaml ├── lora_base_default_adapter.bin ├── lora_base_.bin ├── lora_base_quantized.dlc ├── lora_base_quantized.dlc.bin ├── lora_base.dlc ├── modified_calibration_list.txt ├── status.json ├── lora_importer_output │ ├── _lora.encodings │ ├── _lora.safetensors │ └── lora_output_files.yaml ├── lora_model_creator_output │ ├── base_encodings.json │ ├── base_model.onnx │ ├── _encodings.json │ ├── .safetensors │ ├── lora_importer_config.yaml │ └── lora_tensor_names.txt └── Output ├── base │ └── Result_0 │ └── *.raw └── lora_base_ └── Result_0 └── *.raw Copy to clipboard The `oneshot_layerwise.csv` report includes an additional **Use Case** column identifying which LoRA use case each row belongs to, enabling per-use-case accuracy analysis. **LoRA Snooping Report Columns** | Column | Description | | --- | --- | | Use Case | Name of the LoRA use case (e.g., `base`, `function`). | | Source Name | Output name of the current layer in the reference (use-case ONNX) graph. | | Target Name | Output name of the current layer in the target (LoRA DLC) graph. | | Layer Type | Type of the current layer. | | Source Shape | Shape of this layer’s output from the reference execution. | | Target Shape | Shape of this layer’s output from the target execution. | | Source(Min, Max, Median) | The minimum, maximum, and median of the outputs at this layer from reference execution. | | Target(Min, Max, Median) | The minimum, maximum, and median of the outputs at this layer from target execution. | | <Verifier name> | Verifier value of the current layer output compared to reference output. | **Sample Command** # LoRA-aware OneShot snooping via --config file. # Use the JSON config file to specify LoRA arguments. qairt-accuracy-debugger snooping --config lora_snooping_config.json Copy to clipboard **Sample Configuration File for LoRA-Aware OneShot Snooping** { "input_model": "/path/to/base/small_model.onnx", "algorithm": "oneshot", "reference_config": { "backend": "HTP", "platform": "aarch64-android", "quantizer_arguments": { "input_list": "/path/to/inputs/input_sample.txt", "weights_bitwidth": 16, "act_bitwidth": 16 }, "net_run_arguments": { "debug": true }, "offline_prepare": true }, "target_config": { "backend": "HTP", "platform": "aarch64-android", "quantizer_arguments": { "input_list": "/path/to/inputs/input_sample.txt", "weights_bitwidth": 8, "act_bitwidth": 8 }, "net_run_arguments": { "debug": false, "perf_profile": "balanced" }, "offline_prepare": true }, "input_sample": [ { "name": "input", "raw_file": "/path/to/inputs/input.raw", "dimensions": [1, 4, 1, 1], "data_type": "float32" } ], "comparators": ["mse", "cosine"], "working_directory": "/path/to/snooping_outputs", "log_level": "debug", "lora_alpha_tensor": "/path/to/inputs/lora_alpha.raw", "use_case_names": ["base", "function"], "lora_model_creator_args": { "lora_config": "/path/to/lora_config_updated.yaml", "quant_updatable_mode": "none" } } Copy to clipboard Note - The `reference_config` backend runs the same full LoRA inference pipeline as the target (`qairt-lora-model-creator` → `qairt-converter` → `qairt-quantizer` → `qairt-lora-importer` → `qnn-context-binary-generator` → `qnn-net-run`), but with the reference quantization settings (e.g., higher bitwidth). Both `reference_config` and `target_config` must use HTP on aarch64-android, as the LoRA inference pipeline is only supported on that backend and platform. Reference outputs are stored in the `reference_inference_engine/` directory. - The `target_config` backend runs the full LoRA pipeline once, generating outputs for the base model and all adapter use cases simultaneously via `qnn-net-run` with `binary_updates_.yaml`. - The `lora_alpha_tensor` is automatically prepended as the first input to the model during target inference. Don’t include it in `input_sample`. - The `use_case_names` list controls which use cases are debugged. The `base` use case corresponds to the model without any LoRA adapters applied. **Limitations** | # | Limitation | | --- | --- | | 1 | Only OneShot algorithm is supported. Layerwise and Cumulative Layerwise snooping
algorithms don’t yet support LoRA-adapted models. These will be extended in a future
release. | | 2 | Both `reference_config` and `target_config` must use HTP on aarch64-android. The
LoRA inference pipeline (`qnn-net-run` with `binary_updates`) is only supported
on that backend and platform. Other backends and platforms are not supported for
LoRA-aware snooping via `--config`. | ##### LoRA-Aware OneShot Snooping (Framework Runner Mode) In the framework runner mode, LoRA-aware OneShot snooping uses ONNX Runtime on CPU as the reference backend instead of the QNN inference engine. This mode is invoked directly via CLI arguments (without `--config`) and is suitable when ONNX Runtime floating-point outputs are the desired golden reference for comparison against the quantized LoRA model running on the target device. **Key Differences from ``–config`` Mode** | Aspect | `--config` Mode | Framework Runner Mode (CLI) | | --- | --- | --- | | Reference backend | Full LoRA pipeline on HTP/aarch64-android (with reference quantization settings) | ONNX Runtime on CPU (framework runner, floating-point) | | Invocation | `--config ` | CLI arguments directly (no `--config`) | | Per-use-case ONNX models | Not generated | Generated in `inference_engine/lora_model_creator_output/` (e.g., `function.onnx`) | **LoRA Snooping Workflow (Framework Runner Mode)** LoRA Config (YAML) │ ├──────────────────────────────────────────────────────────────────────┐ │ TARGET OUTPUT GENERATION (1 run, full LoRA pipeline) │ │ qairt-lora-model-creator (generates base_model.onnx + │ │ per-use-case .onnx) │ │ qairt-converter + qairt-quantizer │ │ qairt-lora-importer │ │ qnn-context-binary-generator │ │ qnn-net-run (with binary_updates per use case) │ │ Produces: target outputs for base + all adapter use cases at once │ └──────────────────────────────────────────────────────────────────────┘ │ ├──────────────────────────────────────────────────────────────────────┐ │ REFERENCE OUTPUT GENERATION (ONNX Runtime, per use case) │ │ base use case -> run base_model.onnx with ONNX Runtime │ │ -> reference_output_base/reference_output/ │ │ non-base -> run .onnx with ONNX Runtime │ │ -> reference_output_/reference_output/│ └──────────────────────────────────────────────────────────────────────┘ │ ▼ Verification: Compare reference vs target per use case │ ▼ Combined Report: oneshot_layerwise.csv / oneshot_layerwise.json (includes "Use Case" column to identify which use case each row belongs to) Copy to clipboard **Sample Command** qairt-accuracy-debugger snooping \ --platform aarch64-android \ --backend htp \ --input_model /path/to/base/small_model.onnx \ --calibration_input_list /path/to/inputs/input_list.txt \ --input_sample /path/to/inputs/input_list.txt \ --lora_alpha_tensor /path/to/inputs/lora_alpha.raw \ --working_directory /path/to/output \ --log_level debug \ --offline_prepare \ --lora_config /path/to/lora_config_updated.yaml \ --lora_quant_updatable_mode none \ --use_case_names base function Copy to clipboard **LoRA Arguments for Framework Runner Mode** | Argument | Required | Description | | --- | --- | --- | | `--lora_config` | Yes | Path to the updated LoRA YAML config file (produced by `qairt-lora-mapper`).
Providing this argument enables the full LoRA pipeline and triggers framework
runner mode when `--config` is not specified. | | `--lora_quant_updatable_mode` | Optional | Specifies whether and for which tensors the quantization encodings change across
use-cases. Choices: `none` (encodings are fixed), `adapter_only` (default),
`all` (all tensors have updatable encodings). | | `--use_case_names` | Optional | Space-separated list of LoRA use-case names to debug (e.g., `base function`).
If omitted, all use cases defined in the LoRA config are debugged. Include
`base` to also debug the base model without any LoRA adapters applied. | | `--lora_alpha_tensor` | Yes (for LoRA) | Path to the LoRA alpha scaling tensor raw file (float32). Automatically prepended
as the first input during target inference. Must not be included in
`--input_sample` or `--calibration_input_list`. | | `--offline_prepare` | Yes (for HTP) | Required for LoRA inference on HTP targets, as the LoRA adapter patches are
generated during the context binary generation step. | **Output Directory Structure** When LoRA snooping in framework runner mode completes, the output directory contains: working_directory └── oneshot_snooping └── 2025-07-07_12-00-00 ├── accuracy_debugger_user_info.log ├── oneshot_layerwise.csv ├── oneshot_layerwise_.csv ├── oneshot_layerwise.json ├── small_model_optimized.onnx ├── inference_engine │ ├── binary_updates_.yaml │ ├── lora_base_default_adapter.bin │ ├── lora_base_.bin │ ├── lora_base_quantized.dlc │ ├── lora_base_quantized.dlc.bin │ ├── lora_base.dlc │ ├── modified_calibration_list.txt │ ├── status.json │ ├── lora_importer_output │ │ ├── _lora.encodings │ │ ├── _lora.safetensors │ │ └── lora_output_files.yaml │ ├── lora_model_creator_output │ │ ├── base_encodings.json │ │ ├── base_model.onnx │ │ ├── _encodings.json │ │ ├── .onnx │ │ ├── .safetensors │ │ ├── lora_importer_config.yaml │ │ └── lora_tensor_names.txt │ └── Output │ ├── base │ │ └── Result_0 │ │ └── *.raw │ └── lora_base_ │ └── Result_0 │ └── *.raw ├── plots │ ├── base │ │ └── mse.html │ └── │ └── mse.html ├── reference_output_base │ └── reference_output │ └── *.raw └── reference_output_ └── reference_output └── *.raw Copy to clipboard Key differences from the `--config` mode output: - `inference_engine/lora_model_creator_output/` contains per-use-case patched ONNX models (e.g., `function.onnx`) used by the ONNX Runtime framework runner. Note - In framework runner mode, ONNX Runtime on CPU is used as the reference backend. This provides a true floating-point reference for comparison against the quantized LoRA model running on the target device (HTP/aarch64-android). - The `--lora_alpha_tensor` argument is required when `--lora_config` is provided. This tensor is automatically prepended as the first input to the model during target inference. **Important:** Do not include the lora alpha tensor in `--input_sample` or `--calibration_input_list`. - The `--offline_prepare` flag is required for LoRA inference on HTP targets. - The `--use_case_names` argument specifies which LoRA use-cases to debug. Include `base` to also debug the base model (without any LoRA adapters applied). - Unlike `--config` mode, framework runner mode does not require a JSON configuration file. All LoRA arguments are passed directly on the command line. #### cumulative-layerwise Snooping This algorithm is designed to debug one layer at a time by performing below steps: > > > 1. Execute framework runner to collect reference outputs from all intermediate tensors of a model in fp32 precision > 2. Execute inference engine and verification steps in iterative manner to perform below operations > > > > - Collect target outputs in target precision for each layer while removing the effect of its preceding layers on final output >     - Compare intermediate outputs from framework runner and inference engine It provides deeper analysis to identify sensitivity of layers of model causing accuracy deviation and can be used to measure quantization sensitivity of each layer/op in the model with regard to the final output of the model. ![../_static/resources/qairt_cumulative_diagram.png](data:image/png;base64,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) **Debugging Accuracy issue with Quantized model using Cumulative Layerwise Snooping** - With quantized models, it is expected to have some mismatch at most data intensive layers - arising due to quantization error. - The debugger can be used to identify operators which are most sensitive with high verifier score and run those at higher precision to improve overall accuracy. - The sensitivity is determined by the verifier score seen at that layer regarding the reference platform (like ONNXRT). - Note that Cumulative-layerwise debugging takes considerable time as the partitioned model shall be quantized and compiled at every layer that doesn’t have a 100% match with reference. - Below is one strategy to debug larger models: > > > - Run Oneshot-layerwise on the model which helps to identify the starting point of sensitivity in the model. > - Run Cumulative-layerwise at different parts of the model using start-layer and end-layer options (if the model has 100 nodes, use start layer at starting node from Oneshot-layerwise run > and end layer at the 25th node for run 1, start layer at 26th and end layer at 50th node for run 2, start layer at 51st node and end layer at 75th node for run 3 .. and so on).The final > reports of all runs help to identify the most sensitive layers in the model. Let’s say node A,B,C have high verifier scores which indicates high sensitivity > > > > > > > > > - Run the original model with those specific layers (A/B/C - one at a time or combinations) in FP16 and observe the improvement in accuracy. **Sample Commands** # Example for executing cumulative-layerwise on HTP Android device hosted on a Linux machine: qairt-accuracy-debugger snooping --algorithm cumulative_layerwise \ --backend htp \ --platform aarch64-android \ --input_model artifacts/mobilenet-v2.onnx \ --calibration_input_list artifacts/list.txt \ --input_sample input_sample.txt\ --output_tensor "473" \ --comparator mse \ --quantization_overrides artifacts/quantized_encoding.json \ # Example for executing cumulative-layerwise snooping on a WoS HTP target: qairt-accuracy-debugger snooping ^ --algorithm cumulative_layerwise ^ --backend htp ^ --platform wos ^ --input_model artifacts/mobilenet-v2.onnx ^ --input_sample input_sample.txt ^ --comparator mse ^ --calibration_input_list calib_list.txt # Example for executing cumulative-layerwise snooping on a QNX HTP target: qairt-accuracy-debugger snooping ^ --algorithm cumulative_layerwise ^ --backend htp ^ --platform qnx ^ --ip_address 192.168.1.1 --username root --password "" --input_model artifacts/mobilenet-v2.onnx ^ --input_sample input_sample.txt ^ --comparator mse ^ --calibration_input_list calib_list.txt # Example for executing cumulative-layerwise snooping on a Linux-Embedded HTP target: qairt-accuracy-debugger snooping ^ --algorithm cumulative_layerwise ^ --backend htp ^ --platform linux-embedded ^ --input_model artifacts/mobilenet-v2.onnx ^ --input_sample input_sample.txt ^ --comparator mse ^ --offline_prepare ^ --ip_address 192.169.2.1 ^ --device_id 357415c4 ^ --calibration_input_list calib_list.txt # Example for using external golden outputs dumped by frameworks like ONNX: qairt-accuracy-debugger snooping --algorithm cumulative_layerwise \ --backend htp \ --platform aarch64-android \ --input_model artifacts/mobilenet-v2.onnx \ --calibration_input_list artifacts/list.txt \ --input_sample input_sample.txt \ --output_tensor "473" \ --comparator mse \ --quantization_overrides artifacts/quantized_encoding.json \ --golden_reference /path/to/goldens # Example for using external golden outputs dumped by QNN: qairt-accuracy-debugger snooping \ --algorithm cumulative_layerwise \ --backend htp \ --platform aarch64-android \ --input_model artifacts/mobilenet-v2.onnx \ --calibration_input_list artifacts/list.txt \ --input_sample input_sample.txt\ --output_tensor "473" \ --comparator mse \ --quantization_overrides artifacts/quantized_encoding.json \ --golden_reference /path/to/goldens \ --is_qnn_golden_reference Copy to clipboard Tip Refer to inference-engine sample commands to understand usage of different platforms/backends **Output** Below is the output directory structure: working_directory └── cumulative_layerwise_snooping    └── 2025-07-07_06-00-17    ├── all_subgraphs.json    ├── cumulative_layerwise.csv ├── cumulative_layerwise.json    ├── encodings_converter    ├── inference_engine    ├── plots    ├── reference_output    └── sub_graph_node_precision_files Copy to clipboard - inference\_engine directory contains intemediate outputs obtained from inference engine step stored in separate directories with respective layer names. Also it contains final report named cumulative\_layerwise.csv which contains verifier scores for each layer. User can identify layers with most deviating scores as problematic nodes. The final report is also dumped in json format in cumulative\_layerwise.json - reference\_output directory contains timestamped directory that contains the intermediate layers outputs stored in .raw format just as mentioned in Framework Runner step. - plots directory containing html plots of verification results of each layer output. Snapshot of cumulative\_layerwise.csv: ![../_static/resources/qairt_cumulative_layerwise_report.png](data:image/png;base64,UklGRtREAABXRUJQVlA4TMhEAAAv0wY7ACcEKRIABNHiDgncIT0pSMDwcoen27lfBMe1bSvNwR2GEHdPBSk1faQFKnAZRQpwF6ixACCoHu6Q3LUxAMeoNIZgBSZwaU6U7zr/Cd/+/1TsX3cO5D45Q8BeDYwYwtv/3/e4HhcQAv739j/CSc77MQQVSh7yTbR3Z8jjmLPiwIFnNcsQLKnYvf7s1SAlB/kPGvINUJdO0lJWCvoUhE9fUPW8z8He7vdlL0ZhB1vmHE4PGFruf2BLxKuZE7wVdeBghmVvbZgasNSHpPkHDZdblhAsYc6KpJmky0V8Y07ylIQWWyrikjmvXlLQf9OBg5yU7b1plAPdAuOxfoEEET2wBCMiMCAEc2//iSGoemzA3sPLmx1nJHTXYIvioG0jQXL4w57Z3ftHEBET4DVrdNa9NenSMSpUUNk7jnqoxUwVC5YWhlbUqalxLQsdQmyJravS7c2xosq6WPT2p64r6H6oxtruWE9OhoNKFE3tL8+KUj0xzEFXCHr2GTQdo+nwjruKro2Ck81mpP3QZ0VaNQcO5y++9Rc46dUVW7GZd1mfYBE6iiQXZ+gvaXrIeTiklOJO9eINd73cqjjQpyzHsbtr2n/xTuUGtfQhbDu0vuALUaVble9uGfWRk8FFKA4ilfMPqGDc/k9y2za7sCg12/tC77tlLVptEFcFfZ9aic4dSuuTlGnXSeTI2wIKWJugRStB//HsfH/f329mfzPMIZUR/fcFSZIlSZJsUVRGtntHJDCLqKqZP8KM0/IPYyNJgiRJwjFxpDyDT/l3haupe3jlFArTPxH99wVJkiVJkmxJd89MZb9YiFnNPbOy3Bl0/rbjP16tM/qYZmLu+VBt4/IJLn1OFu9TNem/7x7RP7cPF/7z/2DPs+9fMnH6k6pa354kp6/awM5xl5DTZQUfBxPH5pAjbzlbHUy47wVYP10eTGTVI+hPtpLAUHPiVmqC2qEDo8Go76z7psR3/vdsGMwdMFuZzevKEouLHauLzty558SWMWO23J3T5YYRUfkLJOQKN6/wo6tP76+q9f4k9HE8HsSGFpslxnTns6MjI4v1zeb51WYETrbSb+a+bK4tD640Dz2bQ46wJehfn3HfDFn10WGoOXErNah2XBD1pXXflHi/wcEMuquB/3zLMNy5MkmkODdWQ/Xsiy1j554UW76M2bJrzJWfJiGaPPDla+HjhVULM2Z3tYE+uuAnJG9twyCba8b05hs/emT5hBsq3GQk5+5qk3wzJzZfSUTOT7bGMscczy3R7dvLjvqmkKqPDULNilupYbU2tuZIrPt2xEWZ2kAVFM8+/2nYlbLo5soIceLcBENW4yN27imwlYNEVZl6xFHSeLtBYuf4Q9Lcnq51oVIueIXknW2YZHPLmAt/wDdUyTnYXZ95gSjijGYORdLMVu2weBshlsrMrdSwWhtbcyTWfUfiYnezP/nv9VlYKczmDcrixbmJULsZsXNPgS1fplK1aWIqf4PEYtMDymwBKf1mtKo/iQ0dNluM6f+w/Ybw8fyqWr81CUXEGTXY+fqDDeip9idC2J7ka8NcR575uEI9i83uqjo8mz0Yvk7KtMCECmPPPAjP3jKhC3hpYxxzlSMOlnC+PjMCKhNAShV6ghtn6ff0BoYJw/JclpXxub7cSk1Quxi0VeuWtrXP62KOhtddSZxMz5PfGgQOA3EgKJFFkGjKSGXCyN05bo3iymbixcX9+8E6lVw3w7VqzM49BLZ8yU8c6M3hZXVUlbCJEFIUA0oxJQjx68tBfp7E7PMzgC9jze7noo/JAKJwzmBPTl+WbbjAZtyYS/+Se1X17hvBxvqN5vqq49x992eTQc/N5tpxF6Rcqa+vWsFktuqA0+X/Terdqh2oPrhy7fjuu1euDSuElGmACUVjp8v9QSQVerp7cuXhSOaII02oY9jtMCJURsNKFZoLYtBvRUdQibDF3e82vDIuuZWaoHZRfX/o38kWa+sAr2s5Gl93KfHFRu5ZfbXsagEUoRmKgKjKaGU2YbwaxeFmQw2eXwWoZNgMlo0RO/cU2DImPnGGUTY55UWDtpSwiRAe/76qEVHilCDEry8H+XESp0NzBXL5C2/DuD2poY+pIKJ0zo49c/pybMMNNtPGzI+o2vUH1T7YgHpRTraYPdy9FK5xpq/PhChUFyYrCAPVRKa+N0yEgjnc7Qh7qkQo3BjJHHKsA75Agg2pMhpmezAamk/8nsJopDAcJvOqJZXx+DzQxdRU2tABeOxA2jrC61aO5tddSZwJW1QnWxJSBERVxioz+/xbw8Q2ioPNSA344kCYoScjdu4psGWMeOLsG0YVhi2E8FSAZw9QwpRgxK8vB/lpEsGZhLp8Zhhv0Md0hIcv7hlB5tiGG2ymjbkywur6LMgGqwrCDtYN3vDMGAQi1//nw59WOkKmBSlUIveGhVDBSOaY4zmg4aumGYTYICpj4bY3YadF+DUjhQFhCIrK+ORiaoA2gdR1hNetHM2vu5B4oBPMVl1tRlUmKyPfdm8Sh4QHrxIiOc+InXtXbOWinq/W339DG1UHmNYUHztjX18UZkngHlKAb56EgZTwwnDOzj3j5NiGG2wGjbk3X742QeHRUF8A1KX6+cDp8vCNhzvHOqQMOlKoZKg3PNdLhAbGMsccaUvx4xYWNkxlJKxU0JhhlSNK80hhlNbv+nIvNUSbQNra5HU1R6PrLiZOCDLsqMpkZYKKsIU3ioMVKURynvE697bYioSs2rV7K1q0BCA2PzHrC2WWRFB1pWnuH1yZ1DA68PucUPcMk2MbbrAZMeb2zKsWSfLcEWyOHjLCa5kd+rUgZRpAoRL2M4lSKDCWOeZIW3bCMaEXzeqCyjQQ29D/ZUdqJEYKG8BRISvjklupOdXGEW2d4XUrR/PrriQezI2ArEwo3r8dt1bqZsGiREgOA3eP17nHwFYQGhyofFQdYWtN1agGfG3i15eD/DSJRYUfG6iF3NCwPqYiHqOwZ523tWGYzRVj5geqvH6ruT5swuXrifgK9QsrrDt5wXFTB2H1M8cbCdSsCgW+XX95r9KRMg1IoYh8APfBZSZ0vn7j4UjmmOM54glN+JMCwsn6Z831BydbTGUMV5qmmUjbQcndob/SrxgibLH+bnPtwcFEVsYlt1JDaunwlm0d4XUtR+PrriQOozWORdUaEJWBZSQIMokjWGh9dxUgknnCWjVi554CWzkYCjk5vc9WHlAEYashTFMB08ASRzi8Er2+HOTHSdQ1CKC77Iv1TVjroI+pqo7HCM5Z3TOkL8c23GAzbcytz+RaVdX3+fs+dx5U6705Qr8xFATAyBcH5qvq8KuljpRpQAqV7Bzvhx9bP5gQoaf3qoPJOOaY4zm4hRN9IiKeuVcN2i5TlRGc713q2mDggPVADBG22AzKDi+Tbrn8trFGDaqlQ1RtHeE13jiaXncjcZyZcfQmKpmXhrD/ahXHhKv9IKknksMsNqN27iGwPcfUs/Du9DNtVFUVIoQpijQ4JQSzB+uz2PXlRX6aBMypEjh9ASdE30eMKBwjPGd1zzBvaMMVNsPGlPfYyaSO+H3ezC3dQnuCtCMsybLzNJTxVzreMUeHTW9BfOc4csic/tcZah9NXBLRyzZx594b2yN+fomhLbdWjVhf5OeXbCJx9fNLnsSGDpstxpSaeXUz/Ezgpi4kDT26TENY4VmUo+eZ6ONFnC67NJuTbtwF6YuttJ17b2x/0s+Z3Pn4Q/jYM6wvKz5nsu/jtXP2JDZ02GwxptjnuNn9aRUeIBeS2YoeKqIhrPDsydH28X+IdK9N7RJ37o2x/Wm/D8C+vkjy8yTaPl6bB7FhO5tF92TaeduejONft//ln//pH//h7//u7/72b/76r/7yL/78z/9s+qd/8sd/1DS//Tu/+3u//wd/+Or0CayPJ9NuXPjPhf98ZebqJ0dHRzdcI9PgBeAsBiwoXiATc7m8oji5jTga57uX65pL6EHw+kxKha6KdUDb8aVg04CE0EXV4skfLJxrtaKEoyCPAIDCrd15fqWEbzwlooBpaYuOs3Ncsap6sdZBFwbYwcRQ8d1B1E1BUpG3wVF1d5CFR3RV2mJTTmTVT8ZmAsY+lIez4hmK6NlsBVNSarsAGHYgSSDZrbfoykjIG+kgqzFbkdgk9PoY6yFYB2cK3DeO5dO1V7tbtAWbEN4ZAWASsCG0iU17RxIZHzZ7RClZRCJJ01BtmhcfbW8/e3TDMywNXn19FcyzoHiBTMxheUUePCHKteWw8jMJ8vw1DZEKXRVhSNv0oOKt4BKKM1+fxWRAHJte9sDYnb663bywIpqKRBQwKw0Os6dwuyGmvVjroWvu/wK94rPVfvOTqgVUFXEbGHFvNPeDrHm131zX2mJSTmQVDf83RMDYh1x0VjxDET2b4xmaiLYLgOGgA3KQLNY73Sga1krSFDLWyYoUTEKvj7EegnVwpqotwjHN6SGgc7doCzYpvDMCwCRgA2gTm/aOJLI+bGAR0liwiESSpqFa8wdPf3rHLWR7ACfIWH9TbhvwsOaBTMyxMp551Vok4Hk+uFTQXIZEDA+cu0GeS+/HBxMsg37wUWhOOSqYNRF6wMlfz0kcF4ksYFYaPxw62qMyvVjroes5UAN56hZAVZG3CSMOtYXdd/WM3LVNOciC6oNSwNiHxvdWPKaYj89cdIpomwf8OsZJEkmO6xWMRcNYqTWFLGpiKGaTyL5jrIfVHzpc1RblWDhdx8HytWg7dCm8MwJ+TIpsahPIxKa746EyoiVGpFKyCEQSJaBWzfZnXonrf8njOgoJ03zMETUU+RzE9e9RCRpJgAvQxPxg92TLKpqaU44J7pFjDyzdgdQ2CkUiC5iW1m80UOaW1Rw6ilZxZaWvVRVxG3GSKExz0Vp0JeVJFok+WAXcrti4DZ6hiE+tX6CdoOQCYNihKnmB0etBN8qGsDKYQozTsEoThZxkBDhGh6vaohwjAgZ8LtrMxoV3RsCPSTDaEExs+juCphfaNExpLyAiq5JTrfwftxzDbfBqCdYUyMWcCK+ooY9Oovb86XSRWjUzqDbB8ytTtkldz+9ry00QOAxFMihi80AlOaUUg+9eefq/tybEFnIhQ23A2B2spmVlAK3D0uDkgQqobstqHp0Fua6Txz2qirQNCsKVE5WpbpPyJItEHwQBhwP3Zhs8Q5E86w/vhdedmI15wOA/KCHJeb3iRtFoWJmyDk8kvUmDQiukPjh2TLXFOcYEzKu9Znflb9E2bFJ4ZwSASYUNG4KJTX/HKpLQSiNMKRnBRCQrkfPce4/8Qm3wGFIBkIk5Fl5RYbYizFaUs39DlQqaJVQbIHL4qdkmfT0/3O1rT5cd7h31luSBSnJKKSb2YySZCJgtnsVGVt7UHVbqCGalYQwMM1tWa6EDlIrDFCXoKmgb4vDwq+aFVdUOkUA+Dvs0YVujHGWFwTMAAk4H7s02eIIieIYvweyuNkTbBcB1B1JCksV62I2iIa0kUypIeCLpTZIKAWsPT8d4wBbhmNLV+5XLRduwSeGdEVBDCWxIaROb/o5VJAwswpTKEczEVSV+nnP9bdgGj0F3GKeZmKPhFeORT1OgVCJAfKLaAPHo/2CiZZsMcmBIhEKAgLC09BDcFxDNA/F+eAWBiYEJpmFIoQxiqw6Ug2Dsjih8FKPScH/RzJbVOugQXvFoxDbw6PzdIeHOvApvTxpisNRt9RBZMI56IqA6cG+2wRMU0bNrr4chS7VNA+YdXkrSmPWgG0UkOQSmAMj6RNIhCmM4HEsDthjHmIDFyeVBwKbWF21/pPDOCACTKhsyKBOb/o5FJA0swiAtIiJBiZynPw3/2+3dDJLCXsGaZmYubJ/sN1RYKhFghOXwM2abFLMzLHi4Bi02NcgUzQNpckopJg8baFY6MyAYlB1u1VGMSotjy2otdBY6EE12RXUVbhv16RzWlZSzbJQTOARsmD3wWhQBDD5ZR7TNA6YdqiSSbNYrJ8khNuUUUAfWAli21PZRXG7C0HbSMRIkEB9dGxZtnzdg7xkBYBKwkaVNbPo7FpEwuAhXigKISFDi5uonP3hq2yW8L4eIEWRiTg+vKFpyOuyKia0klYCwVJIy0ghbKDRAjgJIXWxCeX4uHw6G5oG5OSURc22s3dkJGbDimJTWmy2rtdBFQMaGroIX1gyRJYt1JeUsm0YfhA6El2cbvEiRXxwslb4AGHYAJSD5Z73HHWslmAIgyZCmaWg0PdI+C6dUts4MOxbfEPldtG3OYK0ZASbOahLIMv0dT5EwvAhRqorsz2fDL9fgM18itvGCfMzNq1ZOCNGqToiBP45KQFjqoNkIvuJCcviZs02mCZoPH7TB4jufnyG5eaCSnFKKSUOHJsH+sK07uAxHMiot6u4tq3XQSZSKa29X1lWkbdAEahukoTMEkpQH2TT6IHQgvPzD2+AlisGz2Yq9VQ71XAAMOwDyKlmtB90oGdpKMAWyHl8ISKV5+6amwRqsgwFbjGNEgNtFW7CJ4Z0RAHE2EQxs+jueInlIsWVDWIukSFJSRvv9hutjcsU2eM2149vNQ2X2Tp2bc30TWXpI+QPe96qWSiA/x01SScpICf958MMrMoefSqOe32wF46gngfJy80AlOaWUn/sxki8xgcJZDxZVq3Rn58EhlE0qAokkYFQaPhGvQDK3rNZBp0AfWosfEu2rlqgA8VIzyjpdDip+IvV9/djSlrgHtYyuQcDpwL3ZBk9QJM9Ol5ATsmMi5wHjQc+YzHrYjeIRrWQHgTH+td6sSVwhJ+dGPA2q+8oxTcCuw0VbsOHwjglIcd6lQzCxae9YRdKTihaRSkmLiEhQUtUqf5XDj47Cx3uPnJLa4M3Fq1Sw+kucm1N9E3l6yOhjclWpLGWkgGqDlH3182BapVHPbwdn3bzaiMEXmweidnTXSTGiH6P8g4yEd8GwHoTJzLsjBFVVKxSRRBAwKw0i+CigzC2rddABWsXpwXz6dctVHMPKjrJO74mu19cfwPDK26Y9aGULhwP3Zhk8RbEcznKO1ntU5AXAsEOVRJLzeqXRUvEQVlZTKuPGZ3KxXrNKZA9p6HBVW4xjeuscLtqGTQjvjACK88mGD8HApr0jiMyG7LOhLEcwEQlKQO2vxsdO3jluY1IjmhVdlbZsNfxqK7cHtIqP4M+P0NufX7IN3nbAF9x4POR8AP0mJjWiVdFFabbjTNrVVm5vO87kCCX0I/T250wug7cd8A03Hvsgv6yJxvMBvNHO8/BMUHTF38uBJ4vNe7vxZNt52y78zxX5S61X5IX//PN/viajHzz5vUeeyR35bpNDYiIZmPtC9IqkHohJVi5A6M1CKovOF1kWr3dkyX4e6aU7v8gpB/xUZpE/O9k2OwBD51lkkDNbgRtDVMduBMozs2QQpI4PvaKS5DMwrgLyIdkj00/h5Udec5B0miCSgHlABua+Eb0ioU6jkJWEaLMKFY/HT8yyeM0jy/YHbWKEnVvklAN+KrPI33Fjmx2AofMsMsiZYz4oS1THRgQAT+EASC0fWkUlyWdgXAXAISEzQU6/bf3j6icus7K6JojaufeADMx9KXpFlm8FErKCEL8plsfjce6zLF7zyAr7QU57bsEpF1ae1PmMGGeHJOhmkSyHRGPkqo4DETjLOxYOgtTyoVVUEnxu1dkkM0FMv4D6VS7zH7smiJZN0zQDc9+HXpH8hdJJlhCiN8WSeszLmGXx/JElbWlCpc8tcsqV7zzq7KAYOo8ig5xeYKo6tiJwlncsHQCp5UOrqCSobNXZJIjpZ4t/7BHfBBGBPdtABua+D70iWUKSJYR0zAL8nTc6y+J1jyxok9ERsdLnFZzy7Nz5jA+9Ik2zA4kcCiyHp7s83xvBKetEoJR3LObdLR9aRSXB506dTTITpA/1nvBXz/DOXETjg5p1oW6MDMx9I3pFUuXGLCsK0WYR3OX7yLJ4/simIfEWsdLnFZjy7FzhH3pFGmcHQDsv5pQjqW7Da1KiqmMrAmd5x2LS86FTVLLqJsYAGw4JmQly+lkijbvMytppgqiRgbkvQ6/I2BixPdasMlKiJ7IsnjuyamS8Raz0eQWm3MyrlVN6ItlmR2pINEZT1dFHoBA4HwDYhnrxmRgTbFG4Uk6/rHL6M0ieUpCRgbnvQ6/IU8LJSshKQqxZiyfL4vkjy3Oqwq8/14gpR/zlvSnObBVWB8PsIDSiEOWgABMKE4Egu7S0T4Km/r/ImGCbwpVi+ll47gdPOcSceUztBeC4DGRg7ivRKxLqNApZSYg0a/NkWbzukTXazjVSyhl/Ac++Nk3z0DA7GI0osBwCCAD9rQhAeccC0vXBUwc93TqbRICYfnl9wmc+lEp5M2nAv7mvRK/Il4ZzBSErCNFmLf7hLIsnJLFkpQ0qfV4RUs74q8fphcA+O6aGzrNIlBOaSSKynnJAv48A95MsIF0fOkUlT5+bdTa1qzerf7r6nW3XP+utmyDOK/az3v7NfSV6RVIPRCkrqTabAh5/35Zp8VpHVjU9HLXSz9srEvDTO5b013pbJiAjOo8eghwSjdEU1bEXgfpUKRkAqeUDwDbUwWdgTAJM4Uox/dTvhH9/DK/YJojKMbncm/tK9IqkOo1KliEAodqUlMddXsZ3hdc4sqrp4dkQ8g82kPJk5Xmy+Wlz6jQHEEgI58nDIgeqMbqqjq0IPOEgpJg+9IpKQp+twCGpJ6Eev1/z54rc1yLS1bB5V3hvQ/qv1l6RfcIp8XicyTeF9z6k/6LuFbnoyjFs3on0b8Tvbfvnf6/IX2q9Ii/858J/vjbz2fuX3KJ6C5IAwL+5nb0iUeZQS0F5fgwbqz8AQ3/NDHZSVBWBAOpYOCPNePySuvSW1Tro/OeXIN2o+Pzw2tBokOhchRH3ohX0sfMgVZUiTBGYVICc8PUmXdywmYTnWOTKhezk5HNcYSuzTPWItHepQ40LwUhEnICGi6CEDkX9fu0n7RU53vVxz6KkSkZaxoesckVa4mo5xvUWTDX8/Jtb2isSZTYGNr89q3pFFiHYSbGguSI76PznTCJdVgz9BkOjQSIUs9uoHoT9sMFmgQclmsCkAuSUjVMcpXEUnmKBRw8EdETbHFfYyiwD9xIJ2ieof7FVBmYiogR0XAQl5VCgwQ/aK3Ku6yMwtigpkoGW8yHnXJFPf/ptt9S3NVCWLwoIZGBuaa9IlNkY2HxkVvWKLEKA13x9VtBckT10PUfWgOnaYoev7JwqGHIYhe+BNF4PxdoiMKkAAWXjFEfTH4WnWPDRw+oQbWNcIStqGfDopX2EOtS4DMxERAlouQhK4FBA18fn7BU53/XRpgQkw6Ne+JBzrsjnfvAfjj/p3oItw7W51b0iSWZnBucuWNUrUgjh5/p70F6RHXQa5HEJqa5BMb0+DHa0E0b3BK7PcD0U/Ru5qsJ3Qnz504rNLDzBgsjBQBvDMa6QFbUMePR6KxFbdcpiERiPCOjyLp4Dz7gYzOfsFTnY9RHGKPnxKkIy9CHjXJHf+NGjZx0yUmZxgWRgbmOvyCQz93tkF+NIOodnqvfvZ4YYeApSCP77H7RXpENngaqwVRfGfOXKZNJD1Z/xeig6EEkFyzmn/e3Us/AEC3PXjKRtlOsxahnwqGqPrzqcibsEjEcEdHVcBCV0KKDr43P2ihzs+giMhRLCCo96Qx9yzhV5a9svttIgCQhkYG5jr8gk0/R7hGEQOo8CMezB86sMiL0iY4D7YtTDboxIi8xBsmW1DjrEUnFaXZ7z2OLCKRMNUqrb+CpBzfXJVIOWYoJAnNYdVbVbhMzCEyxM5ULSNsOVRy0DHlXt8VWHGheA+YiAroaLpIQOxWFcHbOjjn11kDw1D02R3XPH8Rns+giMhRJhYWfpQ1a5IvVrdxbIKldk+i1DGZhb1SsyT3UdtQZDYo1uwykhpXOpLCPAbyRwX4yNId8mpOHunZ0lq7XQAZaK8+rqkYkGCeTyJKoMOR0E8Kjn1lRRndjMwjMsxF0zkrYRrmHUMuARaI8GalxyWi7Wu3yEQ3FIujHgoGnWWAXQhMD5BQCAAGAslNDUR72lD7nmioSv9U6nNR+Qm7l+fWa/EYelggB+uRARIQx792HnmF9YwxzpIsABfRJ7zF6RPXQGuiAnxNMg1cWJug3Vl4qoPuP1UHxprvt1/mB6ZuEJFqpyIWgb4RpGLcMCDFuItAxOyW+0XAQlcChexsGYHXXswcHGQxNFpsC5vdG5t0jrwzGE39CHrHJFatF+8ONWPrkicw2/DMzt7BXJis2EvZmh8cJ5gcDJcYrSw74NSGvPitWa6GzUTdM8ZNUVQ4YBTm4TXB+5HoqqyrJfXMT8Poe5mYUXWcg/MQLa5rjCmGXAozz2qgMl/5KWi/EZl7s+mh37sQcB8aHJIk3gxkWzMSRM7sylPgItSx8yzhXp/hO81kTkAv/mlvaKZMUQEcbO8c1lh87pICrK3fDbZ/Twi9iEtNi7V6zWRAdYXgLj1cWl8Pcyiwm7EMa0nR6uT70eivwjCEwqSM7cD4/CiyzC0TP3uDjHFcYsAx6B9tiqY42zZy4iRkDPxfiM466Pz9krcrDrI+TOKKmSCZKlDznliswM01sw1fDzb25pr0iUSf8SRr24+8UWz8QIAQKzArYvMdEe6b4Yn7NXZAudhlShJG80xQ6VRIPBlHYxEoNQpq8Wdsg2rVI49wOBLBd1D/aQHIWnWJi7Zqza5rjCVmqZ6hFoNwSYjMuU5du6EXECei6eSvAZB8Y9aK9Iy+YAEE4kMTZKXpITLUMfssoVmRumtyAREMjA3MpekajY9nucrTY1KwG8XXM/q0+4kNF4fz3AhMB9MT5or8gOOgVlCZfV1cUOWbRBNEWTHiq5EhkwtFAFThWY5JIc2rjdynEWnmChKhfWmeNKgMQy1aOgvWqjqg41Lgb9iAgBLRdRCZw7mLfqFZnJdYME6kZJlYy0LH34zVauyJG9nQid8KfHZBDeTa7rlomu8eOtuSJH0DoROuNPKzaD8G5y3bZM2hr/dXtvkHn1Z2Nsnozxk3Pnbfvnf6/IX2q9Ii/858J/vjJz9RM4bZtjahU8HjtvtqqGjw7wb+6TuDdIEuGvyLkiM7roXJGpwmBSEb+1W/Qi3GNHce1qi3KkAtmuixwO3Jxd8ChbQIdoI8PHuMKxJkdEz0gbx9LCZ4WOviIHn0gsE01PY3NjakmWI8S7WjMlOnBS3Nyx0j+dwYKR4gu7YRFyJr++aPzwkf3T2sqPJJog4N/cR3FvkCQcYolzRXbQjXPdIM+Fjgm79TB4O54f0qAcqUDHRljk9qcrLoMHxgAdoo0MH+MKx5ocqf4Dex3HspLOCht9J1FxhxWGdBidmxIMcB8Swrtac6w7cPaVQzb6Z6BZMNKhBQGwCDmDph1ZUONq+eZ8PVBj58logoB/cx/FvUFibUPdS5wrsoMOzgeQ+pI7YuFG3m0QYDinhqY84nllOyxy+/+fT7vgoTEvOpo2MHyOKx+8cyvw/2TfiGNRyWeFjL5yHNgqTZrH5waCATEgqwAZ7zVTpBZ8fvJ7g7SGEFGBtld4M7++2MgrV2TdUzIw9+e/N8i0Np73uMS5IjvogKSX3FGVcmxtiKppyhFP2TgscvuD/LfBO41hOpYAiKNckyPk/6mtEcdyEoHzEQd9iCNIm/G5gQG1sApwuZAp1YHzye8Nsl8w0qCtAkogWHd+fdHPQ2pnb+VHGU0QyMDcR3FvkCRFRIlzRTp0VtgSVKSRijJcuJF3I1kFa7puWpWfU7MNi9z+Vull8IpEpmMJgDjGtR5rcoT8r9p8HAt+tzL6jrl3b5BJRU03qdVWgV5uUkL2wOcnvzfIfsFIg7ZTeFO8vmiEr7zhnTmN4SefwN5dbYAMzH0U9wZJIvwVOFdkBx2iVPw4kDCHijBcUxB3I4ERlaJJ5Wog27DI7fYf2+BVY0SbyA7cnOMKx7pqQv+rNh/HoqNOoYv3BplU1HSDWkiIdEKZUh04j7iVlYRhJgXaE3+YqkC8vlgyIxzdyitXJI8mOM3A3Edxb5Akwl+Bc0W20AG84il4+V8GdqOBEaW0eCjb5yLVgXuzDR4YA00gZRPBzUGucKzBEdMzUsex0PDeKtBJdadjaGq6QS0lRDg9M5UGfH7F7ZwBiAq0B34czkJ+fTFeY8HcckWSWk5dm/tk7g2yvLkie+gMdIdoeAeKKng5Gu5/KR/TsJdYDcoTUmrmuGGWwVP12fTMnZNc4VizI3ErEcfyI2qsUni/ng7idPA0cgPpLmoPabyrdEyFQFD1uUIjU84JBrSBOg5nIb++mHj/klswKSJQm0oG5v4g9wa5ZeTjUxQVAxg4IK09K1ZrojMD2UAVdbBwI+1G1zQ+0zXlemCRy7MNHmSLRgsoOMpVOnJqgMlxLDq8riZK5UtxOsI0cmMekWSEoFM+piAQJuLFxaZcJtjUiYwHiI5Oaz7z+4lPILgXSrCWgQzMfRD3Bim1LeChJq50ZvhxOyEt9u4VqzXRAUrFT2H1JzJRRew9CLvxbQX9XVWOw9mGRS7/8DZ4YAycQO3XLFfjiOkZqeNYcrDGOkJm9TGS8LlRj0gyhcCpMqaqWvL5ye8Nsl8w0qDVhTfzORN/8NKl4fejG1nliiTRBGEy+Df3WdwbpAwHWOJckQJdZK7IVGEQVNB+Rd8hi3YjERLlboYUmvYAKpDtc5EF/7Zt8MCYSscSAHGOa6lzWBwJ/gN7H8dywrmX5Z+tlOkQ/1pvQzqMzg0Fo6qtR4iP95w9OG8UcW8s9U/DGVKIerTiCQrO5NcX7etzvG6QMlAf4N7cZ3FvkNTl74l7RRpK1+sVmSoMsoo0h6wc1f1JLVqJQqMiItZsE8ZO07gMHhlT6LgCiFNc67GujgT/QZuO45NOOCvrFmusyIGnzUumI80kdG5ULcl6hM5NeapaOm8POMGoF5sLZSbN0CLVmXzO9n4Tcd0g/Qgd+/glS+Bt53rBhL957w3Sj9CxjzO5A952rjdM+Du8V+SiK9CweW8Tfsl9b9uF/7kin1DLFXnhP//8n+/JGFIj3LGxtvJjbdaH+Df3MfWKnK1CHbtEihamYsTPLyGqd1brgMKjldyq5GhSek4hZEh8uMeQe5jLVEx8/JLt8LCCoWgaSZKmuJod6p4hNOdhpqPP3/ndlRHoW8mbwUcVfHYye416z8lmskiSQzEwjwMQUFcmeyFu1yfQiKSGBYB2EAANIeNcvUDI2ohTSTK9IvEfqCu3XJHQrA/wb+5j6hU5x9QySRTpjw/0vSLvrNYBhUeVvFbJUaQ01UMUQ5WOWYnew1ymYtrjTK6HRxUMTyiyv+IYV7NDq1sltGwEJXDAySICxMxJIK/1imSRKAdiYE4XCICVTcXL6xPQZVLDAkA7CICGkGmuXiBkfTVRkmSvyI9u5JQrMgjAUyBkYO5D6hVJsicmUdT5mHeyGDsa3lmt3SLyciVHzqCoh6heVz+B3qNioUJDT5KxH16Rg1DY1lmubodWt0o4+qFtZREhYkr5WStJEnrNeo/JZrJIXgdiYE4XCICVX/amuF0fppFJDQsA7SCA8hrm6gVCykacwRD91No55YpUk4G5T6lXZC9IpKjfxFM7Gl5brd0i8nYlx7TASag7fg/AAkJHe0Xuh0fUEsBWWGSOq9mh1a0Sjn5oW1lEXsQcfphrvSJRJMv5iYE/XSAAVubj5mXRptUQpIYFgPZTAIMMc/MCIVUjzrpAtUC/xIJ29lZ+JMn6Av7NfUq9Ikk6xHhFcvjHU5a+s5oGlYaiSyDEMhUupUioRpUElPF7AJYq9PRkatbDk1NoiygB0SBpkKvYodWtko5+altZQohYMqPCvtcrEoVEV+XpYrF1ZVPx0lHVBwSpYQGndmDNIMPcvEBIasRpJKlekVc/efPTo6PcrhukTNYH+Df3IfWKhOfH4dWBFIow3kZC7qzWaRFpJhGHCUmgKnJK00BUQ2aNclX2sAo9PZma9fCkFKbE9Fcc5Cp2KIOhqT0n6ehXJcWN8oFPoGhGhX2jV6QYllNjYE4XJaSuDPZC3HwhSI0J0AMg01y8QEgMhJBUDdH+n6Mbw5f/4KmsckXyZH3TDMx9SL0iSTrEJIpgHy4ld1brtIi0Eoh3RqQ0DEQVBPRHXK/iKWpq3gAePiyjSsDWKmmQq9ih160Sjn5Vgt0oIUAsToUNP6dWoHpTAzEwpwsk1ZXJXohb0ah5nRgWCSmv9tPRASVCUu0VqX26hX9YDrkiZX/DqX9zH1SvSLyOt0kUJefOau0WkfcqOYqUiqcc/PkU/jlNYw9zvYqjsx8e7lFRJWQrvNma42p24Fil25VM18f4pMNlFRN+gH2hV6SYU048ZXy6ogA+ATELRbth2Vy9QEhQEiVRBzsV+D7PQGRMf8NABuY+nF6RdxQlYfPSCSFjg6rAlIphOVFXYw/zPmN09sNDDWrSyPgkm+NqdoAxhRfh6EPbykLC5fR0E0jyommah2JqMb2IpZk4LAdOmTldIAB85oh7w8GX5MGDEcYZwiJBwGkj6wElUZLuFfnZHfxL1XiFj/WBISgJZGDuE+oViRLwvWVJFMGrMim5s1q7ReTdSo4hkzgsJ+pq7GEuU3H0h/fDq4NKa9JIkDTH1ezQ6lYJRz+1rfTK0n8k/AQ7Pf8Fqt6poZkskuVADMzpAgFwFEzFS1dkUtMCxFBeA5urFwgJSpIk2SsSvivcfSeLXJG5vyGWOgNzn1GvSJIOMY0iePdcPLT0ndU6LSJjwZ9ayx/TrVqi4kAQUvqSBYQoqiCgCNV7AJYa8uLJ1OyHJ3dKmBLTX3GOq9mh060SWjaSEuhGCQFiyWmCfa1XZAjGISedpXy6MCGwcrWX4hZwlKSSSY8LAO0ggPIaxhpSRKIAsBHiDo04jSTqFal+8dGd/HJFssPK+Df3KfWKFAkZEymCuIjx0NJ3VuuAAu5WcuSUyhqNP3KqgCrU7kFYqtDiydSshyd30GlRRH/FOa5mh063Sjz6ZYobJYSIMX6EfbVXJBlV5UAMxOmiTpi0sql4OTpq6QLpWQGoHbJYG0ImNtYQOLwkAGw84h4CYSR9D3pF3le0bBOwdmk7H3ivyAtuPP6SK/KyolTHmVy8dHPfxufdK/KGG7/p5/GKKSY7H8DWne3nA/iQekW+txtPtp237cL/XJG/1HpFXvjPP//nWzLqkZPh44ZfoAgfNOKrH7+JuDe3tFckypxsKdinOyT6og/AwEM+GiuBhS9XrsgOqGTHL9Ean7arbVPkhUq0R3VkI/dE6Ko8agKl3MbHdyyBR0poX9EjEvycAozL3u1cuegKw0xWQMCMF1CE8Ul7RV6o+CiQ0CMLAJjkg5K36hWZ2fXzgSJ8IAB65QH+zS3tFYkyOyPD8I3Ngl6R9kr0w0apWLkiO6BSHWdSbXzeroeh2ZELlSjSC5CRK0qIugiaQCm38TGLW+CBElOD0dRUnAKMy4ISWAYEtKkX69+Jpk0LBMx4AUUYH7RX5IWKjwZJfQIQAJN8UPK+vSK3xem1HWO+kFWeiw7IwNzSXpEo008wjZvQkVnQK9JWCXLNGYuVK7IHqo8lVEVvPGzHcuiFShTpBeTIFSUUuiwnndRyrVFr4L16PYZ9qyRXU3EIMC97sXMlFLtIdGmBgCEvoAjjA/eKdGwIJJ5Ig6Q+AQiASD51zXynXpG237PIFQkClOGQgbmlvSJRZuv1vXXBgl6RtkrIa85YqFyRHVCSPnFz48UMipRTPyd9ZOQyQl7csGVychtGrYFnMMG8bExODwE+lyUletrUQ7GLhKVlWjPOeAFFGJ+zV+SNio8GCT+yfPIB0jv1ijT9nkWuSBDwYslOe56BuY29IpPM3O+RnfBdZuCDJ6j37+eFHM0KpvFhoXJFNkAR+sR11WG70LMRNzSyqqMycn/GVXlUBTq5DaO2wAMltG/kikj+MwSYl61KYE8Q0KcOxS4QmpZprjPiBeX2gXtFGjYJgBRwTnlkAQCXfID0Zr0i9cvh6RkowgcCXrgYGZjb2CsyyTT9HqHFYrjNQNCg7PlVBnR7kCBhkgFxpNCP0z1I7qymQRHaxHXVaTvqakiCDOb0SsUth3Qx36pAK1cbtQUeKKF9QZKpqTgEmJetA3uCgD51KHaB0LRMw7gRLyi3z9kr8kbFR1HsMzyy/kcnHyC9Wa9ISwTkHHJFggCFDMyt6hWZpzqKWtHQfB0es8NZHsVzo1JZRoBfG5UE7LsDxcoVKUEx2sR11WE77GpIggza9KrLKVd5TI01ags8UgIDkkxNxSHAuOzVzpVQ7JIz4wUUYXzOXpE3Kj6aYp/wyAIAJvkA6TWDyzoby68ygBIhie4N0nIljp3e3bkXQoZ/c8t6RfLLhUgGYdi7DzvHPOJkjnQWVOPDYuWKlKDS0QXpVSVG1+GW6i60htQKAEJk2VSiUOkPBFa5Q7MJHvwqXZJENv44PQ24LIuvAHWZsHBSXVXglPzGgBfs3gP3iuywARIeSX0CBJHJK4L0msFljY3wrhKUREl0x4KWr/YNBwSG7T5kYG5nr0hWbCbsuAyjTQQGKwqm8WGxckV2QKVB5D60XEtA8wzT5nRSREYuH38e4Y8JTHLbsw+eqcFoaiqOAS7LXu5cWSwsLdOaccIL9PCBe0VKNhhKIwBIwBOglfwwg8tGG1kPKImSaCy3fVNea+KLDmzdAxmY29krkhVDMhg7xzeXHbadjp0S3G0aHxYrV2QHFND+U2CKaotviCZOxgXTBqEFGWTknoO6WNU1gVquNWoNPFBS91U9IsHpIcB12cudK7HYJaJLCwQMeQG5fc5ekTcqPhok8ARoJR+UvFWvSMNffM31DSrCRwLmFftZ7wzM7ewViTLpX8KoF3e/2KppxEmIvpcVsMUxRHtUjQ+LlSuyAyoWoc4WE5G2w66Gh1eiojriyKWZHTndVUtgAq1c/W9bA6+aBvuSJFNTcQww+H21c2XRvs3TAgFjXtTcPnGvSM3mBMACDJL6yCoAZPKrkrfqFWn4bsfQp1ftT4gAckwWwL+5nb0iUbHt9zhbbWoecfLeUIqsPuFCpkd7RBKCguWKFKDmBh7hQXXIL0iSGZKshtBosAKg0PKUhbSEqAsHBNrlWqO2wKumwfamRyQJGAQMy97sXHnAfqpp0CI5Q15AbgucK9KyAQAgQCGpUx71reTv/aYsV2QdY3OJ0LSN2gHvDuBdO4zCfnw1V2QdY3OJ0MSN2gHvCuBdO8zCfnw3V+SbGbUQ3gPB/j33vW0X/ueK/KXWK/LCf/75P9+SsVw2yFtG1lZ+1KLx+Tf3Wdwb5CkEABx4CBjpP7+EqN7ZaAQUHsjEXvHUXFCq0O1EWbB2RHbGKBuzvejGZDs8ZZ5pHtkHLHMdyuyHquCkKYEYbCka0kq0iYjCE0nbomFzU00HXeopYFpEms6Oq3tFzgpAkDnpgnQeDXXjlTkx1XPt13uPhtPc3HIM9M+zCAD8m/so7g0yCemHbZGHgJFLe0WOgMIDTo51yR2BSZKFa/cwZkPVTMpzz8jiwIish2fMA0lgdBswiXNIcibmgpPc9LCKTLYUDWcl2kRE4Q4rtC0KOjdgOugyh8q0iDSdHXf3ihwVgCBj0iXpPBrqxitzYqrn2plI73jOytr/7tpABuY+iXuDJCEkV6S3gJFkMe14aaMhUL2RFwz/TZO6nSQL1maXTFCXxrI5y6EDI7IfnjEPJIHRXcBSaAjo0aK4mhXawZRADLYUDWclZx2IwtPG28LRuSGjqi51qEyLSNPZcXevyGEBpp4f9E+S0GOgLr3CHfPx0q6fj3soiVLA1LW5z+PeIIsQLgfoIGCkGdrxxkYjoCQjXXLHwEQWPeRJylE2U7v8+f374UXzeMBoC5g7NepXErLXqbpJZLClbCgrMevkCI2wxYzPDQzoEocqnKkokkja3StyWABMSDohocdAXXsVTkzRJu/PB06xbWJb5UclIODe3Gdxb5BFCJcD9BAw0gwsfWOjCVA6esURaYOpUOu4ooet7owoG9N+OnBv1sMz5oEkMHoE8MCCXvIrGR1R6dHxYkMiky2lvRttAqL37g0yqahGkS5zqGoxR1WTVEpa3ityWEBNXkg6I6FHQd141TgxCz0zQvibZ9hYW/kxVePzbe5Pf2+QnSHhAF0EjPSZK7IPyoBWcZiZBFDRGFf0UHZnFINpPx24N+vhKfNE88ge4HA0SfZDGR2R9KiqpHMcbSktaBPouXdvkElFNYqUmENVXT2sSyKlpOW9IocFlORRnDUSehTUhVfqxNSVDJeW+uond7LIFSkFTDMw98e+N8jmQAF6JwEj47m0UReUBaXiIyLaHDZfYjjthwP3Zj08ZR5IAqP7IyZqTbIfWgJOlsVIZLSltKBNlSg/kawtQ1ONohGHSrWIJBBJu3tFDguA5NWkJ8LoN9SFV+rEFM/V276vRx2DlAKmGZj7c98bZGPKvy8wdsDIRFzaqAsqmg7EEkCFniTLtDlEaXpOBy7PfnjGvCqJjG4D5uEmiVAUSOyd7+CkyCLDNhWi5xSWr6eDsIVH5SYaBUrMUwBcNTVJiaS7Y9ikp/ewgAqSIqiQ0KOhbrwyJ6Z4rv5Z+Vw3SK4myPBr7k90b5CrhoQDHDlgZCrubDQCKh4yNqgKMUmWaXMopInnworZD8+YZ24Ssgc4NsHDehOIvVMPiDxtefBBmwpCmlL5UtgSppEb03zUPAWMq2RAOMGx4VQNCzCPeoWEHg1145U5McVz06eP3CIbCZKJF/Br7gO4N8jekHCAHgJGJuDORiOgFLSKkzcfQzWpijxRlmlzKKSlAX2HA/deHvbDM+aZm4TsAYbXCrSB4kw5Fw+9IFLYUlrYppMoj7MlkvC5ITeqEnWowFUjkkja3StyWIB51Csk9GioG6/MiSmea3/Q+5eG341/l8O9lR+VS1/o3dyHcW+Q2HRRSHMRMNJprsgRUEboQ2v5Q6JVy1TkdZKsuna3O6PqGVkcuDf74QnzRPPIPmAS55CEQCRjhXmor8nQpzPaUjyElRBxereR/lpvUzkyjM4NmV6VmEMVXb1ORTJJd8eyKakaFcAgddKn6Twa6sorc2KK52qk8aNcrhukEhDwbu7DuDdIEkJwEDDSa65IAUrPSJfcEZmwLFi7352RZJdsFwfuzXp4xjzRPHIAsBaR8/Cs1gNOnuzP1UBksqV4ZCthKlF+2kSZQBpICA+rCjIKPqNKjGoRacjseJu6ZlNTNSsAQOqkT9N5NNSFV+7EFM9/nZArUpN2Q9GyNXNpo1lQSEQkx+R27gu9/Pkla+HdBLxyq2X7GE2uSEXavCI4zqTnXJHdweNMFuO6Qd7+nMmt8C4A/uvu3iDtxJ4PYP/O8/AsXrqKv5cDv/HvDfLC/1yRT6jlirzwn3/+z3dmnjtynhnBNH2ENoOAd3Pfh16R6i4eZYrIuG7IPWTzxEU3AtvhqaNILphksrqSYoiI2cpUPgwBLRrWSuJXP7YaPzuZTwXqPaZrprltSPWsFBthsktmHMDoIqlhAaAdBBDajg+qqKTAj7CNAKlWzgTt1/uXnGf7gWp8IADaDALezX0lekViD0SpAoZqF9MNvYdqnjjOERXXwzNHkUQ5TFZXCkSNiNoKNgeRKaBFw1pZsWEANvSKxD6OoNY8K81GlOyamdEJ6DKpYQGgnQRUNsO9Ig1+gm0ESLVyJhDwzNoZ5oo8XbKTskwzMPeN6BUZNGhDB11EdEPvkfX1IKdNz3545ijiHFscTJLVlQJRWy2qrcx1RYaAFg1rJcEGH5b0igTTf9T6Z6Xc6HQVMjMmAl0mNSwAtIMAQut9YG0gQL1kiK+2yvgt1w0SE5BgcoRMckWaNoPTDMx9G3pFFiGtjYhu+D2qPkXcJj374fFRhPhjzpNkda2BILPDVqryoQlo2RBWVmzRlSW9Is31OPKz0myUtFNmRocXHGkcPHCzkrgEsRnuFZnws1wlgKntdcJ3ecc0fXz9BIDh39yXolckDiYsGolDGNMNv4donoitGJ/18PJRPNXjpi5ZXWnd0mpRbVU3p/ViQIuGsLJii64s6RUJpkP/Sn5W+o0g2SDbT9V/RpAaFsDaDzGCjdAkL87L4K+wlQCiVlw3SFNmBM+kpo+hEx7g39wXolekSJoMLRjRjcYeVR8pELZifLbDc0eRXKHFZHWFQEBE0la28mEMaNGQVgI28mFJr0gwvao1z0q1EUipsn0h2uSMCbAT2QxeF6TCn1dS+MVM2Nb+Ozp6/99/9CirXJE8E940A3PfiV6RYtwhMrSg1o2ZqfrkQyAhanzWw6MzaS6qMV1dQTG0WjRbta4rErpRNKSVxA/nPBJhUO/QgOnnljIYcSNOdpVdMpDNcK9Igx+OcxZAZdPrBmm41lmZ5IpUHexcm/tW9IpMzRfRJ76wYu+G3wOEygE4Fm8BL1+PoKxQurqy4ohc1EtUndzKh7SSYIMrS3pFguncv9KWmNP35Fi6G8zG+8DaWi8ZAFsKUGaCivtva3XCC2Rg7vvQK1LUZCRD1d6Nxh6gD9WPxlp4rRaRRGq6uhrFZqvWdUWWD2slYANXlvSKBNNBrQlG3IhzAhr8sOBfEofZeB9YGwgw+KMwid/McPetbb/0OuEFMjD3TegVmR6ZljFr74bfQzVPhFaMvzzsh8dHEV720Ei6uoJiiAhcH2PrxKeAlgxtJWCrrsQXgjJVL5Bomwmmg1rzrEwbMQaS7YpMalpAHGbT8sH0k1T4q8wkwBZwU+GVS9tPf+r7GsCbpo/8GhRO3Zv7TvSKJDkQURaJQxjRDb9HFcp2AKAV47MfnjmKMhJiwrqC4tpqMW8lKx+mgBYPYSXBrq5s6RVZTRf9K9EosREkm2Q7wJfTHBcADwdzoZINHwA/ClD44TgLAUy2mAmmWJF55YqkOygMuDf3hegVKe7ikboKNtww+4CBN8OnFeOzHR4dRcuFahzjyhSTVItiK1VWMga0eAgrKzb4TK4lvSLd9TiKYKiNSrKphuP9iehC4GYFoHYQQGoT1YeqDQSIlww6zkIAqIV7g/wNUa7IjhXzsdkG7ybXXwC9IltWzMdmGbybXP/i7hX5Flb8xu8VeeF/rshfar0iL/znn//zLRn1LKTywjDd0llb+bF2IET8m9vZKxJlzrUUhPNjpGLRB2Cc33FjSKyqE9n5/JK69J3VOqDwsCUDH/2hDcagAqCHeo1JqG4+SNqVJnzWsPhwWdIdP8fjMjywqFpDSsDGKomVQI0JYOJmvq0k77BHlUDFwx7+E3YZGM6K8gLIE3DRo/FBe0VKNr3LgYRHQo1sZUMhRjZiw5JXrkgtL8IlcgHPbqlsq/xoGggC/s0t7RWJMsWI4odjs6BXpCKxqk7k0l6RPVDN/Xj6jToYkwrYAes1RqHdm02UtFs5miaJ6fMWL8MDi8AaUAJX+siStEw6CWCrISLsQKaxVIJdKnv4C+wiMJ0V4wWQJ+CiR+OD9ooUbORJQ0jwSIDIwoMFlJAhcsOSVa5IHsBu+EQvtKBH8DszTQPBQAbmlvaKRJmNEc5PtkZmQa9IR2JTncitvSJ7oPpYZFX4UKsqeIczauXbM7LQ5s0mStpfOkkCQHdw7DY8sAisAdNeNkbX5mqtKsBECrJCAngH7Dn3cKagi/9gWASms5K9YPIAvEqiAD9nr0jDRp80gASPhBrZ8mCBEKs6fvnmigSufiIudlYuuSIVMjC3tFckymy9vrcuWNAr0laJBXUiEwBL31itA0rSJ56X0lRID3ByNDz1sy5UNx/MdsVu7kAA6A6O3YOn7k1RRpRgIpNrhl4ZAlGe+iArTECv89ohIO/jD8UuAuNZCV6kAaVVEgX4OXtFGjbppBkBP4+EFFnT+ZM2IWSSK9JN+F5xsbNcAjf5qBoIBvybW9krMsnM/R7ZqfJlJkB4znn/fmaIsU3hloIL60RKU465sVoDFKFPPIZRVcHTMooNuC60d7OJekjRLOFnQHdw7DK8l0XRGkP2R3JNKpGQ0qt1i08u6oGOcd0B3iD28UOxS8B4VoQX8CALwA95FODn7BVp2KTbIpMCTGTPEe062YYlp1yRBp59z8jayo/QgRDwb25lr8gk0/R7hKaLwTUDQYOy51cZ0O1BgoR31Yn0mStSgyK0iecwaiqIBxav0SC0f7OJemFaiiUYCOwXHLsMDywCayzZH8E1ooQgC0jqpocohmNcd4BYD+CHYpeA8awIL/BBlo8WBfg5e0VqNq3LgaxIzsjScIiLFLQop1yRMeSSK5JfX8JpBuZW9YqMAx6j1mBIzBZcdcVzo1JZRoBfGyeJbXUineaKlKAYbeIijJoK4oHEazQKJVkg4GXXlYH9gmO34YFFYA1RIi46Y5XE19AogDYmwnB5IGmHIn9goNjnAvAgK8Bdj8a36hW5btJJMwIAySuyOBBiYoMW5ZQrMqsbEWS80cRABuZ29YrklwsREcKwdx8Mi0yAoCxHOhOVxO06kam5tJoElY7u/H3F+EqhDU1SdIMus1CvGP3B8KU7vsanzZRjt+GBRWCN0rRDBhdX5BVg446osEMVwzGGrcRLvsBPORduVPIFeHTnFPasvSITDX3SGAmdvTRVSWETLZqO6hFgSwHhlGX0Jf1fHA5kYG5nr0hWrGYeIhlORICyogAkLteJTM6d1Tqg0lB6H1IYzckb+ZDVpE3dbKL0B0S9SxcWCHMbHlgE6SZNI+jbfuTjTqtUa8ASmHMTGo+/UAxkxXgB5E/g0p1n7RWZaOiTZh4JEFlQHdt1skVZ5Ir08/Snt5z+Qf1fTwhkYG5nr0hWDBFh7BzfXIpFjg6iAtxNJDbUiUzJndU6oID2nwITYTQnbwRFYdfKILR/s4ncL0oPu62aChBACwTHbsMDi8AaS/ZHkMSUiNKQAmp1i8MVw3mGHY5fmR3BD8UuAsNZyV6EABx6cShYz9kr0rBJJ80IACQQWRhQcrAJZyWXXJGmG+QfbOGG+rPeeys/kgyEAffmtvaKRJn0L2HUi7tfbPHcgBB9Lytgi2OI9ggkdtWJdJorsgMqGkUXZbCvWqpCqCPZBKE0BqFFFgpIdhGgXKAr+BMqioCkOzh2FZ66N8XGlP2xSiKNZfUi3vrIhIhMMRzjooReXY5lLH5W7GIwlhXnBZGv7/ZMj8YH7RVp2OBJkwKopql4qlUlkETWopxyRZqOyfUs/MV7VdZe6SN1IAy4N7e0VyQqtv0eZ6uNkhvw3lCKrD7h+qVHe0QSm+pEes0VKUBp9InHMEKQQaZCeFDjNXKh/ZtNRKGWgw0ZwxmS7uTYVXh4b4pkjZ79EYPPGtsroJm4hIhScT3GtFX9Scq5TAO/KHYxGMyK8qI+yCpwlATBfM5ekYKNPWmwJT516hB1mMqGbFh+vZYr8r6iZZuAtUsjFys51jE2vQkdcWwNvAu8nJqZgP34S67Iy4pSHWdy7dKpjjN54yWu8yZ0xrEt8C7wcmqmD/sxAB6vmGKy8wFs3RnPB/AGxN/DsYXwSlbs/6/pvG01) **Understanding the cumulative-layerwise report:** | Column | Description | | --- | --- | | Source Name | Output name of the current layer in the framework graph. | | Target Name | Output name of the current layer in the target graph. | | Status | - There are following possible values:
-

  • SKIP - This layer was not debugged as it was either MATH_INVARIENT or binary op with one constat tensor.


  • SUCCESS - Layer debugging was done successfully.


  • CONVERTER_FAILURE - If converter is failed at this layer.


  • QUANTIZER_FAILURE - If quantizer is failed at this layer.


  • SNPE_DLC_GRAPH_PREPARE_FAILURE - snpe-dlc-graph-prepare error occurred at this layer.


  • QNN_CONTEXT_BINARY_GENERATOR_FAILURE - context-bin-generator error occurred at this layer.


  • SNPE_NET_RUN_FAILURE - snpe-net-run failure occured at this layer.


  • QNN_NET_RUN_FAILURE - qnn-net-run failure occured at this layer.


| | Layer Type | Type of the current layer. | | Source Shape | Shape of this framework layer’s output. | | Target Shape | Shape of this target layer’s output. | | Source(Min, Max, Median) | The minimum, maximum, and median of the outputs at this layer taken from reference execution. | | Target(Min, Max, Median) | The minimum, maximum, and median of the outputs at this layer taken from target execution. | | <Verifier name>(current\_layer) | Absolute verifier value of the current layer compared to reference platform. | | <Verifier name>(original model output name) | For each original model output, absolute verifier value of the original model output compared to reference platform. | | Info | Displays information for the output verifiers, if the values are abnormal. | #### layerwise Snooping This algorithm is designed to debug a single layer model at a time by performing the following steps: > > > 1. Get golden reference per layer outputs from an external tool or, if a golden reference isn’t given, run framework runner to collect reference outputs from all intermediate tensors of a model in fp32 precision > 2. Iteratively execute inference engine and verification to: > - Collect target outputs in target precision for the layer under investigation and final model output by quantizing the specific subgraph and running rest of the model in floating point > - Compare intermediate output from golden reference with target execution Layer-wise snooping provides deeper analysis to identify all model layers causing accuracy deviation on hardware with respect to framework/simulation outputs. This algorithm can be used to identify kernel issues for layers/ops present in the model and for sensitivity analysis. ![../_static/resources/qairt_layerwise_diagram.png](data:image/png;base64,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) Note Currently this algorithm is supported only for ONNX models **Debugging Accuracy issue for models exhibiting Accuracy discrepancy between golden reference (for ex. - AIMET/framework runtime output) vs target output using Layerwise Snooping** - - One of the popular usecase for layerwise snooping is debugging accuracy difference between AIMET vs target - - Though we are creating an exact simulation of hardware using tools like AIMET, still it is expected to have a very minute mismatch due to environment differences. This can be because simulation executes on GPU FP32 kernels and is simulating noise rather than actual execution on integer kernels in the case of hardware execution. - If we have a higher deviation between simulation and hardware, then layerwise snooping could be used to point out to the nodes having higher deviations. The nodes showing higher deviation as per layerwise.csv can be identified as the erroneous nodes. - Other usecases include debugging Framework runtime’s FP32 output vs target INT16 output deviations. **Sample Commands** # Example for executing cumulative-layerwise on a HTP Android device hosted on a Linux machine: qairt-accuracy-debugger snooping --algorithm layerwise \ --backend htp \ --platform aarch64-android \ --input_model artifacts/mobilenet-v2.onnx \ --calibration_input_list artifacts/list.txt \ --input_sample input_sample.txt \ --output_tensor "473" \ --comparator mse \ --quantization_overrides artifacts/quantized_encoding.json \ # Example for executing layerwise snooping on a WoS HTP target: qairt-accuracy-debugger snooping ^ --algorithm layerwise ^ --backend htp ^ --platform wos ^ --input_model artifacts/mobilenet-v2.onnx ^ --input_sample input_sample.txt ^ --comparator mse ^ --calibration_input_list calib_list.txt # Example for executing layerwise snooping on a QNX HTP target: qairt-accuracy-debugger snooping ^ --algorithm layerwise ^ --backend htp ^ --platform qnx ^ --ip_address 192.168.1.1 --username root --password "" --input_model artifacts/mobilenet-v2.onnx ^ --input_sample input_sample.txt ^ --comparator mse ^ --calibration_input_list calib_list.txt # Example for executing layerwise snooping on a Linux-Embedded HTP target: qairt-accuracy-debugger snooping ^ --algorithm layerwise ^ --backend htp ^ --platform linux-embedded ^ --input_model artifacts/mobilenet-v2.onnx ^ --input_sample input_sample.txt ^ --comparator mse ^ --offline_prepare ^ --ip_address 192.169.2.1 ^ --device_id 357415c4 ^ --calibration_input_list calib_list.txt # Example for using external golden outputs dumped by any frameworks like ONNX: qairt-accuracy-debugger snooping \ --algorithm layerwise \ --backend htp \ --platform aarch64-android \ --input_model artifacts/mobilenet-v2.onnx \ --calibration_input_list artifacts/list.txt \ --input_sample input_sample.txt \ --output_tensor "473" \ --comparator mse \ --quantization_overrides artifacts/quantized_encoding.json \ --golden_reference /path/to/goldens # Example for using external golden outputs dumped by QNN: qairt-accuracy-debugger snooping \ --algorithm layerwise \ --backend htp \ --platform aarch64-android \ --input_model artifacts/mobilenet-v2.onnx \ --calibration_input_list artifacts/list.txt \ --input_sample input_sample.txt \ --output_tensor "473" \ --comparator mse \ --quantization_overrides artifacts/quantized_encoding.json \ --golden_reference /path/to/goldens \ --is_qnn_golden_reference Copy to clipboard Tip Refer to inference-engine sample commands to understand usage of different runtimes/backends **Output** Below is the output directory structure: working_directory └── layerwise_snooping └──2025-07-07_05-58-26    ├── all_subgraphs.json     ├── encodings_converter    ├── inference_engine    ├── layerwise.csv ├── layerwise.json    ├── plots    ├── reference_output    └── sub_graph_node_precision_files Copy to clipboard - framework\_runner directory contains timestamped directory that contains the intermediate layers outputs stored in .raw format just as mentioned in Framework Runner step. - snooping contains each single layer model outputs obtained from the inference engine stage stored in separate directories and the final report named layerwise.csv which contains verifier scores for each layer model. Users can identify layers with the most deviating scores as problematic nodes. - layerwise.csv is similar to the cumulative-layerwise report (cumulative\_layerwise.csv), except that original outputs column will not be present in layerwise snooping. Please refer to cumulative-layerwise report for more details. The report is also dumped in json format in layerwise.json - plots directory containing html plots of verification results of each layer output. Snapshot of layerwise.csv: ![../_static/resources/qairt_layerwise_report.png](data:image/png;base64,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) **Understanding the layerwise report:** | Column | Description | | --- | --- | | Source Name | Output name of the current layer in the framework graph. | | Target Name | Output name of the current layer in the target graph. | | Status | - There are following possible values:
-

  • SKIP - This layer was not debugged as it was either MATH_INVARIENT or binary op with one constat tensor.


  • SUCCESS - Layer debugging was done successfully.


  • CONVERTER_FAILURE - If converter is failed at this layer.


  • QUANTIZER_FAILURE - If quantizer is failed at this layer.


  • SNPE_DLC_GRAPH_PREPARE_FAILURE - snpe-dlc-graph-prepare error occurred at this layer.


  • QNN_CONTEXT_BINARY_GENERATOR_FAILURE - context-bin-generator error occurred at this layer.


  • SNPE_NET_RUN_FAILURE - snpe-net-run failure occured at this layer.


  • QNN_NET_RUN_FAILURE - qnn-net-run failure occured at this layer.


| | Layer Type | Type of the current layer. | | Source Shape | Shape of this framework layer’s output. | | Target Shape | Shape of this target layer’s output. | | Source(Min, Max, Median) | The minimum, maximum, and median of the outputs at this layer taken from reference execution. | | Target(Min, Max, Median) | The minimum, maximum, and median of the outputs at this layer taken from target execution. | | <Verifier name>(current\_layer) | Absolute verifier value of the current layer compared to reference platform. | | <Verifier name>(original model output name) | For each original model output, absolute verifier value of the original model output compared to reference platform. | | Info | Displays information for the output verifiers, if the values are abnormal. | #### Snooping with ORT/QNN-EP The QNN Execution Provider (QNN-EP) for ONNX Runtime enables hardware accelerated execution on Qualcomm chipsets. It uses the Qualcomm AI Engine Direct SDK (QNN SDK) to construct a QNN graph from an ONNX model that can be executed by a supported accelerator backend library. OnnxRuntime QNN-EP can be used on Android and Windows devices with Qualcomm Snapdragon SOCs. For more details on QNN-EP, see QNN Execution Provider <[https://onnxruntime.ai/docs/execution-providers/QNN-ExecutionProvider.html](https://onnxruntime.ai/docs/execution-providers/QNN-ExecutionProvider.html)> This platform is integrated into the Accuracy debugger so that it enables developers to identify accuracy issues by comparing intermediate layer outputs between a reference model (ORT-CPU) and a quantized model running on QNN hardware accelerators (ORT-QNN-HTP/CPU). ![../_static/resources/ort_qnn_ep_design.png](data:image/png;base64,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) Accuracy debugger snooping algorithms help in finding inaccuracies in a neural-network at the layer level. The following features are available: > > > > > > > > 1. Oneshot snooping > > 2. Layerwise snooping (including mixed layerwise snooping) > > 3. Elementwise comparison metric, which is supported under both oneshot and layerwise features > > > > **Setup** The following are required to run Accuracy debugger tool’s ORT snooping features: > > > > > > > > 1. Install Python 3.12 version > > 2. Install following ML packages: onnx, onnxsim, onnxruntime and onnxruntime-qnn (>=2.0 version) > > 3. Install following regular packages: pandas, pydantic, aenum, pyyaml, psutil, absl-py, paramiko, plotly, matplotlib > > 4. - Set QAIRT SDK environment variables as follows (needed for using Accuracy debugger tool): > > - 1. $env:SDK\_ROOT=”<SDK\_PATH>” > > 2. Unblock-File “$env:SDK\_ROOTbinenvsetup.ps1” > > 3. & “$env:SDK\_ROOTbinenvsetup.ps1” > > > > **Usage** > > > usage: qairt-accuracy-debugger snooping_ort_qnn [-h] --reference_model > REFERENCE_MODEL --qdq_model > QDQ_MODEL --input_sample > INPUT_SAMPLE > [--algorithm {Algorithm.ONESHOT,Algorithm.LAYERWISE}] > [--comparator {l1_norm,l2_norm,average,cosine,standard_deviation,mse,snr,kl_divergence,rtol_atol,l1_error,mse_rel,topk,adjusted_rtol_atol,mae} [{l1_norm,l2_norm,average,cosine,standard_deviation,mse,snr,kl_divergence,rtol_atol,l1_error,mse_rel,topk,adjusted_rtol_atol,mae} ...]] > [--working_directory WORKING_DIRECTORY] > [--output_directory OUTPUT_DIRECTORY] > [--golden_reference GOLDEN_REFERENCE] > [--set_intermediate_layers SET_INTERMEDIATE_LAYERS] > [--set_cpu_layers SET_CPU_LAYERS] > [--log_level {ERROR,WARN,INFO,DEBUG,VERBOSE}] > > options: > -h, --help show this help message and exit > > required arguments: > --reference_model REFERENCE_MODEL > Path to reference ONNX model. It can be a QDQ ONNX > model. > --qdq_model QDQ_MODEL > Path to QDQ ONNX model. > --input_sample INPUT_SAMPLE > Path to text file containing input sample. > > optional arguments: > --algorithm {Algorithm.ONESHOT,Algorithm.LAYERWISE} > Algorithm to use to debug the model. > --comparator {l1_norm,l2_norm,average,cosine,standard_deviation,mse,snr,kl_divergence,rtol_atol,l1_error,mse_rel,topk,adjusted_rtol_atol,mae} [{l1_norm,l2_norm,average,cosine,standard_deviation,mse,snr,kl_divergence,rtol_atol,l1_error,mse_rel,topk,adjusted_rtol_atol,mae} ...] > Comparator to use to compare tensors. For multiple > comparators, specify as follows: --comparator mse std > --working_directory WORKING_DIRECTORY > Path to working directory. If not specified, a > directory with name working_directory will be created > in the current directory. > --output_directory OUTPUT_DIRECTORY > Name of the output directory. If not specified, a > directory with name will be created in the > working directory. > --golden_reference GOLDEN_REFERENCE > The path of directory where golden reference tensor > files are saved. > --set_intermediate_layers SET_INTERMEDIATE_LAYERS > Pass comma separated node names or operation types > which needs to be debugged.Can specify node names like > conv1_output, fc_layer_output or operation types like > Conv, Gemm, MatMule.g., --set_intermediate_layers > conv1_output,Gemm,MatMul,fc_layer_output > --set_cpu_layers SET_CPU_LAYERS > Pass comma separated node names or operation types > which needs to be executed on CPU Execution- > Provider.This option is supported only with layerwise > algorithm.Can specify node names like conv1_output, > fc_layer_output or operation types like Conv, Gemm, > MatMule.g., --set_cpu_layers > conv1_output,Gemm,MatMul,fc_layer_output > --log_level {ERROR,WARN,INFO,DEBUG,VERBOSE} > Enable verbose logging. > Copy to clipboard **Snooping feature limitations** > > > 1. Models with dynamic shapes are not supported because the main module ORT/QNN-EP doesn’t support it > 2. Layerwise snooping limitation - Supports only w8a8 qdq models that passed ONNX checker validation > 3. A list of supported ONNX operators can be found here <[https://onnxruntime.ai/docs/execution-providers/QNN-ExecutionProvider.html#supported-onnx-operators](https://onnxruntime.ai/docs/execution-providers/QNN-ExecutionProvider.html#supported-onnx-operators)> > 4. LLM Weight sharing - There is a limitation on 64 EP context #### Oneshot Snooping (ORT/QNN-EP) This algorithm is designed to debug all layers of the model at a time by performing the following steps: > > > 1. Dumps intermediate layer outputs from a given ONNX model (FP32 or Quantized) using ONNXRUNTIME with CPU Execution provider > 2. Dumps intermediate layer outputs from a given quantized ONNX model using ONNXRUNTIME with QNN Execution provider > 3. Compares target outputs(#2) against golden reference outputs(#1) > 4. Supports selective layer analysis based on layer names or operation types > 5. Supports dumping of elementwise comparison stats This algorithm can be used to get quick analysis to check if layers in the model are quantization sensitive. ![../_static/resources/ort_qnn_ep_oneshot.png](data:image/png;base64,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) **Sample Commands** # Oneshot basic command python qairt-accuracy-debugger snooping_ort_qnn ^ --algorithm oneshot ^ --qdq_model test_U.quant.onnx ^ --input_sample input_list.txt # Oneshot using a FP32 reference model python qairt-accuracy-debugger snooping_ort_qnn ^ --algorithm oneshot ^ --qdq_model mv2_w8a8.qdq.onnx ^ --reference_model mobilenet-v2.onnx ^ --input_sample input_list.txt ^ # Oneshot using external reference/golden outputs python qairt-accuracy-debugger snooping_ort_qnn ^ --algorithm oneshot ^ --qdq_model test_U.quant.onnx ^ --input_sample input_list.txt ^ --golden_reference .\goldens\custom_OLW\reference_output # Oneshot with selective layerwise debugging python qairt-accuracy-debugger snooping_ort_qnn ^ --algorithm oneshot ^ --qdq_model test_U.quant.onnx ^ --input_sample input_list.txt ^ --set_intermediate_layers Add,Conv_254,LeakyRelu_300,Conv_336 # Oneshot with dumping elementwise statistics python qairt-accuracy-debugger snooping_ort_qnn ^ --algorithm oneshot ^ --qdq_model test_U.quant.onnx ^ --input_sample input_list.txt ^ --dump_elementwise_stats "Conv_254=0;LeakyRelu_300=0;Conv_336=2" # Oneshot with debug logs and multiple comparators python qairt-accuracy-debugger snooping_ort_qnn ^ --algorithm oneshot ^ --qdq_model test_U.quant.onnx ^ --input_sample input_list.txt --log_level debug ^ --comparator mse cosine mae average ^ Copy to clipboard **Output** Below is the output directory structure: working_directory └── oneshot_snooping ├── 2026-02-16_16-57-22 │   ├── plots │   ├── reference_output │   ├── target_output │   ├── accuracy_debugger_user_info.log │   ├── elementwise_stats.log │   ├── oneshot.csv │   └── oneshot.json Copy to clipboard - Once oneshot snooping is completed, a timestamped directory is generated under working\_directory/oneshot\_snooping containing : - - plots directory: contains html plots of verification results of each layer output. - reference\_output directory: contains intermediate layer outputs generated by ORT-CPU stored in .raw format. - target\_output directory: contains intermediate layer outputs generated by ORT/QNN-EP stored in .raw format. - accuracy\_debugger\_user\_info.log: run log stored in this file - elementwise\_stats.log (dumped only when –dump\_elementwise\_stats is used), elementwise comparison stats are stored in this file - oneshot.csv: report for verification results of each layer output in csv format - oneshot.json: report for verification results of each layer output in json format Snapshot of summary.csv file: ![../_static/resources/ort_qnn_ep_oneshot_summary.png](data:image/png;base64,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) **Understanding the oneshot snooping summary report** | Column | Description | | --- | --- | | Layer Name | Logical layer name in the graph. | | Layer Output | Output tensor under analysis. | | Layer Type | Data type of the current layer. | | Layer Shape | Shape of the current layer. | | Source(Min, Max, Median) | The minimum, maximum, and median of the outputs at this layer taken from reference output. | | Target(Min, Max, Median) | The minimum, maximum, and median of the outputs at this layer taken from target output. | | <Verifier name> | Verifier value of the current layer target output compared to reference output | #### Layerwise Snooping (ORT/QNN-EP) This algorithm is designed to debug a single layer model at a time by performing the following steps: > > > 1. Dumps intermediate layer outputs from a given ONNX model (FP32 or Quantized) using ONNXRUNTIME with CPU Execution provider > 2. Iteratively partition each layer in the model as subgraph and execute these subgraphs using ONNXRUNTIME with QNN Execution provider > 3. Compares target outputs(#2) against golden reference outputs(#1) > 4. Supports selective layer analysis based on layer names or operation types > > > > 5. Supports dumping of elementwise comparison stats > 4. Supports mixed-layerwise snooping where certain layers can be chosen to run on QNN-CPU and the rest on QNN-HTP Layer-wise snooping provides deeper analysis to identify all model layers causing accuracy deviation on hardware with respect to framework outputs. ![../_static/resources/ort_qnn_ep_layerwise.png](data:image/png;base64,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) **Sample Commands** # Layerwise basic command python qairt-accuracy-debugger snooping_ort_qnn ^ --algorithm layerwise ^ --qdq_model r50_w8a8.qdq.onnx ^ --input_sample input_list.txt # Layerwise using external reference/golden outputs python qairt-accuracy-debugger snooping_ort_qnn ^ --algorithm layerwise ^ --qdq_model r50_w8a8.qdq.onnx ^ --input_sample input_list.txt ^ --golden_reference .\goldens\custom_OLW\reference_output # Layerwise with selective layerwise debugging python qairt-accuracy-debugger snooping_ort_qnn ^ --algorithm layerwise ^ --qdq_model r50_w8a8.qdq.onnx ^ --input_sample input_list.txt ^ --set_intermediate_layers Add,layer1.2.conv3,layer4.2.conv1 # Layerwise with mixed-layerwise debugging (setting specific layers to CPU) python qairt-accuracy-debugger snooping_ort_qnn ^ --algorithm layerwise ^ --qdq_model C:\Users\HCKTest\Desktop\skurnool\myspace\qnn_ep\quantize\r50_w8a8.qdq.onnx ^ --input_sample ..\artifacts\qa_qdq_models\onnx-cnns_resnet50_a8w4\inputs\input_list.txt ^ --set_cpu_layers Add,layer1.2.conv3,layer4.2.conv1 # Layerwise with dumping elementwise statistics python qairt-accuracy-debugger snooping_ort_qnn ^ --algorithm layerwise ^ --qdq_model r50_w8a8.qdq.onnx ^ --input_sample input_list.txt ^ --dump_elementwise_stats "layer1.2.conv3=0;layer4.2.conv1=1" # Layerwise with debug logs and multiple comparators python qairt-accuracy-debugger snooping_ort_qnn ^ --algorithm layerwise ^ --qdq_model r50_w8a8.qdq.onnx ^ --input_sample input_list.txt --log_level debug ^ --comparator mse cosine mae average ^ Copy to clipboard **Output** Below is the output directory structure: working_directory └── layerwise_snooping ├── 2026-02-16_16-57-22 │   ├── plots │   ├── reference_output │   ├── subgraph_data │   ├── accuracy_debugger_user_info.log │   ├── elementwise_stats.log │   ├── layerwise.csv │   └── layerwise.json Copy to clipboard - Once layerwise snooping is completed, a timestamped directory is generated under working\_directory/layerwise\_snooping containing : - - plots directory: contains html plots of verification results of each layer output. - reference\_output directory: contains intermediate layer outputs generated by ORT-CPU stored in .raw format. - subgraph\_data directory: contains intermediate extracted subgraph data for each layer that is debugged. - accuracy\_debugger\_user\_info.log: run log stored in this file - elementwise\_stats.log (dumped only when –dump\_elementwise\_stats is used), elementwise comparison stats are stored in this file - layerwise.csv: report for verification results of each layer output in csv format - layerwise.json: report for verification results of each layer output in json format Snapshot of summary.csv file: ![../_static/resources/ort_qnn_ep_layerwise_summary.png](data:image/png;base64,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) **Understanding the layerwise snooping summary report** | Column | Description | | --- | --- | | Layer Name | Logical layer name in the graph. | | Layer Output | Output tensor under analysis. | | Layer Status | Records whether layer was debugged successfully or not, if not successful then corresponding error will be logged under Exception column (last column). | | Layer Type | Data type of the current layer. | | Layer Shape | Shape of the current layer. | | Source(Min, Max, Median) | The minimum, maximum, and median of the outputs at this layer taken from reference output. | | Target(Min, Max, Median) | The minimum, maximum, and median of the outputs at this layer taken from target output. | | <Verifier name> | Verifier value of the current layer target output compared to reference output. | | Exception | When Layer Status is recorded as failed, failure reason is captured here. | #### Validate Encoding The Validate Encoding component checks tensor quantization parameters in an encoding file or a DLC file against a configurable set of rules. It reports violations such as incorrect bitwidth, wrong symmetry setting, or out-of-range scale/offset values, helping users catch quantization misconfigurations before deployment. **Usage** usage: qairt-accuracy-debugger validate_encoding [-h] [--encoding_path ENCODING_PATH] [--dlc_file_path DLC_FILE_PATH] [--rule_config RULE_CONFIG] [--working_directory WORKING_DIRECTORY] [--log_level {info,debug,warning,error}] optional arguments: -h, --help show this help message and exit --encoding_path ENCODING_PATH Path to the encoding file to validate. Accepts .json, .encodings (AIMET format), or .dlc (quantized DLC) files. When a .dlc file is provided, encodings are loaded directly from the DLC. Optional if --dlc_file_path is supplied. --dlc_file_path DLC_FILE_PATH Path to a quantized DLC file. When provided together with --encoding_path, enables context-aware rules that require graph connectivity information (e.g. reshape/transpose/concat checks). Optional. --rule_config RULE_CONFIG Path to a JSON rule configuration file. When supplied, ALL default built-in rules are replaced by the rules defined in this file. Optional; if omitted, the default built-in rule set is used. --working_directory WORKING_DIRECTORY Directory where output reports are written. A timestamped subdirectory is created automatically. Defaults to ./working_directory. --log_level {info,debug,warning,error} Logging verbosity. Default: info. Copy to clipboard **Usage Scenarios** Three input combinations are supported: | Scenario | Inputs | Behaviour | | --- | --- | --- | | JSON only | `--encoding_path model.json` | Per-tensor rules only; no graph context available. | | JSON + DLC | `--encoding_path model.json --dlc_file_path model.dlc` | Per-tensor rules and context-aware rules (reshape, transpose, concat checks). | | DLC only | `--encoding_path quantized_model.dlc` | Encodings are extracted from the DLC; context-aware rules are also applied. | **Default Built-in Rules** When no `--rule_config` is supplied the following rules run automatically: *Per-tensor rules* | Rule | Description | | --- | --- | | `conv_weights_symmetric` | Conv layer weights must use symmetric quantization. | | `rmsnorm_weights_16bit` | RMSNorm weights must be 16-bit. | | `rmsnorm_weights_asymmetric` | RMSNorm weights must use asymmetric quantization. | | `layernorm_weights_asymmetric` | LayerNorm weights must use asymmetric quantization. | | `batchnorm_weights_asymmetric` | BatchNorm weights must use asymmetric quantization. | | `layernorm_weights_16bit` | LayerNorm weights must be 16-bit. | | `large_quantization_range_warning` | Warns when the quantization range of a tensor exceeds 1000.0 (configurable). | *Context-aware rules* (requires DLC graph) | Rule | Description | | --- | --- | | `reshape_encoding_matches_predecessor` | Reshape output encoding should match its input encoding. | | `transpose_encoding_matches_predecessor` | Transpose output encoding should match its input encoding. | | `concat_inputs_same_range` | All inputs to a Concat op should share the same quantization range. | **JSON Rule Configuration** Pass `--rule_config ` to supply additional custom rules. The JSON file contains two optional top-level arrays: `validation_rules` and `context_aware_rules`. Only `"type": "custom"` rules are supported; each entry also accepts an `enabled` flag. Each custom rule is defined entirely in JSON using tensor-name patterns, tensor-type filters, layer-type keywords, and value checks: { "validation_rules": [ { "name": "attention_weights_4bit", "type": "custom", "enabled": true, "description": "Attention weights must use 4-bit symmetric quantization", "conditions": { "tensor_name_pattern": "(attention|attn).*weight", "tensor_type": "weight", "layer_types": ["linear"] }, "checks": { "bitwidth": 4, "is_symm": true, "scale_range": { "min": 0.0001, "max": 0.5 } } } ] } Copy to clipboard Supported `conditions` fields: | Field | Description | | --- | --- | | `tensor_name_pattern` | Case-insensitive regex matched against the tensor name. | | `tensor_type` | `"weight"`, `"bias"`, or `"activation"`. | | `layer_types` | List of keywords matched against the op type (DLC) or tensor name (JSON). | Supported `checks` fields: | Field | Description | | --- | --- | | `bitwidth` | Required bitwidth (integer). | | `is_symm` | `true` for symmetric, `false` for asymmetric. | | `min_channels` / `max_channels` | Minimum / maximum number of quantization channels. | | `scale_range` | `{"min": , "max": }` — allowed scale value range. | | `offset_range` | `{"min": , "max": }` — allowed offset value range. | **Sample Commands** # Validate a JSON encoding file with default built-in rules qairt-accuracy-debugger validate_encoding \ --encoding_path model_encodings.json \ --working_directory output # Validate with DLC to enable context-aware rules qairt-accuracy-debugger validate_encoding \ --encoding_path model_encodings.json \ --dlc_file_path quantized_model.dlc \ --working_directory output # Validate a DLC file directly (encodings extracted from DLC) qairt-accuracy-debugger validate_encoding \ --encoding_path quantized_model.dlc \ --working_directory output # Use a custom rule configuration (replaces all default rules) qairt-accuracy-debugger validate_encoding \ --encoding_path model_encodings.json \ --rule_config configs/my_rules.json \ --working_directory output Copy to clipboard **Output** The following files are written to `//`: | File | Description | | --- | --- | | `validation_report.json` | Full violation list in JSON format. Each entry contains `tensor_name`,
`rule_description`, `dtype`, `bitwidth`, `is_symm`, and `channels`. | | `validation_report.csv` | Same violation data in CSV format for spreadsheet analysis. | | `validate_encoding.log` | Detailed execution log. | Example `validation_report.json` entry: [ { "tensor_name": "model.conv1.weight", "rule_description": "Conv weights must be symmetric", "dtype": "int8", "bitwidth": 8, "is_symm": "false", "channels": 1 } ] Copy to clipboard #### Range Analyzer The Range Analyzer component compares the quantization encoding ranges of a base model against one or more LoRA usecase models. When multiple LoRA adapters are deployed over a single base model, the base encoding range should cover the activation and weight ranges of every adapter. If an adapter’s range exceeds the base range the activation values might get clipped during quantization and accuracy might degrades. This component performs a static, encoding-only analysis (no inference required) to detect such coverage gaps and, optionally, dumps an updated set of encoding files where shared tensor ranges are replaced with the union of all input ranges so the same unified encoding can be used across the base and all usecases without clipping risk. **Usage** usage: qairt-accuracy-debugger range_analyzer [-h] --base_encoding_file BASE_ENCODING_FILE --usecases_encoding_files USECASES_ENCODING_FILES [--encoding_version {0.6.0,1.0.0,2.0.0}] [--dump_union_encodings {weights,activation,default}] [--working_directory WORKING_DIRECTORY] [--log_level {info,debug,warning,error}] optional arguments: -h, --help show this help message and exit --encoding_version {0.6.0,1.0.0,2.0.0} AIMET encoding version of the input files. When not provided the version is auto-detected from the file content (same behaviour as compare_encodings). Optional. --dump_union_encodings {weights,activation,default} When specified, generate union encoding files where shared tensor ranges are replaced with the union of all ranges (base + all usecases). 'weights' modifies only param (weight) encodings, 'activation' modifies only activation encodings, and 'default' modifies both. Optional; if omitted no union files are produced. --working_directory WORKING_DIRECTORY Directory where the CSV report and optional union encoding files are written. A timestamped subdirectory is created automatically. Defaults to ./working_directory. --log_level {info,debug,warning,error} Logging verbosity. Default: info. required arguments: --base_encoding_file BASE_ENCODING_FILE Path to the base model encoding file. Supported formats: .json, .encodings (AIMET), .dlc (quantized DLC). This is the encoding file for the base model without any LoRA adapters. --usecases_encoding_files USECASES_ENCODING_FILES JSON dictionary mapping usecase names to their encoding file paths. Each usecase represents a LoRA adapter configuration. Example: '{"usecase1": "/path/to/uc1.encodings", "usecase2": "/path/to/uc2.encodings"}'. Copy to clipboard **Algorithm** For every shared tensor between the base model and at least one usecase, the tool computes the float `[min, max]` range from the encoding `scale`, `offset`, and `bitwidth` fields and flags two overflow conditions: - `overflow_by_usecase`, a usecase range exceeds the base range (`usecase_min < base_min` or `usecase_max > base_max`). - `overflow_by_base`, the base range exceeds a usecase range. When `--dump_union_encodings` is supplied, the union range `[min(base_min, uc1_min, ...), max(base_max, uc1_max, ...)]` is computed per channel and the AIMET compatible scale/offset are recomputed from the union range. The original encoding files are deep copied and only the tensors of the requested type (activation, weight, or both) are updated; all other tensors are preserved unchanged. **Sample Commands** # Basic range analysis (CSV report only) qairt-accuracy-debugger range_analyzer \ --base_encoding_file unet_base.encodings \ --usecases_encoding_files '{"night_512": "lora_night_512.encodings", "flash": "lora_flash.encodings"}' \ --working_directory output # Range analysis with activation union encoding output qairt-accuracy-debugger range_analyzer \ --base_encoding_file unet_base.encodings \ --usecases_encoding_files '{"night_512": "lora_night_512.encodings", "flash": "lora_flash.encodings"}' \ --dump_union_encodings activation \ --working_directory output # Full union (activations + weights) qairt-accuracy-debugger range_analyzer \ --base_encoding_file base.encodings \ --usecases_encoding_files '{"uc1": "uc1.encodings"}' \ --dump_union_encodings default \ --working_directory output Copy to clipboard **Output** The following files are written to `//`: | File | Description | | --- | --- | | `range_analysis_report.csv` | One row per (tensor\_name, channel) for every shared tensor. Includes base and
per-usecase `scale`, `offset`, `bw`, `dtype`, `is_sym`, `min`, `max`
columns, the per-usecase `overflow_by_usecase` / `overflow_by_base` flags, and
a global `overflow_flag` plus human-readable `overflow_details` summary. | | `_union.encodings` | Generated only when `--dump_union_encodings` is supplied. Base model encoding
with shared tensor ranges replaced by the union range. | | `_union.encodings` | Generated only when `--dump_union_encodings` is supplied. One file per usecase
with shared tensor ranges replaced by the union range. | | `range_analyzer.log` | Detailed execution log. | Snippet of `range_analysis_report.csv` (one usecase `flash`): tensor_name,tensor_type,channel,base_min,base_max,flash_min,flash_max,flash_overflow_by_usecase,overflow_flag,overflow_details /unet/conv1/output,activation_encodings,0,0.0,6.5,0.0,8.2,True,True,"flash(max+1.7000)" Copy to clipboard #### Snooping with ExecuTorch ExecuTorch is a lightweight execution engine for executing PyTorch models on mobile devices. The Qualcomm AI Engine backend for ExecuTorch enables efficient execution of models on Qualcomm Snapdragon SOCs. Further details can be found at [Qualcomm AI Engine Backend](https://docs.pytorch.org/executorch/stable/backends-qualcomm.html). This platform is integrated into Accuracy Debugger to enable users to identify accuracy issues by comparing intermediate layer outputs between a reference and a target PyTorch model, both running on QNN hardware accelerators, with different precisions. Accuracy debugger snooping algorithms help in finding inaccuracies in a neural-network at the layer level. For this feature, oneshot snooping is available. **Setup** The following are required for running snooping with ExecuTorch: > > > 1. QAIRT SDK and Linux Setup, as outlined in [Setup](https://docs.qualcomm.com/doc/80-63442-10/topic/general_setup.html) > 2. [ExecuTorch environment setup](https://docs.pytorch.org/executorch/main/using-executorch-building-from-source.html#environment-setup) and [Building Python package](https://docs.pytorch.org/executorch/main/using-executorch-building-from-source.html#building-the-python-package) > 3. [QNN ExecuTorch build](https://docs.pytorch.org/executorch/main/backends-qualcomm.html#build) **Usage** usage: qairt-accuracy-debugger executorch_snooping [-h] --config CONFIG options: -h, --help show this help message and exit required arguments: --config CONFIG Specifies the path to a JSON configuration file that defines debugger CLI options. When this option is used, no other CLI arguments should be provided. The configuration file is required to compare two QNN backends using the oneshot algorithm. Copy to clipboard **Snooping feature limitations** > > > 1. Only oneshot snooping capability is supported > 2. Snooping with reference QNN HTP/GPU and target on QNN HTP/GPU is supported by providing config.json > 3. The dataset provided for quantization are expected and assumed to be already preprocessed list of input files > 4. Input sample provided is expected to be raw file, as internal execution framework expects the same #### Oneshot Snooping (ExecuTorch) This algorithm is designed to debug all layers of the model at a time by performing the following steps: > > > 1. Dumps intermediate layer outputs from a given ExecuTorch model (FP16 or Quantized) run on QNN HTP/GPU > 2. Dumps intermediate layer outputs from a given ExecuTorch model (Quantized) run on QNN HTP/GPU > 3. Compares target outputs(#2) against golden reference outputs(#1) > 4. Supports dumping of comparison stats **Sample Command** # ExecuTorch Oneshot snooping is only supported via --config file currently. # Use the JSON config file to specify ExecuTorch arguments. qairt-accuracy-debugger snooping_executorch --config executorch_snooping_config.json Copy to clipboard **Sample Configuration File for ExecuTorch Oneshot Snooping** { "input_model": "/path/to/executorch_model.pt2", "algorithm": "oneshot", "reference_config": { "backend": "HTP", "platform": "x86_64-linux-clang", "soc_model": "SM8750", "offline_prepare": true, }, "target_config": { "backend": "HTP", "platform": "aarch64-android", "soc_model": "SM8750", "quantizer_arguments": { "dataset": "/path/to/inputs/input_sample.txt", "quant_dtype": "8a8w" }, "offline_prepare": true }, "input_sample": [ { "name": "input", "raw_file": "/path/to/inputs/input.raw", "dimensions": [1, 3, 28, 28], "data_type": "float32" } ], "comparators": ["mse", "cosine"], "working_directory": "/path/to/snooping_outputs", "log_level": "debug", } Copy to clipboard **Snooping Output Structure** Below is the output directory structure, if the compilation artifacts are retained: working_directory └── oneshot_snooping └── 2026-05-07_17-33-59 ├── accuracy_debugger_user_info.log ├── inference_engine │   ├── base.pte │   ├── forward_0.dlc │   ├── forward_0.dlc.bin │   ├── Output │   │   └── Result_0 │   │   ├── output_tensor_0.raw │   │   └── ... │   └── status.json ├── oneshot_layerwise.csv ├── oneshot_layerwise.json ├── plots │   ├── cosine.html │   └── mse.html └── reference_outputs ├── base.pte ├── execution_user_info.log ├── forward_0.dlc ├── forward_0.dlc.bin ├── Output │   └── Result_0 │   ├── output_tensor_0.raw │   └── ... └── status.json Copy to clipboard - Once oneshot snooping is completed, a timestamped directory is generated under working\_directory/oneshot\_snooping containing: - - accuracy\_debugger\_user\_info.log: stores the run log - inference\_engine directory: contains intermediate layer outputs generated by target, stored in .raw format, along with the .pte, .dlc and .bin files - oneshot\_layerwise.csv: report for verification results of each layer output in .csv format - oneshot\_layerwise.json: report for verification results of each layer output in .json format - plots directory: contains HTML plots of verification results of each layer output - reference\_outputs directory: contains intermediate layer outputs generated by reference, stored in .raw format, along with the .pte, .dlc and .bin files **Understanding the oneshot snooping summary report** | Column | Description | | --- | --- | | Source Name | Output name of the current layer in the reference graph. | | Target Name | Output name of the current layer in the target graph. | | Layer type | Type of current layer. | | Source Shape | Shape of this reference layer’s output. | | Target Shape | Shape of this target layer’s output. | | Source(Min, Max, Median) | The minimum, maximum, and median of the outputs at this layer taken from reference execution. | | Target(Min, Max, Median) | The minimum, maximum, and median of the outputs at this layer taken from target execution. | | <Verifier name> | Verifier value of the current layer output compared to reference output. | ### qnn-platform-validator qnn-platform-validator checks the QNN compatibility/capability of a device. The output is saved in a CSV file in the “output” directory, in a csv format. Basic logs are also displayed on the console. DESCRIPTION: ------------ Helper script to set up the environment for and launch the qnn-platform- validator executable. REQUIRED ARGUMENTS: ------------------- --backend Specify the backend to validate: , . --directory Path to the root of the unpacked SDK directory containing the executable and library files --dsp_type Specify DSP variant: v66 or v68 OPTIONALS ARGUMENTS: -------------------- --buildVariant Specify the build variant aarch64-android or aarch64-windows-msvc to be validated. Default: aarch64-android --testBackend Runs a small program on the runtime and Checks if QNN is supported for backend. --deviceId Uses the device for running the adb command. Defaults to first device in the adb devices list.. --coreVersion Outputs the version of the runtime that is present on the target. --libVersion Outputs the library version of the runtime that is present on the target. --targetPath The path to be used on the device. Defaults to /data/local/tmp/platformValidator --remoteHost Run on remote host through remote adb server. Defaults to localhost. --debug Set to turn on Debug log Copy to clipboard Additional details: - The following files need to be pushed to the device for the DSP to pass validator test. Note that the stub and skel libraries are specific to the DSP architecture version(e.g., v73): > > > // Android > bin/aarch64-android/qnn-platform-validator > lib/aarch64-android/libQnnHtpV73CalculatorStub.so > lib/hexagon-${DSP_ARCH}/unsigned/libCalculator_skel.so > > // Windows > bin/aarch64-windows-msvc/qnn-platform-validator.exe > lib/aarch64-windows-msvc/QnnHtpV73CalculatorStub.dll > lib/hexagon-${DSP_ARCH}/unsigned/libCalculator_skel.so > Copy to clipboard - The following example pushes the aarch64-android variant to /data/local/tmp/platformValidator > > > adb push $SNPE_ROOT/bin/aarch64-android/snpe-platform-validator /data/local/tmp/platformValidator/bin/qnn-platform-validator > adb push $SNPE_ROOT/lib/aarch64-android/ /data/local/tmp/platformValidator/lib > adb push $SNPE_ROOT/lib/dsp /data/local/tmp/platformValidator/dsp > Copy to clipboard ### qnn-profile-viewer The **qnn-profile-viewer** tool is used to parse profiling data that is generated using **qnn-net-run**. Additionally, the same data can be saved to a csv file. usage: qnn-profile-viewer --input_log PROFILING_LOG [--help] [--output=CSV_FILE] [--extract_opaque_objects] [--reader=CUSTOM_READER_SHARED_LIB] [--schematic=SCHEMATIC_BINARY] [--standardized_json_output] Reads profiling logs and outputs the contents to stdout Note: The IPS calculation takes the following into account: graph execute time, tensor file IO time, and misc. time for quantization, callbacks, etc. required arguments: --input_log PROFILING_LOG1,PROFILING_LOG2 Provides a comma-separated list of Profiling log files optional arguments: --output PATH Output file with processed profiling data. File formats vary depending upon the reader used (see --reader). If not provided, not output is created. --help Displays this help message. --reader CUSTOM_READER_SHARED_LIB Path to a reader library. If not specified, the default reader outputs a CSV file. --schematic SCHEMATIC_BINARY Path to the schematic binary file. Please note that this option is specific to the QnnHtpOptraceProfilingReader library. --config CONFIG_JSON_FILE Path to the config json file. Please note that this option is specific to the QnnHtpOptraceProfilingReader library. --dlc DLC_FILE Path to the dlc file. Please note that this option is specific to the QnnHtpOptraceProfilingReader library. --zoom_start PROFILE_SUBMODULE_START_NODE Name of starting node for a profile submodule optrace. If you specify this option you must also specify --zoom_end. Please note that this option is specific to the QnnHtpOptraceProfilingReader library. --zoom_end PROFILE_SUBMODULE_END_NODE Name of ending node for a profile submodule optrace. If you specify this option you must also specify --zoom_start. Please note that this option is specific to the QnnHtpOptraceProfilingReader library. --version Displays version information. --extract_opaque_objects Specifies that the opaque objects will be dumped to output files --standardized_json_output Specifies that the JSON output will be standardized for consumption by other tools within the SDK ecosystem. Please note that this option is specific to the QnnJsonProfilingReader library. Copy to clipboard ### qnn-context-binary-utility The **qnn-context-binary-utility** tool validates and serializes the metadata of context binary into a json file. This json file can then be used for inspecting the context binary aiding in debugging. A QNN context can be serialized to binary using QNN APIs or qnn-context-binary-generator tool. usage: qnn-context-binary-utility --context_binary CONTEXT_BINARY_FILE --json_file JSON_FILE_NAME [--help] [--version] Reads a serialized context binary and validates its metadata. If --json_file is provided, it outputs the metadata to a json file required arguments: --context_binary CONTEXT_BINARY_FILE Path to cached context binary from which the binary info will be extracted and written to json. --json_file JSON_FILE_NAME Provide path along with the file name / to serialize context binary info into json. The directory path must exist. File with the FILE_NAME will be created at DIR. optional arguments: --help Displays this help message. --version Displays version information. Copy to clipboard #### Additional explanation ##### Accessing Graph Blob Info V2 Struct Graph Blob Info V2 struct is present in serialized binary right after V1 struct (in context binaries prepared in QNN SDK 2.37 or later) and it can be accessed like below: uint8_t* array = static_cast(graphBlobInfo); QnnHtpSystemContext_GraphBlobInfoV2_t* v2 = array + sizeof(QnnHtpSystemContext_GraphBlobInfo_t); Note: Users must add a check for null pointer before dereferencing V2 Copy to clipboard ##### Parameters Description Below is a table representing the meanings of various parameters. | Parameters | Description | | --- | --- | | nativeKChannelSize | The nativeK channel tile size used by each of the graphs | | nativeVChannelSize | The nativeV channel tile size used by each of the graphs | | isSafeShareIO | It is safe to share the buffer between inputs and outputs, 1: True, 0: False


Client is responsible for ensuring no clash between input and output when flag is set | | graphIOTensorSize | Graph input/output tensors size(bytes) | | DDRTensorSize | Size of DDR-tensor(bytes) | | OpDataSize | Memory size inlcuding op data like runlists(bytes) | | constSize | Size of const data in the graph(bytes) | | SharedWeightSize | Shared weights size(bytes) | | spillFillBufferSize | The spill-fill buffer size used by each of the graphs | | vtcmSize | HTP vtcm size (MB) | | optimizationLevel | Optimization level | | htpDlbc | Htp Dlbc | | numHvxThreads | Number of HVX Threads to reserve | ##### Memory Usage Scenarios **Use Case 1: Single Model Inference** Total RAM = OpDataSize + constSize + DDRTensorSize + spillFillBufferSize + graphIOTensorSize + vtcmSize **Use Case 2: Large Language Model (LLM) with Weight Sharing** Total RAM = (OpDataSize₁ + constSize₁ + DDRTensorSize₁ + spillFillBufferSize₁ +graphIOTensorSize₁ +vtcmSize₁) + Shared Weights + (OpDataSize₂ + constSize₂ + DDRTensorSize₂ + spillFillBufferSize₂ + graphIOTensorSize₂ +vtcmSize₂) ### Accuracy Evaluator plugins #### File-based plugins This section lists the built-in file-based plugins. ##### Dataset plugins **create\_squad\_examples** - Extracts examples from given squad dataset file and save them to a file. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | squad\_version | Squad version 1 or 2 | Integer | 1 | **filter\_dataset** - Filters the dataset including the input list, calibration and annotation files. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | max\_inputs | Maximum number of inputs in inputlist to be considered for execution | Integer | Mandatory | | max\_calib | Maximum number of inputs in calibration to be considered for execution | Integer | Mandatory | | random | Shuffles the inputlist and calibration files | Boolean | False | **gpt2\_tokenizer** - Tokenizes data from files using GPT2TokenizerFast. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | vocab\_file | Path to the vocabulary file | String | Mandatory | | merges\_file | Path to the merges file | String | Mandatory | | seq\_length | Sequence length for the generated model inputs | Integer | Mandatory | | past\_seq\_length | Sequence length for the “past” inputs | Integer | Mandatory | | past\_shape | Shape of the ‘past’ inputs | List | | | num\_past | Number of ‘past’ inputs | Integer | 0 | **split\_txt\_data** - Saves individual text files for each line present in the given input text file. ##### Preprocessing plugins **centernet\_preproc** - Performs preprocessing on CenterNet dataset examples. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | dims | Height and width; comma delimited, e.g., 416,416 | String | Mandatory | | scale | Scale factor for image | Float | 1.0 | | fix\_res | Resolution of the image | Boolean | True | | pad | Image padding | Integer | 0 | **convert\_nchw** - Transposes WHC to CHW or CHW to WHC and adds an extra N dimension. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | expand-dims | Add the Nth dimension | Boolean | True | **create\_batch** - Concatenates raw input files into a single file using numpy. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | delete\_prior | To delete prior unbatched data to save space | Boolean | True | | truncate | If num inputs are not a multiple of batch size, then truncate left over inputs in the last batch or not | Boolean | False | **crop** - Center crops an image to the given dimensions using numpy or torchvision based on the library parameter. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | dims | Height and width; comma delimited, e.g., 640,640 | String | Mandatory | | library | Python library used to crop the given input; valid values are: numpy | torchvision | String | numpy | | typecasting\_required | To convert final output to numpy or not. Note: This option is specific to torchvision library | Boolean | True | **expand\_dims** - Adds the N dimension for images, e.g., HWC to NHWC. **image\_transformers\_input** - Creates input files with image and/or text for image transformer models like ViT and CLIP. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | dims | Expected processed output dimension in CHW format | String | Mandatory | | num\_base\_class | Number of base classes in classification; used in the scenario where text input is also provided | Integer | Total classes available | | num\_prompt | Number of prompts for text classes; used in the scenario where text input is also provided | Integer | Total classes available | | image\_only | Data type of raw data | Boolean | False | **normalize** - Normalizes input per the given scheme; data must be of NHWC format. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | library | Python library used to crop the given input; valid values are: numpy | torchvision | String | numpy | | norm | Normalization factor, all values divided by norm | float32 | 255 | | means | Dictionary of means to be subtracted, e.g., {“R”:0.485, “G”:0.456, “B”:0.406} | RGB dictionary | {“R”:0, “G”:0, “B”:0} | | std | Dictionary of std-dev for rescaling the values, e.g., {“R”:0.229, “G”:0.224, “B”:0.225} | RGB dictionary | {“R”:1, “G”:1, “B”:1} | | channel\_order | Channel order to specify means and std values per channel - RGB | BGR | String | RGB | | normalize\_first | To perform normalization before or after mean subtraction and standard deviation.


normalize\_first=True means perform normalization before.


Note: torchvision library does not use this option | Boolean | True | | typecasting\_required | To convert final output to numpy or not. Note: This option is specific to the Torchvision library | Boolean | True | | pil\_to\_tensor\_input | To convert input to tensor before normalization. Note: This option is specific to the Torchvision library | Boolean | True | **onmt\_preprocess** - Performs preprocessing on WMT dataset for FasterTransformer OpenNMT model | Parameters | Description | Type | Default | | --- | --- | --- | --- | | vocab\_path | Path to OpenNMT model vocabulary file (pickle file) | String | Mandatory | | src\_seq\_len | The maximum total input sequence length | Integer | 128 | | skip\_sentencepiece | Skip sentencepiece encoding | Boolean | True | | sentencepiece\_model\_path | Path to sentencepiece model for WMT dataset (mandatory when “skip\_sentencepiece” is False) | String | None | **pad** - Image padding with constant pad size or based on target dimensions | Parameters | Description | Type | Default | | --- | --- | --- | --- | | type | - Type of padding. Valid options:
-

  • constant: Add padding of constant sides on 4 sides (pad_size must be provided)


  • target_dims: Add padding based on difference in image size and target size (dims param must be provided)


| String | Mandatory | | dims | Height and width comma delimited, e.g., 416,416 for ‘target-dims’ type of padding | String | Mandatory | | pad\_size | Size of padding for ‘constant’ type of padding | Integer | None | | img\_position | Parameter to specify position of image, either ‘center’ or ‘corner’ (top-left). Padding is added accordingly. Currently used for ‘target\_dims’ type padding | String | center | | color | Padding value for all planes | Integer | 114 | **resize** - Resizes an image using the specified library parameter: cv2(Default), pillow or torchvision | Parameters | Description | Type | Default | | --- | --- | --- | --- | | dims | Height and width; comma delimited, e.g., 640,640 | String | Mandatory | | library | Python library to be used for resizing a given input; valid values are: opencv | pillow | torchvision | String | opencv | | channel\_order | Convert image to specified channel order. At present this parameter only takes the ‘RGB’ value | String | RGB | | interp | - Interpolation Type. Options:
-

  • bilinear (supported by opencv, Torchvision, pillow)


  • area (supported by opencv only)


  • nearest (supported by opencv, Torchvision, pillow)


  • bicubic (supported by Torchvision, pillow)


  • box (supported by pillow only)


  • hamming (supported by pillow only)


  • lanczos (supported by pillow only)


| String | For opencv and torchvision: bilinear


For pillow: bicubic | | type | Type of resize to be done. Note: Torchvision does not use this option.
Options:



>
>
>

    >
  • letterbox : Used for YOLO models.


  • >
  • imagenet : Scale followed by resize.


  • >
  • aspect_ratio : Resize while keeping aspect ratio.


  • >
  • None : The default behavior is to auto-resize the image to the target dims.


  • >
| String | auto-resize | | resize\_before\_typecast | To resize before or after conversion to target datatype e.g., fp32 | Boolean | True | | typecasting\_required | To convert final output to numpy or not. Note: This option is specific to the Torchvision library | Boolean | True | | mean | Dictionary of means to be subtracted, e.g., {“R”:0.485, “G”:0.456, “B”:0.406}. Note: This option is specific to the Tensorflow library | RGB dictionary | {“R”:0, “G”:0, “B”:0} | | std | Dictionary of std-dev for rescaling the values, e.g., {“R”:0.229, “G”:0.224, “B”:0.225}. Note: This option is specific to the Tensorflow library | RGB dictionary | {“R”:0, “G”:0, “B”:0} | | normalize\_before\_resize | To perform normalization before or after mean subtraction and standard deviation. Note: This option is specific to the Tensorflow library | Boolean | False | | crop\_before\_resize | To perform cropping before resize. Note: This option is specific to the Tensorflow library | Boolean | False | **squad\_read** - Reads the SQuAD dataset JSON file. Preprocesses the question-context pairs into features for language models like BERT-Large | Parameters | Description | Type | Default | | --- | --- | --- | --- | | vocab\_path | Path for local directory containing vocabulary files | String | Mandatory | | max\_seq\_length | The maximum total input sequence length after WordPiece tokenization. Sequences longer than this will be truncated, and sequences shorter than this will be padded | Integer | 384 | | max\_query\_length | The maximum number of tokens for the question. Questions longer than this will be truncated to this length | Integer | 64 | | doc\_stride | When splitting up a long document into chunks, how much stride to take between chunks | Integer | 128 | | packing\_strategy | Set this flag when using packing strategy for bert based models | Boolean | False | | max\_sequence\_per\_pack | The maximum number of sequences which can be packed together | Integer | 3 | | mask\_type | This can take either of three values - ‘None’, ‘Boolean’ or ‘Compressed’ depending on the masking to be done on input\_mask | String | None | | compressed\_mask\_length | Set this value if mask\_type is set to compressed | Integer | None | ##### Postprocessing plugins **bert\_predict** - Predicts answers for a SQuAD dataset given start and end logits. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | vocab\_path | Path for a local directory containing vocabulary files | String | Mandatory | | max\_seq\_length | The maximum total input sequence length after WordPiece tokenization. Sequences longer than this will be truncated, and sequences shorter than this will be padded (optional if preprocessing is run) | Integer | 384 | | doc\_stride | When splitting up a long document into chunks, how much stride to take between chunks (optional if preprocessing is run) | Integer | 128 | | max\_query\_length | The maximum number of tokens for the question. Questions longer than this will be truncated to this length (optional if preprocessing is run) | Integer | 64 | | n\_best\_size | The total number of n-best predictions to generate in the post.json output file | Integer | 20 | | max\_answer\_length | The maximum length of an answer that can be generated. This is needed because the start and end predictions are not conditioned on one another | Integer | 30 | | packing\_strategy | This flag is set to True if using packing strategy | Boolean | False | **centerface\_postproc** - Processes the inference outputs to parse detections and generates a detections file for the metric evaluator. Used for processing CenterFace face detector. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | dims | Height and width; comma delimited, e.g., 640,640 | String | Mandatory | | dtypes | List of datatypes to be used for bounding boxes, scores, and labels (in order), e.g., [float32, float32, int64]. Defaults to the datatypes fetched from the ‘outputs\_info’ for the model’s config.yaml | List | Datatypes from the outputs\_info section of the model config.yaml | | heatmap\_threshold | User input for heatmap threshold | Float | 0.05 | | nms\_threshold | User input for nms threshold | Float | 0.3 | **centernet\_postprocess** - Processes the inference outputs to parse detections and generate a detections file for the metric evaluator. Used for processing CenterNet detector. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | dtypes | List of datatypes (at least 3) to be used to infer outputs | String | Mandatory | | output\_dims | Height and width; comma delimited, e.g., 640,640 | String | Mandatory | | top\_k | Top K proposals are given from the postprocess plugin | Integer | 100 | | num\_classes | Number of classes | Integer | 1 | | score | Threshold to purify the detections | Integer | 1 | **lprnet\_predict** - Used for LPRNET license plate prediction. **object\_detection** - Processes the inference outputs to parse detections and generate a detections file for metric evaluator | Parameters | Description | Type | Default | | --- | --- | --- | --- | | dims | Height and width; comma delimited, e.g., 640,640 | String | Mandatory | | type | Type of post-processing (e.g., letterbox, stretch) | String | None | | label\_offset | Offset for the labels information | Integer | 0 | | score\_threshold | Threshold limit for the detection scores | Float | 0.001 | | xywh\_to\_xyxy | Convert bounding box format from box center (xywh) to box corner (xyxy) format | Boolean | False | | xy\_swap | Swap the X and Y coordinates of bbox | Boolean | False | | dtypes | List of datatypes used for bounding boxes, scores, and labels in order, e.g., [float32, float32, int64]. Defaults to the datatypes fetched from the ‘outputs\_info’ for the model’s config.yaml. | List | Datatypes from the outputs\_info section of the model config.yaml | | mask | Do postprocessing on mask | Boolean | False | | mask\_dims | Output dims of model. Provide this only if mask = True. E.g., 100,80,28,28 | String | None | | padded\_outputs | Pad the outputs | Boolean | False | | scale | Comma separated scale values | String | ‘1’ | | skip\_padding | Skip padding while rescaling to original image shape | Boolean | False | **onmt\_postprocess** - Performs preprocessing for OpenNMT model outputs | Parameters | Description | Type | Default | | --- | --- | --- | --- | | sentencepiece\_model\_path | Path to sentencepiece model for WMT dataset | String | Mandatory | | unrolled\_count | Upper limit on the unrolls required for the output (no. of output tokens to be considered for metric) | Integer | 26 | | vocab\_path | Path to OpenNMT model vocabulary file (pickle file), optional if preprocessing is run | String | None | | skip\_sentencepiece | Skip sentencepiece encoding, optional if preprocessing is run | Boolean | None | ##### Metric plugins **bleu** - Evaluates bleu score using sacrebleu library | Parameters | Description | Type | Default | | --- | --- | --- | --- | | round | Number of decimal places to round the result to | Integer | 1 | **map\_coco** - Evaluates the mAP score 50 and 50:05:95 for COCO dataset | Parameters | Description | Type | Default | | --- | --- | --- | --- | | map\_80\_to\_90 | Mapping of classes in range 0-80 to 0-90 | Boolean | False | | segm | Flag to calculate mAP for mask | Boolean | False | | keypoint\_map | Flag to calculate mAP for keypoint | Boolean | False | **perplexity** - Calculates the perplexity metric. Model outputs are expected to be the logits of proper shape. Ground truth data is expected to be in tokenized format and in the form of token IDs. The ground truth will be automatically generated, if using the “gpt2\_tokenizer” dataset plugin. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | logits\_index | Index of the logits output if the model has multiple outputs | Integer | 0 | **precision** - Calculates the precision metric, i.e., (correct predictions / total predictions). Ground truth data is expected in the format “filename <space> correct\_text”. The postprocessed model outputs are expected to be text files with just the “predicted\_text”. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | round | Number of decimal places to round the result to | Integer | 7 | | input\_image\_index | For multi input models, the index of image file in input file list csv | Integer | 0 | **squad\_em** - Calculates the exact match for SQuAD v1.1 dataset predictions and ground truth. **squad\_f1** - Calculates F1 score for SQuAD v1.1 dataset predictions and ground truth. **topk** - Evaluates topk value by comparing results and annotations. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | kval | Top k values, e.g., 1,5 evaluates top1 and top5 | String | 5 | | softmax\_index | Index of the softmax output in the results file list | Integer | 0 | | label\_offset | Offset required in the labels’ scores, e,g., if shape is 1x1001, then labels\_offset=1 | Integer | 0 | | round | Number of decimal places to round the result to | Integer | 3 | | input\_image\_index | For multi input models, the index of image file in input file list csv | Integer | 0 | **widerface\_AP** - Computes average precision for easy, medium, and hard cases. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | IoU\_threshold | User input for IoU threshold | Float | 0.4 | #### Memory-based plugins This section lists the built-in memory-based plugins. ##### Dataset plugins **SQUADDataset** - The Stanford Question Answering Dataset (SQuAD) is a widely used benchmark dataset for question-answering tasks, featuring over 100,000 questions annotated on more than 500 Wikipedia articles. This dataset allows us to load and extract examples from a specified SQuAD dataset file. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | tokenizer\_model\_name\_or\_path | - The name or path to the model used for tokenization. Can be any one of the below:
-

  • A string, the model ID of a predefined tokenizer hosted inside a model repo on huggingface.co.


  • A string, the model ID of a predefined tokenizer from huggingface.co (user-uploaded) and cache (e.g., “deepset/roberta-base-squad2”)


  • A path to a directory containing vocabulary files required by the tokenizer, for instance saved using the save_pretrained() method, e.g., ./my_model_directory/.


| os.PathLike | str | Mandatory | | annotation\_path | Path to the SQUAD annotation file. | Optional[os.PathLike | str] | None | | calibration\_path | Path to the SQUAD calibration file. | Optional[os.PathLike | str] | None | | max\_samples | The maximum number of samples to load. | Optional[int] | None | | use\_calibration | Whether to use calibration data or not. | Optional[bool] | False | | max\_seq\_length | The maximum sequence length. | int | 384 | | max\_query\_length | The maximum query length. | int | 64 | | doc\_stride | The document stride. | int | 128 | | threads | The number of threads to use. | int | 8 | | do\_lower\_case | Whether to perform lower-casing on the data. | bool | True | | model\_inputs\_count | The number of input fields in the PackedInputs tuple. | int | 2 | | use\_packing\_strategy | Whether to pack features or not. | bool | False | | max\_sequence\_per\_pack | The maximum number of sequences per pack. | int | 3 | | mask\_type | The type of mask to use. | Optional[Literal[‘boolean’, ‘compressed’]] | None | | compressed\_mask\_length | The length of the compressed mask. | Optional[int] | None | | squad\_version | The version of the SQUAD dataset. | int | 1 | **WikiText2Dataset** - The WikiText-2 dataset is a comprehensive collection of Wikipedia articles used to evaluate text generation and language modeling systems. It contains 17 million tokens from around 22,000 documents. This dataset allows us to tokenize the WikiText-2 data from files into model inputs. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | tokenizer\_model\_name\_or\_path | - The name or path to the model used for tokenization. Can be any one of the below:
-

  • A string, the model ID of a predefined tokenizer hosted inside a model repo on huggingface.co.


  • A string, the model ID of a predefined tokenizer from huggingface.co (user-uploaded) and cache (e.g., “deepset/roberta-base-squad2”)


  • A path to a directory containing vocabulary files required by the tokenizer, for instance saved using the save_pretrained() method, e.g., ./my_model_directory/.


| os.PathLike | str | Mandatory | | input\_list\_path | Path to the file containing text files. | os.PathLike | str | Mandatory | | sequence\_length | Length of each sequence. | int | Mandatory | | past\_shape | Shape of past sequences. | List[int] | None | | calibration\_indices | List containing the indices from input list to be used as calibration data. | Optional[List[int]] | None | | max\_samples | Maximum number of samples to be loaded. | Optional[int] | None | | use\_calibration | Flag to choose whether to use calibration data. | bool | False | | past\_sequence\_length | Length of past sequences. | int | 0 | | num\_past | Number of past sequences. | int | 0 | | position\_id\_required | Whether position IDs are required. | bool | True | | mask\_dtype | Data type for masks. | Literal[“int64”, “float32”] | “float32” | **ImagenetDataset** - The ImageNet Large Scale Visual Recognition Challenge (ILSVRC) dataset, commonly referred to as the ImageNet dataset, is a vast and influential collection of over 14 million annotated images, making it one of the largest and most widely used benchmark datasets for computer vision research. **COCO2017Dataset** - The Common Objects in Context (COCO) 2017 Dataset is a large-scale, fine-grained image dataset containing over 120,000 images and 2 million object instances from various categories, including animals, vehicles, furniture, and man-made objects, annotated with precise pixel-level masks. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | inputlist\_path | The path to the input list file. Paths in the file can be either relative to the file list’s location or an absolute path. | Optional[os.PathLike| str] | Mandatory | | annotation\_path | The path to the annotation file. If set to None, no annotations will be used. Annotation must be provided if metrics are to be computed. | Optional[os.PathLike| str] | None | | calibration\_path | The path to the calibration file. If set to None, no calibration data will be used. | Optional[os.PathLike | str] | None | | calibration\_indices | A list of indices from the input dataset that will be utilized for calibration purposes.
User can provide a file containing comma-separated values representing the selected indices. | Optional[list[int] | str] | None | | use\_calibration | Flag to determine whether to use calibration data or not. | bool | False | | image\_backend | Image Backend to be used for loading images from disk. | Literal[‘opencv’,’pillow’] | ‘opencv’ | | max\_samples | Maximum number of samples to be loaded. | Optional[int] | None | **SYN\_CHINESE\_LP\_Dataset** - The SYN\_CHINESE\_LP dataset is a synthetic collection of Chinese license plate images with varying levels of quality, noise, and distortion, designed to simulate real-world challenges in automatic license plate recognition (ALPR) tasks for traffic management applications. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | inputlist\_path | The path to the input list file. Paths in the file can be either relative to the file list’s location or an absolute path. | Optional[os.PathLike| str] | Mandatory | | annotation\_path | The path to the annotation file. If set to None, no annotations will be used. Annotation must be provided if metrics are to be computed. | Optional[os.PathLike| str] | None | | calibration\_path | The path to the calibration file. If set to None, no calibration data will be used. | Optional[os.PathLike | str] | None | | calibration\_indices | A list of indices from the input dataset that will be utilized for calibration purposes.
User can provide a file containing comma-separated values representing the selected indices. | Optional[list[int] | str] | None | | use\_calibration | Flag to determine whether to use calibration data or not. | bool | False | | image\_backend | Image Backend to be used for loading images from disk. | Literal[‘opencv’,’pillow’] | ‘opencv’ | | max\_samples | Maximum number of samples to be loaded. | Optional[int] | None | **WIDERFaceDataset** - The WIDERFace dataset is a large-scale facial landmark detection benchmark with more than 24 million annotated facial landmarks, making it one of the most comprehensive and challenging datasets for face localization tasks. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | inputlist\_path | The path to the input list file. Paths in the file can be either relative to the file list’s location or an absolute path. | Optional[os.PathLike| str] | Mandatory | | annotation\_path | The path to the folder containing annotation [\*](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html#id20).mat files. If set to None, no annotations will be used. Annotation must be provided if metrics are to be computed. | Optional[DirectoryPath] | None | | calibration\_path | The path to the calibration file. If set to None, no calibration data will be used. | Optional[os.PathLike | str] | None | | calibration\_indices | A list of indices from the input dataset that will be utilized for calibration purposes.
User can provide a file containing comma-separated values representing the selected indices. | Optional[list[int] | str] | None | | use\_calibration | Flag to determine whether to use calibration data or not. | bool | False | | image\_backend | Image Backend to be used for loading images from disk. | Literal[‘opencv’,’pillow’] | ‘opencv’ | | max\_samples | Maximum number of samples to be loaded. | Optional[int] | None | **WMT20Dataset** - The WMT20 dataset is a collection of machine translation benchmarks, consisting of parallel corpora in 46 language pairs with millions of sentence pairs, used to evaluate and improve the performance of machine translation systems for multilingual applications. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | inputlist\_path | The path to the input list file. Paths in the file can be either relative to the file list’s location or an absolute path. | Optional[os.PathLike| str] | Mandatory | | annotation\_path | The path to the annotation file. If set to None, no annotations will be used. Annotation must be provided if metrics are to be computed. | Optional[os.PathLike| str] | None | | calibration\_indices | A list of indices from the input dataset that will be utilized for calibration purposes.
User can provide a file containing comma-separated values representing the selected indices. | Optional[list[int] | str] | None | | use\_calibration | Flag to determine whether to use calibration data or not. | bool | False | | max\_samples | Maximum number of samples to be loaded. | Optional[int] | None | ##### Preprocessing memory plugins **CenternetPreprocessor** - Performs preprocessing on CenterNet dataset examples. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | output\_dimensions | Output dimensions of the processed image output. Height and width; e.g., [640 , 640] | list[int] | Mandatory | | scale | Scale factor for image | Float | 1.0 | **ConvertNCHW** - Transposes WHC to CHW or CHW to WHC and adds an extra N dimension. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | expand\_dims | Add the Nth dimension | Boolean | True | **CropImage** - Center crops an image to the given dimensions using numpy or torchvision based on the library parameter. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | image\_dimensions | Output dimensions of the processed image output. Height and width; e.g., [640 , 640] | list[int] | Mandatory | | library | Python library used to crop the given input; valid values are: numpy | torchvision | String | numpy | | typecasting\_required | To convert final output to numpy or not. Note: This option is specific to torchvision library | Boolean | True | **ExpandDimensions** - Adds a new dimension for images at the given axis, e.g., HWC to NHWC. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | axis | The index of the axis to expand | Integer | 0 | **FlipImage** - Flips the input image horizontally or vertically based on given axis. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | axis | The axis along which the image is flipped. Default: 3, indicating a horizontal flip for RGB images. | Integer | 3 | **MlCommonsRetinaNetPreprocessor** - Preprocessor for the RetinaNet model. Normalize image based on mean and standard deviation and interpolate to provided image\_size. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | image\_size | Expected size to which images should be resized in [Height, Width] format; e.g., [299 299] | list[int, int] | (800, 800) | | mean | The mean values for normalization. | list[float] | [0.485, 0.456, 0.406] | | std | The standard deviation values for normalization. | list[float] | [0.229, 0.224, 0.225] | **OpenNMTPreprocessor** - A preprocessor for OpenNMT that reads text data and applies required preprocessing for ONMT models. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | vocab\_path | The path to the vocabulary file to be used for processing. | os.PathLike | 128 | | src\_seq\_len | The source sequence length. | Integer | 128 | **CLIPPreprocessor** - Creates input files with image and/or text for image transformer models like ViT and CLIP. (Note: This plugin requires Pillow package version:10.0.0) | Parameters | Description | Type | Default | | --- | --- | --- | --- | | image\_dimensions | Expected processed output dimension in [Height, Width] format; e.g., [299 299] | list[int] | Mandatory | | image\_only | Whether to process only image tokens | Boolean | True | | image\_input\_index | Index of the input image data in the input provided | Integer | 0 | **NormalizeImage** - Normalizes input per the given scheme; data must be of NHWC format. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | library | Python library used to crop the given input; valid values are: numpy | torchvision | String | numpy | | norm | Normalization factor, all values divided by norm | float32 | 255.0 | | means | Dictionary of means to be subtracted, e.g., {“R”:0.485, “G”:0.456, “B”:0.406} | RGB dictionary | {“R”:0, “G”:0, “B”:0} | | std | Dictionary of std-dev for rescaling the values, e.g., {“R”:0.229, “G”:0.224, “B”:0.225} | RGB dictionary | {“R”:1, “G”:1, “B”:1} | | channel\_order | Channel order to specify means and std values per channel - RGB | BGR | String | ‘RGB’ | | normalize\_first | To perform normalization before or after mean subtraction and standard deviation.


normalize\_first=True means perform normalization before.


Note: torchvision library does not use this option | Boolean | True | | typecasting\_required | To convert final output to numpy or not. Note: This option is specific to the Torchvision library | Boolean | True | **PadImage** - Image padding with constant pad size or based on target dimensions | Parameters | Description | Type | Default | | --- | --- | --- | --- | | target\_dimensions | Height and width of the processed image output. e.g., [640 , 640] for ‘target-dims’ type of padding | list[int] | Mandatory | | pad\_type | - Type of padding. Valid options:
-

  • constant: Add padding of constant sides on 4 sides (pad_size must be provided)


  • target_dims: Add padding based on difference in image size and target size (dims param must be provided)


| String | Mandatory | | constant\_pad\_size | Size of padding for ‘constant’ type of padding | Integer | None | | image\_position | Parameter to specify position of image, either ‘center’ or ‘corner’ (top-left). Padding is added accordingly. Currently used for ‘target\_dims’ type padding | String | ‘center’ | | color\_value | Padding value for all planes | Integer | 114 | **ResizeImage** - Resizes an image using the specified library parameter: cv2(Default), pillow or torchvision | Parameters | Description | Type | Default | | --- | --- | --- | --- | | image\_dimensions | Height and width of the processed image output. e.g., [640 , 640] | list[int] | Mandatory | | library | Python library to be used for resizing a given input; valid values are: opencv | pillow | torchvision | String | opencv | | channel\_order | Convert image to specified channel order. At present this parameter only takes the ‘RGB’ value | String | RGB | | interpolation\_method | - Interpolation Type. Options:
-

  • bilinear (supported by opencv, Torchvision, pillow)


  • area (supported by opencv only)


  • nearest (supported by opencv, Torchvision, pillow)


  • bicubic (supported by Torchvision, pillow)


  • box (supported by pillow only)


  • hamming (supported by pillow only)


  • lanczos (supported by pillow only)


| String | For opencv and torchvision: bilinear


For pillow: bicubic | | resize\_type | - Type of resize to be done. Note: Torchvision does not use this option. Options:
-

  • letterbox : Used for YOLO models.


  • imagenet : Scale followed by resize.


  • aspect_ratio : Resize while keeping aspect ratio.


  • None : The default behavior is to auto-resize the image to the target dims.


| String | None | | resize\_before\_typecast | To resize before or after conversion to target datatype e.g., fp32 | Boolean | True | | typecasting\_required | To convert final output to numpy or not. Note: This option is specific to the Torchvision library | Boolean | True | | mean | Dictionary of means to be subtracted, e.g., {“R”:0.485, “G”:0.456, “B”:0.406}. Note: This option is specific to the Tensorflow library | RGB dictionary | {“R”:0, “G”:0, “B”:0} | | std | Dictionary of std-dev for rescaling the values, e.g., {“R”:0.229, “G”:0.224, “B”:0.225}. Note: This option is specific to the Tensorflow library | RGB dictionary | {“R”:0, “G”:0, “B”:0} | | normalize\_before\_resize | To perform normalization before or after mean subtraction and standard deviation. Note: This option is specific to the Tensorflow library | Boolean | False | | norm | Normalization factor, all values divided by norm | float32 | 255.0 | | normalize\_first | To perform normalization before or after mean subtraction and standard deviation.


normalize\_first=True means perform normalization before.


Note: torchvision library does not use this option | Boolean | True | ##### Adapter **ClassificationOutputAdapter** - Transforms the output of a classification model into a single output (softmax only), assuming the model provides a list of outputs. Used along with TopKMetric for classification models. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | softmax\_index | The index of the softmax output in the model’s outputs. | Integer | 0 | **BoundingBoxOutputAdapter** - Transforms the bounding box output of a object detection model based on user’s inputs. It allows for conversion from (x, y, w, h) format to (x1, y1, x2, y2) format and swapping of X and Y coordinates. Used along with ObjectDetectionPostProcessor. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | xywh\_to\_xyxy | Whether to convert output from box center (xywh) to box corner (xyxy) format. | Boolean | False | | xy\_swap | Whether to swap X and Y coordinates of bounding boxes. | Boolean | False | ##### Postprocessing memory plugins **SquadPostProcessor** - Predicts answers for a SQuAD dataset for the given start and end scores. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | do\_unpacking | This flag is set to True if using packing strategy | Boolean | False | **CenterFacePostProcessor** - Processes the inference outputs to parse detections and generates detections for the metric evaluation. Used for processing CenterFace face detector. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | image\_dimensions | Output dimensions of the model. Height and width; e.g., [640 , 640] | list[int] | Mandatory | | heatmap\_threshold | User input for minimum confidence score to consider a detection as valid. | Float | 0.05 | | nms\_threshold | User input for nonmaximum suppression threshold for detecting multiple detections per object. | Float | 0.3 | **CenterNetPostProcessor** - Processes the inference outputs to parse detections and generate detections for metric evaluation. Used for processing CenterNet detector. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | output\_dimensions | Output dimensions of the model. Height and width; e.g., [640 , 640] | list[int] | Mandatory | | top\_k | Top K proposals are given from the postprocess plugin | Integer | 100 | | num\_classes | Number of classes | Integer | 1 | | score\_threshold | Threshold to purify the detections | Integer | 1 | **LPRNETPostProcessor** - Used for LPRNET license plate prediction. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | class\_axis | Axis along which the model output is expected. | Integer | -1 | **ObjectDetectionPostProcessor** - Processes the inference outputs to parse detections and generate detections for metric evaluation | Parameters | Description | Type | Default | | --- | --- | --- | --- | | image\_dimensions | Output dimensions of the model. Height and width; e.g., [640 , 640] | list[int] | Mandatory | | type | Type of post-processing (e.g., ‘letterbox’) | Literal[‘letterbox’, ‘stretch’, ‘aspect\_ratio’, ‘orgimage’] | None | | label\_offset | The offset to apply to the label indices. | Integer | 0 | | score\_threshold | Threshold limit for the detection scores | Float | 0.001 | | mask | Do postprocessing on mask | Boolean | False | | mask\_dims | Output dims of model. Provide this only if mask = True. E.g., 100,80,28,28 | String | None | | scale | Comma separated scale values | String | ‘1’ | | skip\_padding | Skip padding while rescaling to original image shape | Boolean | False | **OpenNMTPostprocessor** - Postprocessor for OpenNMT Model with the WMT20 test dataset | Parameters | Description | Type | Default | | --- | --- | --- | --- | | sentencepiece\_model\_path | The path to the SentencePiece model. | str | os.PathLike | Mandatory | | unrolled\_count | The count for unfolding | Optional[Integer] | 26 | **MlCommonsRetinaNetPostProcessor** - Postprocessor for MlCommons RetinaNet Model | Parameters | Description | Type | Default | | --- | --- | --- | --- | | image\_dimensions | Output dimensions of the model. Height and width; e.g., [1200 , 1200] | list[int] | Mandatory | | prior\_boxes\_file\_path | Path to the file containing prior boxes. | os.PathLike | Mandatory | | score\_threshold | Path to the file containing prior boxes. | Float | Mandatory | | nms\_threshold | Path to the file containing prior boxes. | Float | Mandatory | | max\_detections\_per\_image | Path to the file containing prior boxes. | Integer | Mandatory | | num\_classes\_in\_dataset | Path to the file containing prior boxes. | Integer | Mandatory | | feature\_map\_dimensions | Dimensions of feature maps from FPN. | list[int] | Mandatory | ##### Metric memory plugins **MAP\_COCOMetric** - Evaluates the mAP score 50 and 50:05:95 for COCO dataset | Parameters | Description | Type | Default | | --- | --- | --- | --- | | map\_80\_to\_90 | Mapping of classes in range 0-80 to 0-90 | Boolean | False | | seg\_map | Flag to calculate mAP for mask | Boolean | False | | keypoint\_map | Flag to calculate mAP for keypoint | Boolean | False | | dataset\_type | Dataset used for evaluation. data must be one of ‘openimages’ or ‘coco’ | String | ‘coco’ | **perplexity** - Calculates the perplexity metric. Model outputs are expected to be the logits of proper shape. Ground truth data is expected to be in tokenized format and in the form of token IDs. The ground truth will be automatically generated, if using the “gpt2\_tokenizer” dataset plugin. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | logits\_index | Index of the logits output if the model has multiple outputs | Integer | 0 | **precision** - Calculates the precision metric, i.e., (correct predictions / total predictions). | Parameters | Description | Type | Default | | --- | --- | --- | --- | | round | Number of decimal places to round the result to | Integer | 7 | | output\_index | Index of the output to be used from the data provided. | Integer | 0 | **SquadEvaluation** - Calculates F1 score and exact match scores for SQuAD dataset based on predictions and ground truth. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | tokenizer\_model\_name\_or\_path | - The name or path to the model used for tokenization. Can be any one of the below:
-

  • A string, the model ID of a predefined tokenizer hosted inside a model repo on huggingface.co.


  • A string, the model ID of a predefined tokenizer from huggingface.co (user-uploaded) and cache (e.g., “deepset/roberta-base-squad2”)


  • A path to a directory containing vocabulary files required by the tokenizer, for instance saved using the save_pretrained() method, e.g., ./my_model_directory/.


| os.PathLike | str | Mandatory | | max\_answer\_length | The maximum length of an answer, after tokenization. In SQuAD v2 this was set to 30 tokens; in SQuAD v1 it was not specified so a default value of 30 was used. | Integer | 30 | | n\_best\_size | Specifies how many of the possible answers to return for a given question along with corresponding confidence scores. | Integer | 20 | | do\_lower\_case | Whether or not to lowercase all text before processing. | Bool | False | | squad\_version | Indicates which version of SQuAD style questions and answers we’re dealing with (“v1” or “v2”). | Integer | 1 | | decimal\_places | Number of decimal places to round the result to | Integer | 6 | **TopKMetric** - Calculate the number of times where the correct label is among the top k predicted labels. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | k | Top k values, e.g., 1,5 evaluates top1 and top5 | list[int] | [1 , 5] | | label\_offset | Offset required in the labels’ scores, e,g., if shape is 1x1001, then labels\_offset=1 | Integer | 0 | | decimal\_places | Number of decimal places to round the result to | Integer | 7 | **WiderFaceAPMetric** - Computes average precision for easy, medium, and hard cases. | Parameters | Description | Type | Default | | --- | --- | --- | --- | | iou\_threshold | User input for IoU threshold to be used for evaluation. | Float | 0.4 | ### SDK Compatibility Verification The model generated by the converter should be inferred by net-run tools from the same SDK as the converter. We can quickly check the SDK info of model.cpp/model.so by running these string grep commands: strings model.cpp | grep qaisw strings libqnn_model.so | grep qaisw Copy to clipboard Last Published: Aug 06, 2026 [Previous Topic QNN Converter Op Package Code Generation](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/converter_op_package_gen_example.md) [Next Topic Converters](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/converters.md) Source: [https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html](https://docs.qualcomm.com/doc/80-63442-10/topic/general_tools.html)