问题描述
我在 python3 中使用 Tensorflow keras 库进行未知文本大小的文本摘要。
我使用 this link 中的代码说明进行文本摘要。但看起来代码有一个用于要汇总的输入文本的最大大小的设置值,因为它已经知道要汇总的文本大小。但如果我不知道呢?我的意思是,如果我必须对许多我不知道它们总大小的文本进行摘要??
所以错误是:
indices[0,0] = 30 不在 [0,13) [[node model_2/embedding_1/embedding_lookup(定义于 C:\Users\f_pc\Desktop\class_python.py:314)]] [操作:__inference_predict_function_19765]
错误可能源于输入操作。输入源 连接到节点 model_2/embedding_1/embedding_lookup 的操作: model_2/embedding_1/embedding_lookup/19252(定义于 D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\contextlib.py:112)
我也在尝试
max_text_len=800
max_summary_len=500
但是把这个大小加起来,分析时间会增加,但也有
解决方法
encoder_inputs = Input(shape=(max_len_text,))
所以你必须设置 max_len_text
。
从(Bahdanau et al.,2015)可以看出,Attention层的输入长度没有限制。剩下的只是收集 LSTM 中间状态,也不应该依赖于输入长度。
您是否尝试在推理期间设置与模型构建期间不同的 max_len_text
? (为每个推理动态设置它,即为您总结的每个输入文本)