我正在Keras网站上通过此Keras教程Text classification with movie reviews进行工作。
他们使用变量max_length
并将其设置为256。我不确定我知道这是从哪里来的。当我检查所有train_data的最大长度时,我得到2494
max(len(l) for l in train_data)
2494
本教程还将GlobalAveragePooling1D
作为第二层,我也不理解,因为输入固定为256。
如果任何人都可以提供见识,将不胜感激。
答案 0 :(得分:1)
这是一个针对pad_sequences函数的SO问题,可能会有所帮助。 What does Keras.io.preprocessing.sequence.pad_sequences do?
就为什么而言,他们选择256作为最大长度...这是任意的。他们需要所有序列具有相同的长度,因此他们选择了一个合理的值。而且,是的,有些最终会被截断。长度的直方图将使您了解将被截断多少个长度。快速的Google会产生直方图:
我的建议是按原样完成本教程...然后尝试该最大长度的几个不同值,并查看它如何影响结果。实际上,必须选择一个值 。