--compression_optimize_conf
功能说明
模型压缩功能配置文件路径以及文件名,通过该参数使能配置文件中指定的模型压缩特性,从而提升网络性能。
关联参数
无。
参数取值
参数值:配置文件路径以及文件名。
参数值格式:路径和文件名:支持大小写字母(a-z,A-Z)、数字(0-9)、下划线(_)、中划线(-)、句点(.)、中文字符。
参数值约束:当前配置文件仅支持calibration特性,用于使能graph压缩功能。配置文件中冒号前面表示模型压缩特征,冒号后面表示该特性对应的参数。具体请参考示例。
参数默认值:无。
推荐配置及收益
无。
示例
假设模型压缩功能配置文件名称为compression_optimize.cfg,文件内容配置示例如下:
calibration: { input_data_dir: ./data.bin,d2.bin input_shape: in:16,16;in1:16,16 config_file: simple_config.cfg infer_soc: xxxxxx infer_device_id: 0 log: info }
- calibration:训练后量化。
各参数说明如下,
- input_data_dir:必选配置,模型输入校准数据的bin文件路径。若模型有多个输入,则多个输入的bin数据文件以英文逗号分隔。
- input_shape:必选配置,模型输入校准数据的shape信息,例如:input_name1:n1,c1,h1,w1;input_name2:n2,c2,h2,w2,节点中间使用英文分号分隔。
- config_file:可选配置,训练后量化简易配置文件,该文件配置示例以及参数解释请参见简易配置文件。
- infer_soc:必选配置,进行训练后量化校准推理时,所使用的芯片名称。
如果无法确定具体的<soc_version>,则在安装昇腾AI处理器的服务器执行npu-smi info命令进行查询,在查询到的“Name”前增加Ascend信息,例如“Name”对应取值为xxxyy,实际配置的<soc_version>值为Ascendxxxyy。
- infer_device_id:可选配置,进行训练后量化校准推理时所使用昇腾AI处理器设备的ID,默认为0。
- log:可选配置,设置训练后量化时的日志等级,该参数只控制训练后量化过程中显示的日志级别,默认显示info级别:
- debug:输出debug/info/warning/error/event级别的日志信息。
- info:输出info/warning/error/event级别的日志信息。
- warning:输出warning/error/event级别的日志信息。
- error:输出error/event级别的日志信息。
此外,训练后量化过程中的日志打屏以及日志落盘信息由AMCT_LOG_DUMP环境变量进行控制:- export AMCT_LOG_DUMP=1:表示日志打印到屏幕。
- export AMCT_LOG_DUMP=2:将日志落盘到当前路径的“amct_log_{timestamp}/amct_acl.log”文件中,同时在“amct_log_{timestamp}”目录下保存量化因子record文件record.txt。
- export AMCT_LOG_DUMP=3:将日志落盘到当前路径的“amct_log_{timestamp}/amct_acl.log”文件中,同时在“amct_log_{timestamp}”目录下保存量化因子record文件record.txt和包含量化过程中各阶段的图描述信息的graph文件。
将该文件上传到AOE工具所在服务器,例如上传到${HOME}/module,使用示例如下:
--compression_optimize_conf=${HOME}/module/compression_optimize.cfg
依赖约束
- 使用配置文件中的calibration训练后量化功能时,只支持带NPU设备的安装场景,详细介绍请参见手册搭建对应产品环境。
- 使用配置文件中的calibration进行训练后量化功能时,AOE工具会调用AMCT量化接口执行相关操作,原理图如下:
图1 训练后量化原理简图
父主题: 高级功能