【问题标题】:Keras predict function throws AttributeError: 'tuple' object has no attribute 'ndim'Keras预测函数抛出AttributeError:'tuple'对象没有属性'ndim'
【发布时间】:2018-09-06 06:52:34
【问题描述】:

我正在关注这个link 在小型数据集上训练 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_matrixchar_matrixadditional_features_matrix 的长度可变。就我而言,尺寸分别为 (80,)、(80, 30) 和 (1153, 15)。我用谷歌搜索,发现我应该在输入的 numpy 数组中添加填充。

但是,链接中的代码运行良好。我无法理解我做错了什么。有人可以帮我解决这个问题吗?

【问题讨论】:

  • 你能分享一下你输入的细节data_test吗?也许你称之为 predict 的相关 coe。
  • rnn = SpookyRNN() rnn.load(MODEL_FILENAME) rnn.predict(data_test, 'answer.csv') 它在最后一条语句中抛出错误。
  • 请编辑问题并在此处添加代码。此外,您仍然没有包括 data_test 的来源。此外,简单地构建网络的三行代码是一个相当大的工作范围,因此可能会添加更多行来显示您如何编译模型,您使用什么优化器,您在哪里调用 fit,......(假设您是使用 Keras)

标签: machine-learning keras deep-learning lstm rnn


【解决方案1】:

我发现了自己的错误。如果你关注这个link,那么你会发现下面这行代码:

_, additional_features_matrix_test = collect_additional_features(x.iloc[idx_train], x_test)

函数collect_additional_features 返回两个ndarray 的元组。我的错误是我错过了_,因此代码行变成了:

additional_features_matrix_test = collect_additional_features(x.iloc[idx_train], x_test)

因此 additional_features_matrix_test 变成了一个元组而不是一个 ndarray 并且在将 additional_features_matrix_test 传递给 LSTM 时它抛出了错误 AttributeError: 'tuple' object has no attribute 'ndim'

【讨论】:

    猜你喜欢
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    相关资源
    最近更新 更多