---
title: quantize_model
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/devaids/amct/atlasamct_16_0214.html
sourcePath: /source/zh/canncommercial/900/devaids/amct/atlasamct_16_0214.html
indexId: 7261fa3da4eb3528fe85f84be1dda8456a7b53d8fa315f01d88090a5346d73a065
---
# quantize_model

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 功能说明

训练后量化接口，将输入的待量化的图结构按照给定的量化配置文件进行量化处理，在传入的图结构中插入量化相关的算子，生成量化因子记录文件record_file，并返回量化处理新增的算子列表。


#### 函数原型

```
quant_add_ops = quantize_model(graph, config_file, record_file, calib_outputs=None)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| graph | 输入 | 含义：用户传入的待量化模型的tf.Graph图。 数据类型：tf.Graph |
| config\_file | 输入 | 含义：用户生成的量化配置文件，用于指定模型tf.Graph图中量化层的配置情况。 数据类型：string |
| record\_file | 输入 | 含义：量化因子记录文件路径及名称。 数据类型：string |
| calib\_outputs | 输入 | 含义：graph输出算子列表。 当改图导致尾层输出节点变化，则输出列表也随之更新。 数据类型：list 默认值：None |
| quant\_add\_ops | 返回值 | 含义：量化插入的算子变量列表。 数据类型：list，列表中元素类型为tf.Variable 说明： 该列表中的变量值无法在模型训练参数文件中找到，故模型训练参数直接恢复会出现变量无法找到的错误，因此需要在模型训练参数恢复之前，将 quant\_add\_ops列表中的变量值从恢复列表中剔除，具体的剔除方法请参见插入量化算子后，如何恢复模型训练参数。 |


#### 返回值说明

网络中量化的层名信息列表。

quantize_model对图做了融合，则网络的输出节点会发生变化。例如，Conv+BN（或Conv+BiasAdd+BN）融合后为Conv+BiasAdd，BN等价的输出节点为BiasAdd节点。


#### 调用示例

```
import amct_tensorflow as amct
# 建立待量化的网络结构
network = build_network()

# 插入量化API
amct.quantize_model(
      graph=tf.get_default_graph(),
      config_file="./configs/config.json",
      record_file="./record_scale_offset.txt")
```
