我可以将我的RNN模型解压缩到我的网站上,但是我无法使用列表作为输入来预测一个数组的预测(只包含一个名为text
的字符串但需要是{{ 1}}用于从我收集的内容进行预处理,我遇到了问题:
list
以下是我目前使用该模型进行预处理和预测的方法:
ValueError: Error when checking : expected embedding_1_input to have shape (None, 72)
but got array with shape (1, 690)
这就是我训练模型的方式:
tokenizer = Tokenizer(num_words = 5000, split=' ')
tokenizer.fit_on_texts([text])
X = tokenizer.texts_to_sequences([text])
X = pad_sequences(X)
prediction = loadedModel.predict(X)
print(prediction)
如何在代码框中修复预处理代码,从“tokenizer”开始,以停止获取ValueError? 谢谢,我绝对可以提供更多代码或扩展项目的目的。
答案 0 :(得分:1)
所以这里有两个问题:
在max_len
中设置pad_sequences
:似乎您的所有训练序列都填充了72
长度所以 - 您需要更改以下行:
X = pad_sequences(X, max_len=72)
使用培训Tokenizer
:这是一个微妙的问题 - 您正在创建并拟合一个全新的Tokenizer
,因此它可能与您用于培训的不同。{1}}。这可能会导致问题 - 因为不同的单词可能有不同的索引 - 这将使您的模型工作糟糕。尝试pickle
您的培训Tokenizer
并在部署期间加载它,以便将句子转换为正确输入模型的数据点。