create_quant_retrain_config
产品支持情况
产品 |
是否支持 |
---|---|
|
|
|
|
|
|
|
注:上述INT4量化,标记“x”的产品,调用接口不会报错,但是获取不到性能收益。
功能说明
量化感知训练接口,根据图的结构找到所有可量化的层,自动生成量化配置文件,并将可量化层的量化配置信息写入配置文件。
函数原型
1 | create_quant_retrain_config(config_file, graph, config_defination=None) |
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
config_file |
输入 |
含义:待生成的量化感知训练配置文件存放路径及名称。 如果存放路径下已经存在该文件,则调用该接口时会覆盖已有文件。 数据类型:string |
graph |
输入 |
含义:用户传入的待量化模型的tf.Graph图。 数据类型:tf.Graph |
config_defination |
输入 |
含义:量化感知训练简易配置文件。 基于retrain_config_tf.proto文件生成的简易配置文件quant.cfg,*.proto文件所在路径为:AMCT安装目录/amct_tensorflow/proto/。*.proto文件参数解释以及生成的quant.cfg简易量化配置文件样例请参见量化感知训练简易配置文件。 数据类型:string 默认值:None |
返回值说明
无
调用示例
1 2 3 4 5 | PATH, _ = os.path.split(os.path.realpath(__file__)) config_path = os.path.join(PATH, 'resnet50_config.json') simple_config = './retrain/retrain.cfg' graph = tf.compat.v1.get_default_graph() amct.create_quant_retrain_config(config_path, graph, simple_config) |
生成的json格式的量化感知训练配置文件样例如下(重新执行量化感知训练时,该接口输出的配置文件将会被覆盖):
- INT8量化配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
{ "version":1, "batch_num":1, "conv1":{ "retrain_enable":true, "retrain_data_config":{ "algo":"ulq_quantize", "dst_type":"INT8" }, "retrain_weight_config":{ "algo":"arq_retrain", "channel_wise":true, "dst_type":"INT8" } }, "conv2_1/expand":{ "retrain_enable":true, "retrain_data_config":{ "algo":"ulq_quantize", "dst_type":"INT8" }, "retrain_weight_config":{ "algo":"arq_retrain", "channel_wise":true, "dst_type":"INT8" } } }
- INT4量化配置文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
{ "version":1, "batch_num":2, "resnet_v1_50/conv1/Conv2D":{ "retrain_enable":true, "retrain_data_config":{ "algo":"ulq_quantize", "dst_type":"INT8" }, "retrain_weight_config":{ "algo":"arq_retrain", "channel_wise":true, "dst_type":"INT8" } }, "resnet_v1_50/block1/unit_1/bottleneck_v1/shortcut/Conv2D":{ "retrain_enable":true, "retrain_data_config":{ "algo":"ulq_quantize", "dst_type":"INT4" }, "retrain_weight_config":{ "algo":"arq_retrain", "channel_wise":true, "dst_type":"INT4" } }
父主题: 量化感知训练接口