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
指定推理的原始浮点模型类型,可指定为
caffe
或onnx
。- --image-file
输入节点名称和其对应的用于推理的图像文件。
- --input-layout
模型输入的layout(此为可选参数)。
- --output-dir
推理结果的保存路径,如果是量化模型,推理结果为反量化的浮点数据。
输出内容在 output_dir
目录里,输出文件命名规则: ${layername}_float.bin
。