文档
注册

量化感知训练简易配置文件说明

retrain_config_mindspore.proto文件参数说明如表1所示,该文件所在目录为:AMCT安装目录/amct_mindspore/proto/retrain_config_mindspore.proto。

表1 retrain_config_mindspore.proto参数说明

消息

是否必填

类型

字段

说明

AMCTRetrainConfig

-

-

-

AMCT量化感知训练的简易配置。

repeated

string

skip_layers

按层名跳过哪些层。全局参数,方便后续拓展其他特性场景下可同时跳过的层,比如下述拓展的quant_skip_layers参数,若后续又拓展了xxx_skip_layers参数,则通过skip_layers参数可以同时配置两个特性场景下需要跳过的层。而无需在quant_skip_layers和xxx_skip_layers参数中分别配置。

若同时配置了skip_layers和quant_skip_layers参数,则取两者并集。

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参数,则取两者并集。

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

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

required

RetrainDataQuantConfig

retrain_data_quant_config

量化感知训练数据量化配置参数。全局量化配置参数。

参数优先级为:override_layer_configs>override_layer_types>retrain_data_quant_config/retrain_weight_quant_config

required

RetrainWeightQuantConfig

retrain_weight_quant_config

量化感知训练权重量化配置参数。全局量化配置参数。

参数优先级为:override_layer_configs>override_layer_types>retrain_data_quant_config/retrain_weight_quant_config

repeated

string

quant_skip_layers

按层名跳过不需要量化的层。量化场景下使用的参数。

若同时配置了skip_layers和quant_skip_layers参数,则取两者并集。

repeated

string

quant_skip_types

按层类型跳过不需要量化的层。量化场景下使用的参数。

若同时配置了skip_layer_types和quant_skip_types参数,则取两者并集。

RetrainDataQuantConfig

-

-

-

量化感知训练数据量化配置。

-

ULQuantize

ulq_quantize

数据量化的算法,目前仅支持ULQ。

ULQuantize

-

-

-

ULQ数据量化算法参数。算法介绍请参见ULQ数据量化算法

optional

ClipMaxMin

clip_max_min

初始化的上下限值,如果不配置,默认用ifmr进行初始化。

optional

bool

fixed_min

是否下限不学习且固定为0。默认ReLu后为true,其他为false。

ClipMaxMin

-

-

-

初始上下限。

required

float

clip_max

初始上限值。

required

float

clip_min

初始下限值。

RetrainWeightQuantConfig

-

-

-

量化感知训练权重量化配置。

-

ARQRetrain

arq_retrain

权重量化算法,目前仅支持ARQ。

ARQRetrain

-

-

-

ARQ权重量化算法参数。算法介绍请参见ARQ权重量化算法

optional

bool

channel_wise

是否做channel wise的ARQ。

RetrainOverrideLayer

-

-

-

重写的层配置。

required

string

layer_name

层名。

required

RetrainDataQuantConfig

retrain_data_quant_config

重写的数据层量化参数。

required

RetrainWeightQuantConfig

retrain_weight_quant_config

重写的权重层量化参数。

RetrainOverrideLayerType

-

-

-

重写的层类型配置。

required

string

layer_type

层类型。

required

RetrainDataQuantConfig

retrain_data_quant_config

重写的数据层量化参数。

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
        }
        fixed_min: true
    }
}

skip_layers: "conv2"
skip_layer_types: "nn.Conv2D"

override_layer_types : {
    layer_type: "nn.Conv2D"
    retrain_weight_quant_config: {
        arq_retrain: {
           channel_wise: false
        }
    }
}

override_layer_configs : {
   layer_name: "conv2"
   retrain_data_quant_config: {
       ulq_quantize: {
           clip_max_min: {
               clip_max: 3.0
               clip_min: -3.0
           }
       }
   }
   retrain_weight_quant_config: {
      arq_retrain: {
         channel_wise: true
        }
      }
}
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词