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

#### 产品支持情况

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


#### 功能说明

训练后量化接口，根据量化因子记录文件record_file将用户待量化的原始pb模型保存为可以在NPU（AI处理器）环境进行在线推理的pb模型文件。


#### 函数原型

```
save_model_ascend(pb_model, outputs, record_file, save_path)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| pb\_model | 输入 | 含义：用户待量化的原始pb模型文件。 数据类型：string 使用约束：pb\_model必须为推理图模型，图中不能包含训练模式的算子，例如FusedBatchNormV3算子的is\_training必须为False。 |
| outputs | 输入 | 含义：graph中输出算子的列表。 数据类型：list，列表中元素类型为string |
| record\_file | 输入 | 含义：量化因子记录文件路径及名称。通过该文件、量化配置文件以及原始pb模型文件，生成量化后的模型文件。 数据类型：string |
| save\_path | 输入 | 含义：模型存放路径。 该路径需要包含模型名前缀，例如./quantized\_model/\*model。 数据类型：string |


#### 返回值说明

无


#### 约束说明

- 该接口只接收pb类型的模型文件，用户需要将待量化模型提前转换为pb类型。
- 该接口需要输入量化因子记录文件，量化因子记录文件在  quantize_model_ascend
阶段生成，在模型推理阶段填充有效值。


#### 调用示例

```
import amct_tensorflow as amct
# 进行网络推理，期间完成量化
with calibration_graph.as_default():
    sess = tf.session(prepare_config("npu"))
    sess.run(calibration_outputs, feed_dict={inputs: inputs_data})
# 插入API，将量化的模型存为PB文件
amct.save_model_ascend(pb_model="./user_model.pb",
                outputs=["model/outputs"],
                record_file="./record_scale_offset.txt",
                save_path="./inference/model")
```

落盘文件如下：生成可以在NPU（AI处理器）环境进行在线推理的pb模型文件，重新执行量化时，该接口输出的上述文件将会被覆盖。
