自动通道稀疏搜索简易配置文件说明
自动通道稀疏搜索的相关配置说明存在于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'