问题描述
使用keras.optimizers.RMSprop() 直接报错:(如下)
keras.optimizers' has no attribute 'RMSprop'
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-32-d3e15fff58c3> in <module> 9 10 model.compile(loss='binary_crossentropy', ---> 11 optimizer=optimizers.RMSprop(lr=1e-4), 12 metrics=['acc']) 13 AttributeError: module 'keras.optimizers' has no attribute 'RMSprop'
原因分析:
我使用的是Tensorflow 2.6 版本的,后来查看optimizers.py文件。发现优化器的调用方式发生了改变。
解决方案:
from tensorflow.python.keras.optimizers import adam_v2
from tensorflow.python.keras.optimizers import rmsprop_v2
不仅仅是rmsprop优化器,adam也是一样。
-
调用adam优化器
使用optimizer =adam_v2.Adam(learning_rate=1e-4)
而不是optimizer = Adam(lr=1e-4)
-
调用rmsprop优化器
使用optimizer =
rmsprop_v2.
rmsprop(learning_rate=1e-4)
而不是optimizer =
rmsprop(lr=1e-4) 或 optimizer =
RMSprop(lr=1e-4)