Tôi đang cố gắng để chạy SimpleRNN này:Sai số của kích thước trên model.fit
model.add(SimpleRNN(init='uniform',output_dim=1,input_dim=len(pred_frame.columns)))
model.compile(loss="mse", optimizer="sgd")
model.fit(X=predictor_train, y=target_train, batch_size=len(pred_frame.index),show_accuracy=True)
Lỗi này là trên model.fit, như bạn có thể xem dưới đây:
File "/Users/file.py", line 1496, in Pred
model.fit(X=predictor_train, y=target_train, batch_size=len(pred_frame.index),show_accuracy=True)
File "/Library/Python/2.7/site-packages/keras/models.py", line 581, in fit
shuffle=shuffle, metrics=metrics)
File "/Library/Python/2.7/site-packages/keras/models.py", line 239, in _fit
outs = f(ins_batch)
File "/Library/Python/2.7/site-packages/keras/backend/theano_backend.py", line 365, in __call__
return self.function(*inputs)
File "/Library/Python/2.7/site-packages/theano/compile/function_module.py", line 513, in __call__
allow_downcast=s.allow_downcast)
File "/Library/Python/2.7/site-packages/theano/tensor/type.py", line 169, in filter
data.shape))
TypeError: ('Bad input argument to theano function with name "/Library/Python/2.7/site-packages/keras/backend/theano_backend.py:362" at index 0(0-based)', 'Wrong number of dimensions: expected 3, got 2 with shape (88, 88).')
Các lỗi nói với tôi rằng nó có sai số kích thước, nó phải là 3 và nó chỉ có 2. Kích thước mà nó đang đề cập đến là gì?
Cảm ơn bạn đã giải thích, tôi có một vấn đề tương tự. Tại sao các bước tối đa cho backpropagation trong trường hợp bạn đang bình luận chỉ là 2? Và tại sao số lượng chuỗi là 5? Bằng cách này, với trình tự bạn có nghĩa là một kỷ nguyên trong đào tạo? – David
Tôi đã chọn ngẫu nhiên số 2 là số lượng các bước trước đó cho backpropagation cho ví dụ này. Kết hợp với số lượng (cũng được tự do lựa chọn) của 8 mẫu, điều này dẫn đến tổng cộng 5 chuỗi. Trình tự 1 bao gồm mẫu 1, 2 và 3, trình tự 2 bao gồm 2, 3 và 4, v.v. Xem trực quan trong câu trả lời của tôi để biết chi tiết. Một kỷ nguyên được thực hiện khi mạng đã được đào tạo với mỗi chuỗi một lần. Sau đó, bạn bắt đầu với chuỗi đầu tiên một lần nữa – Lorrit