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

Google Colab运行Keras代码报错keras.optimizers无Adam属性如何解决

报错修复方案

错误原因

  • 该报错由Keras版本迭代导致的模块结构变更、以及代码包导入逻辑不规范触发
  • Google Colab会自动更新环境依赖版本,旧版本Keras的keras.optimizers.Adam接口在新版本中已调整
  • 代码同时导入独立Keras包的optimizers和TensorFlow内置Keras的Adam,属于两类Keras包混用,会触发兼容冲突,这也是之前代码可运行、更新后报错的核心原因

修复方案

优先推荐使用TensorFlow内置Keras的方案,适配Colab最新环境,稳定性更高:

方案1:统一使用TensorFlow内置Keras

替换原有导入逻辑,全部调用tf.keras下的模块,同时注意新版本中优化器的学习率参数已从lr调整为标准名learning_rate,修改后代码如下:

# 统一使用tf.keras的相关模块,替换原有导入
from tensorflow.keras import optimizers
from tensorflow.keras.models import Model
from tensorflow.keras.callbacks import EarlyStopping
# 其他原有导入保留

for i in range(5):
    print(i)
    model_mix = Model(inputs=[visible, visible1], outputs=x)
    # 使用tf.keras的Adam优化器,参数lr替换为标准名learning_rate
    adam = optimizers.Adam(learning_rate=0.01, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0, amsgrad=False)
    monitor = EarlyStopping(monitor='val_loss', min_delta=1e-3, patience=6, verbose=2, mode='auto') 
    model_mix.compile(loss="mean_squared_error", optimizer=adam)
    model_mix.fit(
        [x_text_train, x_img_train], y_text_train, callbacks=[checkpointer_cnn,monitor],
        validation_data=([x_text_test, x_img_test], y_text_test),
        epochs=1000)

方案2:指定兼容旧版本独立Keras

如果业务逻辑必须使用独立Keras包,可在Colab代码最开头先执行以下命令安装兼容旧版本,安装完成后重启运行时再执行原有代码即可:

!pip install keras==2.10.0

注意事项

  • 不要混用独立Keras包和TensorFlow内置的tf.keras包,两者版本和接口逻辑不通用,混用极易触发各类兼容问题
  • 优先使用官方标注的标准参数名,避免废弃参数触发的警告或运行错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:27:05