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

#### 产品支持情况

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


#### 功能说明

量化感知训练接口，根据用户最终的重训练好的模型，插入AscendQuant、AscendDequant等算子，生成最终fake quant仿真模型和deploy部署模型。


#### 约束说明

无。


#### 函数原型

```
save_quant_retrain_model(retrained_model_file, retrained_weights_file, save_type, save_path, scale_offset_record_file = None, config_file = None)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| retrained\_model\_file | 输入 | 含义：用户重训练好的Caffe模型的定义文件，格式为.prototxt。 数据类型：string 使用约束：retrained\_model\_file中包含的用于推理的层，LayerParameter设置满足推理要求，比如BatchNorm层的use\_global\_stats必须设置为1。 |
| retrained\_weights\_file | 输入 | 含义：用户重训练好的Caffe模型的权重文件，格式为.caffemodel。 数据类型：string |
| save\_type | 输入 | 含义：保存模型的类型： Fakequant表明存储精度仿真模型。 Deploy表示存储可在AI处理器做推理的部署模型。 Both表示两种模型都进行存储。 数据类型：string |
| save\_path | 输入 | 含义：模型存放路径。 该路径需要包含模型名前缀，例如./quantized\_model/\*model。 数据类型：string |
| scale\_offset\_record\_file | 输入 | 含义：存储量化因子的文件。 数据类型：string。默认已初始化，传None |
| config\_file | 输入 | 含义：量化配置文件。 数据类型：string。默认已初始化，传None |


#### 返回值说明

无


#### 调用示例

```
from amct_caffe import amct
retrained_model_file =  './pre_model/retrained_resnet50.prototxt'
retrained_weights_file = './pre_model/resnet50_solver_iter_35000.caffemodel'
scale_offset_record_file = './record.txt'
# 插入API，将重训练的模型保存为prototxt模型文件以及caffemodel权重文件，在./result中生成四个文件：model_fake_quant_model.prototxt，model_fake_quant_weights.caffemodel，model_deploy_model.prototxt，model_deploy_weights.prototxt
amct.save_quant_retrain_model(retrained_model_file, retrained_weights_file, 'Both', './result/model', scale_offset_record_file, config_json_file)
```

落盘文件说明：

- 精度仿真模型文件：一个模型定义文件，一个模型权重文件，文件名中包含fake_quant；模型可在Caffe环境下做推理实现量化精度仿真。
- 部署模型文件：一个模型定义文件，一个模型权重文件，文件名中包含deploy；模型经过ATC工具转换后可部署到AI处理器上。
