![](/img/trans.png)
[英]AttributeError: module 'keras.optimizers' has no attribute 'rmsprop'
[英]how to solve AttributeError: module 'keras.optimizers' has no attribute 'Adam'
我制作了一个 lstm model 并想通过使用 BayesianOptimization 进行参数调整,但是当我编写如下代码时,出现了关于 AttributeError: module 'keras.optimizers' has no attribute 'Adam' 的错误。 上次写的时候还不错,这次就报错了。 你能告诉我如何解决这个问题吗?
def build(hp):
activation = hp.Choice('activation', ['relu', 'tanh', 'linear', 'selu', 'elu'])
# num_rnn_layers = hp.Choice('num_rnn_layers', min_value=1, max_value=20)
recurrent_dropout = hp.Float('recurrent_dropout', min_value=0.0, max_value=0.99)
num_units = hp.Int('num_units', min_value=0, max_value=512)
model = keras.models.Sequential()
model.add(LSTM(units=num_units, activation=activation, recurrent_dropout=recurrent_dropout, input_shape=(80, 50)))
model.add(keras.layers.Dense(1))
model.compile(loss='mse', metrics=['mse'], optimizer=keras.optimizers.Adam(hp.Choice('learning_rate', values=[1e-2, 1e-3, 1e-4])))
model.compile(
optimizer= keras.optimizers.Adam(hp.Float(
'learning_rate',
min_value=1e-10,
max_value=1e-2,
sampling='LOG',
default=1e-6
),
),
loss=tf.losses.MeanSquaredError(),
metrics=[tf.metrics.MeanAbsoluteError()]
)
# model.compile(loss='mse')
return model
model.compile(loss='mse', metrics=['mse'], optimizer=keras.optimizers.Adam(hp.Choice('learning_rate', values=[1e-2, 1e-3, 1e-4])))
AttributeError: module 'keras.optimizers' has no attribute 'Adam'
Invalid model 2/5
WARNING:tensorflow:Layer lstm will not use cuDNN kernels since it doesn't meet the criteria. It will use a generic GPU kernel as fallback when running on GPU.
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/keras_tuner/engine/hypermodel.py", line 127, in build
model = self.hypermodel.build(hp)
File "<ipython-input-12-3f3e21babeb7>", line 9, in build
model.compile(loss='mse', metrics=['mse'], optimizer=keras.optimizers.Adam(hp.Choice('learning_rate', values=[1e-2, 1e-3, 1e-4])))
AttributeError: module 'keras.optimizers' has no attribute 'Adam'
Invalid model 3/5
WARNING:tensorflow:Layer lstm will not use cuDNN kernels since it doesn't meet the criteria. It will use a generic GPU kernel as fallback when running on GPU.
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/keras_tuner/engine/hypermodel.py", line 127, in build
model = self.hypermodel.build(hp)
File "<ipython-input-12-3f3e21babeb7>", line 9, in build
model.compile(loss='mse', metrics=['mse'], optimizer=keras.optimizers.Adam(hp.Choice('learning_rate', values=[1e-2, 1e-3, 1e-4])))
AttributeError: module 'keras.optimizers' has no attribute 'Adam'
Invalid model 4/5
WARNING:tensorflow:Layer lstm will not use cuDNN kernels since it doesn't meet the criteria. It will use a generic GPU kernel as fallback when running on GPU.
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/keras_tuner/engine/hypermodel.py", line 127, in build
model = self.hypermodel.build(hp)
File "<ipython-input-12-3f3e21babeb7>", line 9, in build
model.compile(loss='mse', metrics=['mse'], optimizer=keras.optimizers.Adam(hp.Choice('learning_rate', values=[1e-2, 1e-3, 1e-4])))
AttributeError: module 'keras.optimizers' has no attribute 'Adam'
我认为您需要导入模块或使用 try except 条件来处理您的错误
你应该像这样从 tensorflow 导入 keras,
import tensorflow as tf
from tensorflow import keras
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.