解决:ImportError: cannot import name ‘Adam‘ from ‘keras.optimizers‘
背景
在使用之前的代码时,报错:
from keras.optimizers import Adam
ImportError: cannot import name ‘Adam’
报错问题
from keras.optimizers import Adam
ImportError: cannot import name 'Adam'
报错翻译
主要报错信息内容翻译如下所示:
from keras.optimizers import Adam
ImportError: cannot import name 'Adam'
翻译:
从 keras.optimizers 导入 Adam
ImportError:无法导入名称“Adam”
报错原因
经过查阅资料,发现是版本兼容性问题。keras 库更新后部分导入方式发生了改变,无法按照原方式导入包,Adam 导入方式需要更改。
小伙伴们按下面的解决方法即可解决!!!
解决方法
要解决这个错误,需要根据Keras的版本进行不同的处理。
旧版本的正确的代码是:
from keras.optimizers import Adam
opt = Adam(lr=lr)
请注意,这里的keras.optimizers
是导入Adam优化器的路径,而不是tensorflow.python.keras.optimizers
。
新版本的正确的代码是:
from keras.optimizers import adam_v2
adam = adam_v2.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-08)
请注意,这里的keras.optimizers
是导入Adam优化器的路径,而不是tensorflow.python.keras.optimizers
。