---
title: 量化感知训练简易配置文件
description: "retrain_config_caffe.proto文件参数说明如表1所示，该文件所在目录为：AMCT安装目录/amct_caffe/proto/retrain_config_caffe.proto。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/devaids/amct/atlasamct_16_0289.html
sourcePath: /source/zh/canncommercial/900/devaids/amct/atlasamct_16_0289.html
indexId: 5cdb02100b408fcbe120ff2abe136bf580e8f0a59849b03a44d009ec4917c9c765
---
# 量化感知训练简易配置文件

retrain_config_caffe.proto文件参数说明如表1所示，该文件所在目录为：AMCT安装目录/amct_caffe/proto/retrain_config_caffe.proto。


**表1 retrain_config_caffe.proto参数说明**

| 消息 | 是否必填 | 类型 | 字段 | 说明 |
| --- | --- | --- | --- | --- |
| AMCTRetrainConfig | \- | \- | \- | AMCT量化感知训练的简易配置。 |
| AMCTRetrainConfig | repeated | string | skip\_layers | 按层名跳过哪些层。全局参数，方便后续拓展其他特性场景下可同时跳过的层，比如下述拓展的quant\_skip\_layers参数，若后续又拓展了xxx\_skip\_layers参数，则通过skip\_layers参数可以同时配置两个特性场景下需要跳过的层。而无需在quant\_skip\_layers和xxx\_skip\_layers参数中分别配置。 若同时配置了skip\_layers和quant\_skip\_layers参数，则取两者并集。 |
| AMCTRetrainConfig | repeated | string | skip\_layer\_types | 按层类型跳过哪些层（当前版本不支持）。全局参数，方便后续拓展其他特性场景下可同时跳过的层，比如下述拓展的quant\_skip\_types参数，若后续又拓展了xxx\_skip\_types参数，则通过skip\_layer\_types参数可以同时配置两个特性场景下需要跳过的层。而无需在quant\_skip\_types和xxx\_skip\_types参数中分别配置。 若同时配置了skip\_layer\_types和quant\_skip\_types参数，则取两者并集。 |
| AMCTRetrainConfig | repeated | RetrainOverrideLayer | override\_layer\_configs | 按层名重写哪些层，即对哪些层进行差异化压缩。 例如全局量化配置参数配置的初始上下限值为[\-0.6,0.6]，可以通过该参数对部分层进行差异化量化，可以配置为[\-0.3,0.3]。 参数优先级为： 量化场景：override\_layer\_configs>override\_layer\_types>retrain\_data\_quant\_config/retrain\_weight\_quant\_config 稀疏场景：override\_layer\_configs>override\_layer\_types>prune\_config |
| AMCTRetrainConfig | repeated | RetrainOverrideLayerType | override\_layer\_types | 按层类型重写哪些层，即对哪些层进行差异化压缩。 例如全局量化配置参数配置的初始上下限值为[\-0.6,0.6]，可以通过该参数对部分层进行差异化量化，可以配置为[\-0.3,0.3]。 参数优先级为： 量化场景：override\_layer\_configs>override\_layer\_types>retrain\_data\_quant\_config/retrain\_weight\_quant\_config 稀疏场景：override\_layer\_configs>override\_layer\_types>prune\_config |
| AMCTRetrainConfig | optional | uint32 | batch\_num | 量化使用的batch数量。 |
| AMCTRetrainConfig | required | RetrainDataQuantConfig | retrain\_data\_quant\_config | 量化感知训练数据量化配置参数。全局量化配置参数。 参数优先级为：override\_layer\_configs>override\_layer\_types>retrain\_data\_quant\_config/retrain\_weight\_quant\_config |
| AMCTRetrainConfig | required | RetrainWeightQuantConfig | retrain\_weight\_quant\_config | 量化感知训练权重量化配置参数。全局量化配置参数。 参数优先级为：override\_layer\_configs>override\_layer\_types>retrain\_data\_quant\_config/retrain\_weight\_quant\_config |
| AMCTRetrainConfig | repeated | string | quant\_skip\_layers | 按层名跳过不需要量化的层。量化场景下使用的参数。 若同时配置了skip\_layers和quant\_skip\_layers参数，则取两者并集。 |
| AMCTRetrainConfig | repeated | string | quant\_skip\_types | 按层类型跳过不需要量化的层（当前版本不支持）。量化场景下使用的参数。 若同时配置了skip\_layer\_types和quant\_skip\_types参数，则取两者并集。 |
| RetrainDataQuantConfig | \- | \- | \- | 量化感知训练数据量化参数配置。 |
| RetrainDataQuantConfig | \- | ULQuantize | ulq\_quantize | 数据量化算法，目前仅支持ulq。 |
| ULQuantize | \- | \- | \- | ULQ量化算法配置。算法介绍请参见ULQ数据量化算法。 |
| ULQuantize | optional | ClipMaxMin | clip\_max\_min | 初始化的上下限值，如果不配置，默认用ifmr进行初始化。 |
| ULQuantize | optional | bool | fixed\_min | 是否下限不学习且固定为0。默认ReLu后为true，其他为false。 |
| ClipMaxMin | \- | \- | \- | 初始上下限。 |
| ClipMaxMin | required | float | clip\_max | 初始上限值。 |
| ClipMaxMin | required | float | clip\_min | 初始下限值。 |
| RetrainWeightQuantConfig | \- | \- | \- | 量化感知训练权重量化参数配置。 |
| RetrainWeightQuantConfig | \- | ARQRetrain | arq\_retrain | 权重量化算法，目前仅支持arq。 |
| ARQRetrain | \- | \- | \- | ARQ量化算法配置。算法介绍请参见ARQ。 |
| ARQRetrain | required | bool | channel\_wise | 是否做channel wise的arq。 |
| RetrainOverrideLayer | \- | \- | \- | 重写的层配置。 |
| RetrainOverrideLayer | required | string | layer\_name | 层名。 |
| RetrainOverrideLayer | required | RetrainDataQuantConfig | retrain\_data\_quant\_config | 重写的数据层量化参数。 |
| RetrainOverrideLayer | required | RetrainWeightQuantConfig | retrain\_weight\_quant\_config | 重写的权重层量化参数。 |
| RetrainOverrideLayerType | \- | \- | \- | 重写的层类型配置。 |
| RetrainOverrideLayerType | required | string | layer\_type | 层类型。 |
| RetrainOverrideLayerType | required | RetrainDataQuantConfig | retrain\_data\_quant\_config | 重写的数据层量化参数。 |
| RetrainOverrideLayerType | required | RetrainWeightQuantConfig | retrain\_weight\_quant\_config | 重写的权重层量化参数。 |


基于该文件构造的量化感知训练简易配置文件quant.cfg样例如下所示：

```
# global quantize parameter
retrain_data_quant_config: {
ulq_quantize: {
clip_max_min: {
clip_max: 6.0
clip_min: -6.0
}
}
}
retrain_weight_quant_config: {
arq_retrain: {
channel_wise: true
}
}
skip_layers: "
conv_1
"
override_layer_types : {
layer_type: "InnerProduct"
retrain_weight_quant_config: {
arq_retrain: {
channel_wise: false
}
}
}
override_layer_configs : {
layer_name: "
fc_5
"
retrain_weight_quant_config: {
arq_retrain: {
channel_wise: false
}
}
}
```
