[英]Keras encoder-decoder model RuntimeError: You must compile your model before using it
[英]Adding Bidirectional in a Keras LSTM results in a RuntimeError('You must compile your model before using it.')
我正在做:
self.model.add(Bidirectional(LSTM(lstm1_size, input_shape=(
seq_length, feature_dim), return_sequences=True)))
self.model.add(Bidirectional(LSTM(lstm2_size, return_sequences=True)))
self.model.add(Bidirectional(LSTM(lstm3_size, return_sequences=True)))
self.model.add(Bidirectional(LSTM(lstm4_size, return_sequences=True)))
self.model.add(Dense(feature_dim, activation='relu'))
我得到錯誤:
RuntimeError('You must compile your model before using it.')
但是,當我在沒有Bidirectional
的情況下做同樣的事情時,它工作正常。 我究竟做錯了什么?
在您的情況下,這似乎是一個錯誤,因為我嘗試過相同的工作正常。
import tensorflow as tf
from tensorflow.keras import Model
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.layers import LSTM, Bidirectional
lstm1_size = 4
seq_length = 2
lstm2_size = 4
feature_dim = 1
lstm3_size = 4
lstm4_size = 4
model = Sequential()
model.add(Bidirectional(LSTM(lstm1_size, input_shape=(
seq_length, feature_dim), return_sequences=True)))
model.add(Bidirectional(LSTM(lstm2_size, return_sequences=True)))
model.add(Bidirectional(LSTM(lstm3_size, return_sequences=True)))
model.add(Bidirectional(LSTM(lstm4_size, return_sequences=True)))
model.add(Dense(feature_dim, activation='relu'))
model.compile(loss='mean_squared_error', optimizer='adam')
請檢查模型是否在類內/外編譯? 如果問題已經解決,也請告訴我們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.