1 引言
目前地平线浮点转换工具链需要依据 yaml 配置文件实现模型转换,而某些参数如果配置有误将会导致最终模型的性能/精度不理想,甚至直接转换失败,本文将针对 yaml 文件中的相关配置项进行说明,作为工具链文档的额外补充。
Note:随着工具链版本迭代,yaml 参数可能会有细微调整,本文以 v1.9.4 版本 MobileNet-v1为例进行说明。
2 概述
整个 yaml 文件包含 4 个必选参数组(model_parameters、input_parameters、calibration_parameters、compiler_parameters)和 1 个可选参数组(custom_op),每个参数组下也区分必选和可选参数(可选参数默认隐藏),具体要求和填写方式请参考工具链文档。其中以下为几个填写注意点:
当模型为多输入模型时, 请将可选参数 input_name, input_shape显式写出, 以免造成参数对应顺序上的错误;
当 input_type_rt 配置为 nv12 时,模型H/W维度不支持奇数输入大小,例如不支持 1x255x255x3。
3 参数详解
本小节针对各部分参数进行分类说明,主要包括 性能影响参数、精度影响参数、自定义算子参数 三类。关于参数的具体描述或取值范围,可参考对应的工具链文档。
3.1 性能影响参数
关于配置文件中与性能相关参数总结(包含未在示例中暴露的高阶参数)如下表所示:
图1 Layer Details信息
3.2 精度影响参数
关于配置文件中与精度相关参数总结(包含未暴露的参数)如下表所示:
3.3 自定义算子参数
此部分参数针对您有自定义算子行为的需求进行配置,目前我们已开放部分CPU算子自定义,更多关于如何自定义算子请参考文章自定义算子这一小节,相关参数配置说明如下:
本文转载自地平线开发者社区:https://developer.horizon.ai
原作者:颜值即正义
原文链接:https://developer.horizon.ai/...