Google Colab中tf.keras.optimizers.Adam相关代码报错如何解决?
报错原因与解决方法
报错信息:
Could not interpret optimizer identifier: <keras.optimizer_v2.adam.Adam object at 0x7f21a9b34d50>
该报错核心原因是TensorFlow/keras API混用、或者参数写法不匹配当前运行的版本,按以下步骤逐一排查即可解决:
- 统一使用
tf.keras体系的API,不要混用独立安装的keras包
检查代码中是否存在import keras之类的导入语句,全部替换为从tf.keras导入,比如from tensorflow.keras.models import Sequential,避免两类Keras API互相不识别实例。 - 修正优化器的学习率参数写法
较新的TensorFlow版本中,Adam优化器的学习率参数已将废弃的lr改为learning_rate,将你的编译代码改为以下写法:model.compile( optimizer=tf.keras.optimizers.Adam(learning_rate=1e-6), loss=tf.keras.losses.BinaryCrossentropy() ) - 如果修改后仍报错,可以优先尝试直接传递优化器字符串标识的简化写法,不需要手动初始化实例:
# 不需要自定义学习率时直接写字符串 model.compile(optimizer='adam', loss=tf.keras.losses.BinaryCrossentropy()) - 若为Colab环境版本兼容问题,可以先指定安装匹配的TensorFlow版本后重启运行时:
执行单元格代码:!pip install tensorflow==2.10,安装完成后点击「运行时」-「重新启动运行时」,再重新运行你的代码即可。
内容的提问来源于stack exchange,提问作者Isaac Sady
相关产品推荐
相关产品推荐

