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

导入onnx_tf.backend触发ModuleNotFoundError:找不到keras.src.engine模块

解决ModuleNotFoundError: No module named 'keras.src.engine'问题

这个错误是由于onnx-tf版本与最新版TensorFlow/Keras(尤其是Keras 3.x)的目录结构不兼容导致的,以下是几种可行的解决办法:

方法1:安装onnx-tf的开发版

官方已在开发分支修复了Keras 3.x的兼容问题,直接安装最新源码版本:

pip install git+https://github.com/onnx/onnx-tensorflow.git

方法2:降级到兼容的Keras版本

如果不想使用开发版,可将Keras降级到2.x系列(避开3.x的目录结构变化),同时匹配对应TensorFlow版本:

# 卸载当前Keras
pip uninstall -y keras
# 安装兼容版本(TensorFlow 2.15.x对应Keras 2.15.0)
pip install keras==2.15.0

注意:安装后需确保TensorFlow版本与Keras版本匹配,避免版本冲突。

方法3:更换转换工具链

如果上述方法仍无效,可改用onnxruntime结合TensorFlow的SavedModel进行转换,步骤如下:

  1. 安装依赖:
pip install onnxruntime tensorflow
  1. 使用以下代码转换:
import onnx
import tensorflow as tf
from onnxruntime.tools.convert_to_saved_model import convert_to_saved_model

# 加载ONNX模型
onnx_model = onnx.load(onnx_path)
# 转换为TensorFlow SavedModel
convert_to_saved_model(onnx_model, saved_model_dir=saved_model_path)

# 转换为TFLite
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_path)
tflite_model = converter.convert()

# 保存TFLite模型
with open(tflite_path, "wb") as f:
    f.write(tflite_model)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 04:04:55