You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ONNX转TensorFlow报错AttributeError: tensorflow.math无is_inf属性求助

我来帮你拆解这个问题,之前也踩过类似的版本兼容坑:

问题根因

你碰到的AttributeError: module 'tensorflow.math' has no attribute 'is_inf'本质是版本不兼容导致的:

  • TensorFlow 1.x系列(包括你测试的1.13和1.9版本)里根本没有tf.math.is_inf这个API,这个函数是TensorFlow 2.0之后才新增的;
  • 你通过conda-forge安装的onnx-tf版本太新了,这些新版本已经放弃对TF1.x的兼容,内部代码直接调用了TF2.x特有的API,所以一导入onnx_tf.backend就触发了报错。
解决方案

给你两个可行的解决方向,根据你的需求选就行:

方向1:降级onnx-tf到兼容TF1.x的版本

找一个明确支持TF1.x的onnx-tf旧版本,比如1.5.0(这是最后一批稳定支持TF1.x的版本之一),执行以下命令替换安装:

# 先卸载现有不兼容的onnx-tf版本
conda uninstall -n <env> onnx-tf
# 用pip安装兼容的旧版本(conda源可能找不到旧包)
pip install onnx-tf==1.5.0

安装完成后再重新运行你的导入代码,应该就能正常工作了。

方向2:切换到TensorFlow 2.x环境

如果你的模型迁移到TF2.x没有障碍,更推荐直接升级到TF2.x环境,这样能使用最新的onnx-tf功能,步骤如下:

# 创建新的TF2.x环境(这里选TF2.8,兼容性和稳定性都不错)
conda create -n tf2_env python=3.8 tensorflow==2.8.0
# 激活新环境
conda activate tf2_env
# 安装最新版onnx-tf
conda install -c conda-forge onnx-tf

之后再执行import tensorflow as tf、import onnx、from onnx_tf.backend import prepare就不会触发报错了。

快速验证方法

不管选哪个方案,激活环境后可以先简单验证API是否存在:

import tensorflow as tf
# 如果是TF1.x环境,应该用tf.is_inf而不是tf.math.is_inf
print(hasattr(tf, 'is_inf'))  # 返回True就说明没问题
# 如果是TF2.x环境,tf.math.is_inf应该存在
print(hasattr(tf.math, 'is_inf'))  # 返回True就说明没问题

内容的提问来源于stack exchange,提问作者gorkys

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:26:18