hb_eval_preprocess工具

用于对模型精度进行评估时,在x86环境下对图片数据进行预处理。所谓预处理是指图片数据在送入模型之前的特定处理操作(比如:图片resize、crop和padding等)。 使用hb_eval_preprocess工具对图片进行预处理并生成二进制文件的基本流程,如图所示:

hb_eval_preprocess_tool

支持范围

上板模型仅支持AIbenchmark PTQ示例模型,包括如下模型:

mobilenetv1、mobilenetv2、resnet50、googlenet、efficientnet_lite0、efficientnet_lite1、 efficientnet_lite2、efficientnet_lite3、efficientnet_lite4、vargconvnet、efficientnasnet_m、efficientnasnet_s、resnet18、yolov2_darknet19、 yolov3_darknet53、yolov5x、ssd_mobilenetv1、centernet_resnet101、yolov3_vargdarknet、deeplabv3plus_efficientnetb0、fastscnn_efficientnetb0、 deeplabv3plus_efficientnetm1、deeplabv3plus_efficientnetm2。

使用方法

Usage: hb_eval_preprocess [OPTIONS] Example: hb_eval_preprocess -m mobilenetv1 -i ./files Options: -h, --help Show this message and exit. --version Show the version and exit. -m, --model_name Input model name. [required] [mobilenetv1|mobilenetv2|resnet50|googlenet|efficientnet_lite0|efficientnet_lite1| efficientnet_lite2|efficientnet_lite3|efficientnet_lite4|vargconvnet|efficientnasnet_m| efficientnasnet_s|resnet18|yolov2_darknet19|yolov3_darknet53|yolov5x|ssd_mobilenetv1| centernet_resnet101|yolov3_vargdarknet|deeplabv3plus_efficientnetb0|fastscnn_efficientnetb0| deeplabv3plus_efficientnetm1|deeplabv3plus_efficientnetm2] -i, --image_dir TEXT Input image dir. [required] -o, --output_dir TEXT Output dir. -v, --val_txt TEXT

命令行参数

参数名称                      参数说明
-h, --help显示帮助信息。
--version显示版本并退出。
-m, --model_name设置模型名称,支持的模型范围可通过 hb_eval_preprocess --help 查看。
-i, --image_dir输入图片路径。
-o, --output_dir输出路径。
-v, --val_txt设置评测所需图片的文件名称,预处理生成的图片将与此文件中的图片名称对应。

使用示例

resnet50 模型为例,使用以下命令对图片进行预处理:

hb_eval_preprocess -m resnet50 -i ./files -o ./output

输出内容说明

hb_eval_preprocess 命令将会在 --output_dir 指定的路径下生成图片二进制文件。

小技巧

更多关于 hb_eval_preprocess 工具在上板模型精度评估中的应用示例请参见 数据预处理 一节内容。