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

TensorFlow Keras导入报错:重复注册ReduceDataset梯度

问题:导入Keras相关包时出现KeyError错误

问题场景

使用Keras构建简单分类网络,导入必要包时触发错误。

导入代码

from tensorflow import keras
from keras.models import Sequential
from keras.layers import Dense
from keras.callbacks import EarlyStopping, ModelCheckpoint
from scikeras.wrappers import KerasClassifier

报错信息

KeyError: "Registering two gradient with name 'ReduceDataset'! (Previous registration was in register /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/tensorflow/python/framework/registry.py:65)"

报错栈起始信息

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
Cell In[126], line 1
----> 1 from tensorflow import keras
      3 from keras.models import Sequential
      4 from keras.layers import Dense

File /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/tensorflow/__init__.py:45
     42 from tensorflow.python import tf2 as _tf2
     43 _tf2.enable()
----> 45 from tensorflow._api.v2 import __internal__
     46 from tensorflow._api.v2 import __operators__
     47 from tensorflow._api.v2 import audio

File /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/tensorflow/_api.v2/__internal__/__init__.py:11
      9 from tensorflow._api.v2.__internal__ import decorator
     10 from tensorflow._api.v2.__internal__ import dispatch
----> 11 from tensorflow._api.v2.__internal__ import distribute
     12 from tensorflow._api.v2.__internal__ import eager_context
     13 from tensorflow._api.v2.__internal__ import feature_column

...

环境信息

  • 系统:macOS
  • 已安装包版本:
tensorflow 2.16.1
keras 3.3.3
scikeras 0.13.0
scikit-learn 1.4.2

解决方案

  1. 统一Keras导入方式
    Keras 3.x是独立多后端框架,混合导入tensorflow.keras和独立keras会引发冲突,二选一即可:
  • 仅使用独立Keras导入:
    from keras.models import Sequential
    from keras.layers import Dense
    from keras.callbacks import EarlyStopping, ModelCheckpoint
    from scikeras.wrappers import KerasClassifier
    
  • 或统一使用TensorFlow后端的Keras路径:
    from tensorflow.keras.models import Sequential
    from tensorflow.keras.layers import Dense
    from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint
    from scikeras.wrappers import KerasClassifier
    
  1. 升级Scikeras适配Keras 3.x
    Scikeras 0.13.0对Keras 3.x的支持存在适配问题,升级到兼容版本:
pip install --upgrade scikeras
  1. 重装匹配版本组合
    若升级后仍报错,卸载现有依赖后重新安装兼容版本:
pip uninstall tensorflow keras scikeras -y
pip install tensorflow==2.16.1 keras==3.3.3 scikeras==0.14.0

内容的提问来源于stack exchange,提问作者all.m

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 15:23:17