Tôi tiếp tục nhận được lỗi input_shape từ mã sau.Tại sao tôi gặp lỗi input_shape của Keras LSTM RNN?
from keras.models import Sequential
from keras.layers.core import Dense, Activation, Dropout
from keras.layers.recurrent import LSTM
def _load_data(data):
"""
data should be pd.DataFrame()
"""
n_prev = 10
docX, docY = [], []
for i in range(len(data)-n_prev):
docX.append(data.iloc[i:i+n_prev].as_matrix())
docY.append(data.iloc[i+n_prev].as_matrix())
if not docX:
pass
else:
alsX = np.array(docX)
alsY = np.array(docY)
return alsX, alsY
X, y = _load_data(dframe)
poi = int(len(X) * .8)
X_train = X[:poi]
X_test = X[poi:]
y_train = y[:poi]
y_test = y[poi:]
input_dim = 3
Tất cả những điều trên đều diễn ra suôn sẻ. Đây là nơi nó đi sai.
in_out_neurons = 2
hidden_neurons = 300
model = Sequential()
#model.add(Masking(mask_value=0, input_shape=(input_dim,)))
model.add(LSTM(in_out_neurons, hidden_neurons, return_sequences=False, input_shape=(len(full_data),)))
model.add(Dense(hidden_neurons, in_out_neurons))
model.add(Activation("linear"))
model.compile(loss="mean_squared_error", optimizer="rmsprop")
model.fit(X_train, y_train, nb_epoch=10, validation_split=0.05)
Nó trả về lỗi này.
Exception: Invalid input shape - Layer expects input ndim=3, was provided with input shape (None, 10320)
Khi tôi kiểm tra the website nó nói để chỉ định một bộ "(ví dụ: 100,) cho đầu vào 100 chiều)."
Điều đó đang được nói, tập dữ liệu của tôi bao gồm một cột có độ dài 10320. Tôi cho rằng điều đó có nghĩa là tôi nên đặt (10320,)
vào làm input_shape, nhưng tôi sẽ gặp lỗi. Có ai có giải pháp không?
bất kỳ may mắn với điều này? – Radix
Không có anh chàng. Đó là một bi kịch. Tôi phải đi tư vấn vì điều này. Tôi đã phá vỡ. – NickTheInventor
Tìm thấy điều này - có vẻ như bạn phải tự thực hiện các kỷ nguyên (bit cuối cùng của mã): https://github.com/fchollet/keras/blob/master/examples/stateful_lstm.py – Radix