--precision_mode
功能说明
选择算子精度模式。
关联参数
无。
参数取值
参数值:
- force_fp16:表示算子支持fp16和fp32时,强制选择fp16。
- allow_fp32_to_fp16:如果算子支持fp32,则保留原始精度fp32;如果算子不支持fp32,则选择fp16。
- must_keep_origin_dtype:表示保持原图精度:如果网络模型中存在部分算子,并且该算子实现不支持fp32,比如Conv2D卷积算子,则不能使用该参数。
- allow_mix_precision:表示使用混合精度模式:
若配置了该种模式,则可以在OPP软件包安装路径${install_path}/opp/built-in/op_impl/ai_core/tbe/config/${soc_version}/aic-${soc_version}-ops-info.json文件中查看“precision_reduce”参数的取值:
- 若该参数取值为true,则表示相应算子使用fp16精度。
- 若该参数取值为false,则表示相应算子使用fp32精度。
- 若算子没有配置该参数,则表示跟随前一个算子的精度。
参数默认值如下:
- Atlas A2训练系列产品训练场景:must_keep_origin_dtype
- 其他训练场景:allow_fp32_to_fp16
- 其他推理场景:force_fp16
推荐配置及收益
所配置的精度模式不同,网络模型精度以及性能有所不同,具体为:
精度高低排序:must_keep_origin_dtype>allow_fp32_to_fp16>allow_mix_precision>force_fp16
性能优劣排序:force_fp16>=allow_mix_precision>allow_fp32_to_fp16>must_keep_origin_dtype
示例
--precision_mode=force_fp16
依赖约束
无。
父主题: 高级功能