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

升级Keras与TensorFlow仍出现_register_wrapper_optimizer_cls属性错误如何解决

报错解决方法

根因

该报错是代码同时混用独立Keras包与TensorFlow内置的tf.keras模块导致的版本冲突:你的导入语句中部分模块来自tf.keras,部分回调、包装类来自独立安装的keras包,二者版本不匹配就会触发该属性缺失错误。即使升级TensorFlow和Keras,只要混用问题没解决,报错就会持续出现。

修复步骤

  • 统一所有Keras相关导入路径,全部替换为tensorflow.keras下的模块:
    找到原导入代码中这两行:
    from keras.callbacks import ModelCheckpoint, LearningRateScheduler, EarlyStopping
    from keras.wrappers.scikit_learn import KerasClassifier
    
    替换为:
    from tensorflow.keras.callbacks import ModelCheckpoint, LearningRateScheduler, EarlyStopping
    from tensorflow.keras.wrappers.scikit_learn import KerasClassifier
    
    如果你的TensorFlow版本为2.12及以上,tf.keras.wrappers已被迁移到独立的scikeras包,替换后如果报wrappers相关错误,执行pip install scikeras,再将第二行导入改为from scikeras.wrappers import KerasClassifier即可
  • 卸载独立安装的Keras包,彻底避免调用冲突:
    执行命令:pip uninstall keras -y
  • 修正优化器参数写法,高版本TensorFlow的Adam优化器已经弃用lr参数,改用learning_rate:
    将模型编译代码改为:
    autoenc3.compile(loss = 'mse', optimizer = Adam(learning_rate = 0.0001))
    
  • 验证版本一致性,执行以下代码确认版本匹配:
    import tensorflow as tf
    print("TensorFlow版本:", tf.__version__)
    print("内置Keras版本:", tf.keras.__version__)
    

完成以上修改后重新运行代码即可解决该报错。

内容的提问来源于stack exchange,提问作者zey.s

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 23:30:00