Я перехожу по этой ссылке , чтобы обучить классификатор rnn на небольшом наборе данных, чтобы проверить, работает ли код.
При выполнении команды rnn.predict(data_test, 'answer.csv')
, выдается исключение:
AttributeError: 'tuple' object has no attribute 'ndim'
Вот функция предсказания
def predict(self, data_test, answer_filename):
word_matrix, char_matrix, additional_features_matrix = data_test
print("Test example: ")
print(word_matrix[0])
print(char_matrix[0])
print(additional_features_matrix[0])
preds = self.model.predict([word_matrix, char_matrix, additional_features_matrix],
batch_size=self.batch_size, verbose=1)
index_to_author = { 0: "EAP", 1: "HPL", 2: "MWS" }
submission = pd.DataFrame({"id": test["id"], index_to_author[0]: preds[:, 0],
index_to_author[1]: preds[:, 1], index_to_author[2]: preds[:, 2]})
submission.to_csv(answer_filename, index=False)
word_matrix
, char_matrix
, additional_features_matrix
имеют переменную длину.В моем случае размеры (80,), (80, 30) и (1153, 15) соответственно.Я нашел его в Google и обнаружил, что должен добавить отступ во входной массив numpy.
Но код в ссылке работал нормально.Я не могу понять, что я делаю неправильно.Может ли кто-нибудь помочь мне с этим?