---
title: IFMR数据量化时，存在"inf或NaN值"或"xxx calculate scale failed"，量化过程报错-昇腾社区
description: 在调用TensorFlow框架执行中间校准模型推理过程中，由于输入数据范围不合法，导致量化算法计算得到的scale不合理，从而校准过程失败，终止校准流程。
keywords: inf;NaN;calculate scale failed
url: https://www.hiascend.com/document/caselibrary/detail/atlasamct_16_0364
section: (其他)
---

# IFMR数据量化时，存在"inf或NaN值"或"xxx calculate scale failed"，量化过程报错-昇腾社区

URL: https://www.hiascend.com/document/caselibrary/detail/atlasamct_16_0364
描述: 在调用TensorFlow框架执行中间校准模型推理过程中，由于输入数据范围不合法，导致量化算法计算得到的scale不合理，从而校准过程失败，终止校准流程。
关键词: inf;NaN;calculate scale failed

昇腾文档 [了解详情](https://www.hiascend.com/document)

故障案例 [了解详情](https://www.hiascend.com/document/caselibrary)

IFMR数据量化时，存在"inf或NaN值"或"xxx calculate scale failed"，量化过程报错

IFMR数据量化时，存在"inf或NaN值"或"xxx calculate scale failed"，量化过程报错

2025/04/17

447

问题信息

| 问题来源 | 产品大类 | 产品子类 | 关键字 |
| --- | --- | --- | ---|
| 官方 | 应用开发 | CANN | inf、NaN、calculate scale failed |

#### 问题现象描述

在调用TensorFlow框架执行中间校准模型推理过程中，由于输入数据范围不合法，导致量化算法计算得到的scale不合理，从而校准过程失败，终止校准流程。

- IFMR数据量化时，存在inf或NaN值，量化报错如下：

```
tensorflow.python.framework.errors_impl.InvalidArgumentError: 2 root error(s) found.
  (0) Invalid argument: Error: Exit Infinite value before data quantization! : Tensor had NaN values
	 [[{{node CheckNumerics_33}}]]
	 [[detector/yolo-v3-tiny/Conv_2/act_quant/act_quant_IFMR/cond/StringFormat/Switch/_69]]
  (1) Invalid argument: Error: Exit Infinite value before data quantization! : Tensor had NaN values
	 [[{{node CheckNumerics_33}}]]
0 successful operations.
0 derived errors ignored.

During handling of the above exception, another exception occurred:
```

#### 原因分析

针对“calculate scale failed”原因分析如下：

原始数据不在范围：（其中EPSILON包括DBL_EPSILON double类型，FLT_EPSILON float类型，当前使用的是FLT_EPSILON类型）

AMCT量化支持计算得到的最大，因为在昇腾AI处理器量化动作做的是乘法计算：， 如果scale大于，会小于FLT_EPSILON，此时量化后结果就不可信。因此AMCT量化算法仅支持原始数据范围在内进行量化，否则会提示不支持并提示错误信息。

#### 解决措施

根据提示信息，跳过日志中的量化层，例如上述提示信息中的Conv_2层。

本页内容

- 问题信息
- 问题现象描述
- 原因分析
- 解决措施
