В настоящее время я создаю сеть на основе LSTM для прогнозирования временных рядов, и я хотел попробовать использовать оболочку Keras 'Bidirectional
, чтобы посмотреть, может ли это повысить мою точность.
Однако добавление оболочки приводит к мой выходной слой теряет свой атрибут kernel
, что проблематично c, так как мой оптимизатор пытается получить к нему доступ, что приводит к cra sh во время компиляции.
То есть, когда я делаю :
model = Sequential()
model.add(LSTM(
100,
batch_input_shape=(batch_size, look_back, features),
))
model.add(Dense(1))
print(hasattr(model.layers[-1], 'kernel'))
True
Но при переносе LSTM примерно так:
model = Sequential()
model.add(Bidirectional(LSTM(
100,
batch_input_shape=(batch_size, look_back, features),
)))
model.add(Dense(1))
print(hasattr(model.layers[-1], 'kernel'))
False