[英]Bidirectional LSTM model not yet been built error
我現在正在編寫雙向 LSTM 的 model。 但是,在構建 model 的過程中出現了錯誤。 我該如何解決? 下面是我的 model 代碼。
def lstm_model():
model = Sequential()
model.add(Bidirectional(LSTM(lstm_sell, return_sequences=True,
input_shape=(time_steps, n_features), dropout=0.5, recurrent_dropout=0.5))) # return_sequences=True , stateful=True
#model.add(Dropout(0.5))
model.add(Bidirectional(LSTM(lstm_sell, return_sequences=True, dropout=0.5, recurrent_dropout=0.3))) # return_sequences=True , stateful=True
#model.add(Dropout(0.3))
model.add(Bidirectional(LSTM(lstm_sell, return_sequences=True))) # 80
model.add(Flatten())
model.add(Dense(8))
model.add(Dense(1, activation='sigmoid'))
# model.add(Reshape((time_steps,)))
#opt = RMSprop(lr=0.0001)#, decay=1e-6)
model.compile(loss='mse',
optimizer='rmsprop',
metrics=['mse'])
model.summary()
return model
然后是錯誤內容。
Traceback (most recent call last):
File "C:/Users/USER/PycharmProjects/untitled/GA-LSTM.py", line 504, in <module>
model = lstm_model()
File "C:/Users/USER/PycharmProjects/untitled/GA-LSTM.py", line 498, in lstm_model
model.summary()
File "C:\Users\USER\Anaconda3\lib\site-packages\keras\engine\network.py", line 1252, in summary
'This model has not yet been built. '
ValueError: This model has not yet been built. Build the model first by calling build() or calling fit() with some data. Or specify input_shape or batch_input_shape in the first layer for automatic build.
Process finished with exit code 1
model 需要知道它應該期望什么輸入形狀。
設置雙向層的輸入形狀
def lstm_model():
model = Sequential()
model.add(Bidirectional(LSTM(lstm_sell, return_sequences=True, dropout=0.5, recurrent_dropout=0.5),
input_shape=(time_steps, n_features))) # return_sequences=True , stateful=True
#model.add(Dropout(0.5))
model.add(Bidirectional(LSTM(lstm_sell, return_sequences=True, dropout=0.5, recurrent_dropout=0.3))) # return_sequences=True , stateful=True
#model.add(Dropout(0.3))
model.add(Bidirectional(LSTM(lstm_sell, return_sequences=True))) # 80
model.add(Flatten())
model.add(Dense(8))
model.add(Dense(1, activation='sigmoid'))
# model.add(Reshape((time_steps,)))
#opt = RMSprop(lr=0.0001)#, decay=1e-6)
model.compile(loss='mse',
optimizer='rmsprop',
metrics=['mse'])
model.summary()
return model
第一層是雙向層
Model: "sequential_1"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
bidirectional_1 (Bidirection (None, 1, 20) 1680
_________________________________________________________________
bidirectional_2 (Bidirection (None, 1, 20) 2480
_________________________________________________________________
bidirectional_3 (Bidirection (None, 1, 20) 2480
_________________________________________________________________
flatten_1 (Flatten) (None, 20) 0
_________________________________________________________________
dense_1 (Dense) (None, 8) 168
_________________________________________________________________
dense_2 (Dense) (None, 1) 9
=================================================================
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.