调用keras.optimizers.Adam报AttributeError错误的解决求助
报错
AttributeError: module 'keras.optimizers' has no attribute 'Adam'解决方法 该错误由keras版本与tensorflow后端版本不兼容、不同版本Adam优化器导入路径存在差异导致,可按以下优先级尝试解决方案:
方案1:修改导入路径(无需变更环境版本,优先尝试)
- 优先尝试从tensorflow内置keras模块导入Adam,替换原代码为:
from tensorflow.keras.optimizers import Adam optimizer = Adam(learning_rate)
- 若上述导入仍报错,尝试适配keras2.6的优化器路径:
from keras.optimizers.adam_v2 import Adam optimizer = Adam(learning_rate)
方案2:降级keras版本适配现有tensorflow环境
keras2.6要求tensorflow版本≥2.6,与你当前使用的tensorflow1.13.2不兼容,可将keras降级到匹配版本,执行命令:pip install keras==2.2.4
降级完成后,原有代码optimizer = keras.optimizers.Adam(learning_rate)可直接正常运行。
方案3:升级tensorflow版本适配现有keras版本
如果需要保留keras2.6版本,可将tensorflow升级到对应匹配版本,执行命令:pip install tensorflow==2.6.0
升级完成后原有导入代码可直接运行,注意需要同步适配tensorflow2.x版本的其他语法差异。
内容的提问来源于stack exchange,提问作者Raghu
相关产品推荐
相关产品推荐

