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

Keras转ONNX模型报错:'tuple' object has no attribute 'graph'求助

问题排查与修复

你遇到的错误是因为tf2onnx.convert.from_keras()返回的是一个元组(包含ONNX模型原型和外部数据信息),而非单一的ONNX模型对象,同时最后一行错误地将Keras模型model传给了onnx.save()。

修正后的代码

import tf2onnx
import onnx
from tensorflow.python.keras import models

# 加载Keras模型
model = models.load_model("model.h5")   

# 转换模型,取元组中的第一个元素(ONNX模型原型)
onnx_model, _ = tf2onnx.convert.from_keras(model, opset=13)

# 保存正确的ONNX模型对象
onnx.save(onnx_model, 'test.onnx')

关键修正点

  • tf2onnx.convert.from_keras()返回(onnx_model_proto, external_data)元组,我们只需要第一个元素作为可保存的ONNX模型
  • 最后一行必须传入转换得到的onnx_model,而非原始的Keras模型model

可选验证步骤

转换完成后可验证ONNX模型的有效性:

# 加载并验证模型
loaded_model = onnx.load('test.onnx')
onnx.checker.check_model(loaded_model)
print("ONNX模型验证通过")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 12:35:20