6.2.2.3. 模型推理命令(hb_mapper infer)

注意

  • hb_mapper infer 受 onnxruntime 限制,不支持动态的shape infer,因此要求输入的模型shape信息明确。

  • 该工具不支持 infer 含有 shape信息为 ? 的模型。

  • 该工具仅支持输入为四维且输出小于等于四维的模型。

该命令利用浮点和量化模型进行推理,并保存推理结果到 --output-dir 指定的目录里面。

为了验证分析模型编译是否正确,可将配置文件中 layer_out_dump 设置为 True,它将会输出conv和输出节点的推理结果, 之后可以借助向量比较工具来分析模型编译的正确与否。

6.2.2.3.1. 使用方法

hb_mapper infer的使用方法:

hb_mapper infer --config ${config_file} \
                --model-file ${quantized_model_file}  \
                --model-type ${caffe/onnx} \
                --image-file ${input_node} ${image_file} \
                --input-layout ${input_layout} \
                --output-dir ${quantized_output_dir}

在使用 hb_mapper infer 命令时,请输入与 hb_mapper makertbin 命令相同的配置文件,以保证输入数据处理的部分的设置是相同的。 简单地说,您在 hb_mapper makertbin 时使用的校准数据是什么样的图片或数据,那么在 hb_mapper infer 时也需要使用相同格式的图片或数据。

注意

您使用 hb_mapper infer 命令时输入数据的选择与配置文件中以下输入数据配置部分有关:

  • preprocess_on: True,则工具可以接收JPEG图片,自动进行resize等预处理,并转化成 input_type_rt 的格式。

  • preprocess_on: False,则只能接收已经处理好,储存为二进制格式的图片文件,因此预处理需要您自行完成, 并把图片转化成相应的二进制文件。(请参考脚本02_preprocess.sh)。

6.2.2.3.2. 命令行参数

hb_mapper infer的命令行参数:
--help

显示帮助信息并退出。

-c, --config

模型编译时的配置文件。

--model-file

进行推理的模型文件,可以是浮点和量化ONNX模型。

--model-type

指定推理的原始浮点模型类型,可指定为 caffeonnx

--image-file

输入节点名称和其对应的用于推理的图像文件。

--input-layout

模型输入的layout(此为可选参数)。

--output-dir

推理结果的保存路径,如果是量化模型,推理结果为反量化的浮点数据。

输出内容在 output_dir 目录里,输出文件命名规则: ${layername}_float.bin