1 引言

目前地平线浮点转换工具链需要依据 yaml 配置文件实现模型转换,而某些参数如果配置有误将会导致最终模型的性能/精度不理想,甚至直接转换失败,本文将针对 yaml 文件中的相关配置项进行说明,作为工具链文档的额外补充。

Note:随着工具链版本迭代,yaml 参数可能会有细微调整,本文以 v1.9.4 版本 MobileNet-v1为例进行说明。

2 概述

整个 yaml 文件包含 4 个必选参数组model_parametersinput_parameterscalibration_parameterscompiler_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算子自定义,更多关于如何自定义算子请参考文章自定义算子这一小节,相关参数配置说明如下: