模型精度验证及调优建议

描述

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 性能影响参数

关于配置文件中与性能相关参数总结(包含未在示例中暴露的高阶参数)如下表所示:

 

YAML

 

 

YAML

 

图1 Layer Details信息

 

3.2 精度影响参数

关于配置文件中与精度相关参数总结(包含未暴露的参数)如下表所示:

 

YAML

 

3.3 自定义算子参数

此部分参数针对您有自定义算子行为的需求进行配置,目前我们已开放部分CPU算子自定义,更多关于如何自定义算子请参考文章自定义算子这一小节,相关参数配置说明如下:

YAML

 

 

本文转载自地平线开发者社区:https://developer.horizon.ai
原作者:颜值即正义
 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分