![](/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.