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

#### 产品支持情况

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


#### 功能说明

设置针对浮点计算的进程级溢出模式，当前可支持两种溢出模式：饱和模式与INF/NaN模式。- 饱和模式：计算出现溢出时，计算结果会饱和为浮点数极值（+-MAX）。
- INF/NaN模式：遵循IEEE 754标准，根据定义输出INF/NaN的计算结果。


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

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

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


#### 函数原型

```
def set_device_sat_mode(mode)
```


#### 参数说明

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


#### 返回值

无


#### 约束说明

无


#### 调用示例

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

```
import tensorflow as tf
import npu_device as npu
# 初始化NPU为默认设备
npu.open().as_default() 
# 针对Atlas A2 训练系列产品/Atlas A2 推理系列产品，网络执行时调用如下接口进行溢出模式的设置
npu.npu_device.set_device_sat_mode(1)
```
