自动通道稀疏搜索简易配置文件说明
自动通道稀疏搜索的相关配置说明存在于basic_info.proto文件中,该文件所在目录为:AMCT安装目录/amct_tensorflow/proto/basic_info.proto。文件内容如下所示:
消息  | 
是否必填  | 
类型  | 
字段  | 
说明  | 
|---|---|---|---|---|
AutoMixedPrecisionConfig  | 
-  | 
-  | 
-  | 
AMCT自动混合精度搜索简易配置。当前版本暂不支持该特性。  | 
optional  | 
float  | 
compress_ratio  | 
压缩率。以所有可量化层的计算量为基准压缩的倍数。  | 
|
repeated  | 
QuantBitLimit  | 
quant_bit_limit  | 
指定某些层的量化位宽搜索范围。  | 
|
optional  | 
string  | 
ptq_cfg  | 
用户配置的训练后量化简易配置文件,执行校准过程中用于获取INT4、INT8量化位宽下的量化因子。 若不配置,则采用训练后量化默认配置。  | 
|
optional  | 
int64  | 
test_iteration  | 
dump数据的batch数目,根据这些数据来衡量量化的影响以及计算量。数据量应该具有代表性。  | 
|
optional  | 
string  | 
override_qat_cfg  | 
用户配置的量化感知训练简易配置文件,自动混合精度搜索输出会覆盖其层的位宽,其余参数保持不变。 若不配置,则采用量化感知训练简易配置文件说明(.proto格式) ,生成带有量化位宽信息的cfg格式配置文件。  | 
|
AutoChannelPruneConfig  | 
-  | 
-  | 
-  | 
AMCT自动通道稀疏搜索简易配置。  | 
required  | 
float  | 
compress_ratio  | 
压缩率。以所有可量化层的计算量为基准压缩的倍数。  | 
|
optional  | 
bool  | 
ascend_optimized  | 
是否做昇腾亲和优化,如果稀疏后的模型要部署在昇腾AI处理器上,建议此项配置为true。  | 
|
optional  | 
float  | 
max_prune_ratio  | 
单层最大稀疏率,限定接口输出的稀疏配置中稀疏率的最大值,默认为1。  | 
|
optional  | 
int64  | 
test_iteration  | 
输入测试数据的batch数量。  | 
|
optional  | 
string  | 
override_prune_cfg  | 
用户配置的指定通道稀疏简易配置文件,仅允许包含skip与override配置,配置的层将沿用指定的配置,不会被自动通道稀疏搜索接口重写。  | 
|
QuantBitLimit  | 
-  | 
-  | 
-  | 
指定某些层的量化位宽搜索范围。  | 
optional  | 
string  | 
layer_name  | 
层名。  | 
|
repeated  | 
DataType  | 
data_range  | 
量化位宽范围。  | 
|
DataType  | 
-  | 
-  | 
-  | 
量化位宽范围。枚举类型。当前版本仅支持INT8量化。  | 
-  | 
-  | 
FLOAT  | 
浮点,不量化。  | 
|
-  | 
-  | 
INT8  | 
INT8量化。  | 
|
-  | 
-  | 
INT4  | 
INT4量化。  | 
基于该文件构造的自动通道稀疏搜索简易配置文件amc.cfg样例如下所示:
compress_ratio: 1.5 ascend_optimized: true max_prune_ratio: 0.8 test_iteration: 1 override_prune_cfg: 'your/path/to/override_channel_prune.cfg'