如何使用加载的LSTM注意模型对输入进行预测?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用加载的LSTM注意模型对输入进行预测?相关的知识,希望对你有一定的参考价值。
我是深度学习和Keras的完整入门者。我想建立一个分层的注意力网络,以帮助将评论分为几类。有毒,剧毒等。我从一个开放的存储库中获取了代码,并保存了模型。然后,我使用model_from_json加载模型。现在,我希望使用此加载的模型对输入文本(作为python输入或单独的文件)进行预测。
这是我正在使用的代码:https://www.kaggle.com/sermakarevich/hierarchical-attention-network/notebook
然后我做了:
model_json = model.to_json()
with open("model.json", "w") as json_file:
json_file.write(model_json)
model.save_weights("model.h5")
print("Saved model to disk")
然后在单独的文件中:
json_file = open('model.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json,custom_objects={'AttentionWithContext':AttentionWithContext})
loaded_model.load_weights("model.h5")
print("Loaded model from disk")
我正在完美地获得“从磁盘加载模型”。我想知道我需要输入的格式,使用模型进行分类的方式和代码片段。由于我对此知识不多,所以如果有人可以帮助我使用python特定代码来使它起作用,这将非常有帮助。
答案
在进行预测时,请确保也要腌制标记符,否则输出将不正确。
new = ["Your_text_that_you_want_to_check"]
seq = tokenizer.texts_to_sequences(new)
padded = pad_sequences(seq, maxlen=MAX_SEQUENCE_LENGTH)
pred = model.predict(padded)
虽然预测将新文本转换为向量,以便对模型进行训练非常重要。我已经将训练数据转换为序列,然后将其填充为零,以便长度应相同,并且与预测时重复的步骤相同。但是请确保您腌制令牌标记。希望对您有所帮助!如果您在理解步骤时遇到困难,请告诉我。
以上是关于如何使用加载的LSTM注意模型对输入进行预测?的主要内容,如果未能解决你的问题,请参考以下文章
Python时间序列模型推理预测实战:时序推理数据预处理(特征生成lstm输入结构组织)模型加载模型预测结果保存条件判断模型循环运行