---
title: set_device_sat_mode
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/TensorFlowCommercial/latest/migration/tfmigr1/tfmigr1_tfadapi_0094.html
sourcePath: /source/zh/TensorFlowCommercial/900/migration/tfmigr1/tfmigr1_tfadapi_0094.html
indexId: f8655a07fc448ce859ca4f285e0bc67d6b02fe96981b1deeea2bb0bfb78c10a779
---
# set_device_sat_mode

#### 产品支持情况

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


#### 功能说明

设置针对浮点计算的进程级溢出模式。

- 饱和模式：计算出现溢出时，计算结果会饱和为浮点数极值（+-MAX）。
- INF/NaN模式：遵循IEEE 754标准，根据定义输出INF/NaN的计算结果。

针对Atlas 350 加速卡，支持两种溢出模式：饱和模式与INF/NaN模式，请保持默认值INF/NaN模式。饱和模式仅用于兼容旧版本，后续不再演进，且此模式下计算精度可能存在误差。

针对 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 ，支持两种溢出模式：饱和模式与INF/NaN模式，请保持默认值INF/NaN模式。饱和模式仅用于兼容旧版本，后续不再演进，且此模式下计算精度可能存在误差。

针对 Atlas A2 训练系列产品 / Atlas A2 推理系列产品 ，支持两种溢出模式：饱和模式与INF/NaN模式，请保持默认值INF/NaN模式。饱和模式仅用于兼容旧版本，后续不再演进，且此模式下计算精度可能存在误差。

针对 Atlas 训练系列产品 ，默认值为“饱和模式”，且仅支持“饱和模式”。


#### 函数原型

```
def set_device_sat_mode(mode)
```


#### 参数说明

| 参数名 | 输入/输出 | 描述 |
| --- | --- | --- |
| mode | 输入 | 设置的溢出模式。 0：饱和模式。 1：INF/NaN模式。 针对Atlas 350 加速卡，请保持默认值“1”。 针对 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 ，请保持默认值“1”。 针对 Atlas A2 训练系列产品 / Atlas A2 推理系列产品 ，请保持默认值“1”。 针对 Atlas 训练系列产品 ，默认值“0”，且仅支持配置为“0”。 |


#### 返回值

无


#### 约束说明

该接口需要在运行时配置，网络脚本执行前调用。


#### 调用示例

以下示例仅针对Atlas 350 加速卡， Atlas A3 训练系列产品 / Atlas A3 推理系列产品 ， Atlas A2 训练系列产品 / Atlas A2 推理系列产品 ，其他型号处理器，开发者无需显式调用此接口。

```
import tensorflow as tf
from npu_bridge.npu_init import *

......
# 网络执行时调用如下接口进行溢出模式的设置
npu_plugin.set_device_sat_mode(1)
sess.run(xxx)
```
