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

TensorFlow 2.10.0导出ONNX遇Conda包冲突问题求助

问题:安装tf2onnx和onnxruntime后h5py DLL加载失败,保留TensorFlow 2.10.0解决ONNX导出问题

环境创建流程

我通过以下步骤创建Conda环境并完成MNIST模型训练:

conda create --name tf210 python=3.8
conda activate tf210
conda install -c conda-forge cudatoolkit=11.2 cudnn=8.1.0
pip install tensorflow-gpu==2.10.0 keras==2.10.0 
pip install opencv-python==4.4.0.44 pillow==8.2 numpy==1.22 matplotlib scipy pandas scikit-learn tqdm imutils PyYAML tensorboard seaborn protobuf==3.20 chardet

pip install tensorflow-datasets==4.6.0
conda install ipykernel
python -m ipykernel install --user --name=tf210 --display-name="tf210"

conda install -c conda-forge widgetsnbextension ipywidgets

报错详情

安装tf2onnx和onnxruntime后,代码运行出现如下错误:

Traceback (most recent call last):
  File "F:\pythonProject\main.py", line 3, in <module>
    import tensorflow_datasets as tfds
  File "D:\Anaconda\envs\tf210\lib\site-packages\tensorflow_datasets\__init__.py", line 52, in <module>
    from tensorflow_datasets import image
  File "D:\Anaconda\envs\tf210\lib\site-packages\tensorflow_datasets\image\__init__.py", line 43, in <module>
    from tensorflow_datasets.image.dsprites import Dsprites
  File "D:\Anaconda\envs\tf210\lib\site-packages\tensorflow_datasets\image\dsprites.py", line 23, in <module>
    import h5py
  File "D:\Anaconda\envs\tf210\lib\site-packages\h5py\__init__.py", line 26, in <module>
    from . import _errors
ImportError: DLL load failed while importing _errors:The specified program cannot be found.

已知条件与需求

  • protobuf 3.20.x与tensorflow-gpu 2.10.0、tensorboard 2.14.0适配正常
  • 需保留tensorflow-gpu 2.10.0,解决当前报错并完成ONNX模型导出

解决方案

1. 修复h5py依赖问题

报错根源是pip安装的h5py与Conda环境系统库不兼容,导致DLL缺失。执行以下步骤替换h5py版本:

# 卸载当前pip安装的h5py
pip uninstall -y h5py

# 用conda安装适配Conda环境的h5py版本(选择与Python3.8、TF2.10兼容的3.7.0版本)
conda install -c conda-forge h5py=3.7.0

2. 安装适配TF2.10的tf2onnx与onnxruntime

选择与TensorFlow 2.10.0兼容的版本,避免版本冲突:

# 安装适配TF2.10的tf2onnx
pip install tf2onnx==1.14.0

# 若需GPU加速,安装onnxruntime-gpu;否则安装onnxruntime
pip install onnxruntime-gpu==1.14.0
# CPU版本替代命令:pip install onnxruntime==1.14.0

3. 验证与测试

  • 先验证tensorflow_datasets导入是否正常:
import tensorflow_datasets as tfds
print("tfds imported successfully")
  • 再测试模型导出ONNX的流程,示例代码:
import tensorflow as tf
from tf2onnx import convert

# 加载已训练的MNIST模型
model = tf.keras.models.load_model("mnist_model.h5")

# 转换为ONNX格式
spec = (tf.TensorSpec((None, 28, 28, 1), tf.float32, name="input"),)
output_path = "mnist_model.onnx"
convert.from_keras(model, input_signature=spec, output_path=output_path)
print(f"Model exported to {output_path}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 14:07:17