You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Keras Tuner构建含GloVe嵌入的LSTM模型时遇错误求助

问题排查与解决方法

1. 匹配词汇表大小与Embedding层input_dim

你的Embedding层input_dim设为5201,意味着只接受0-5200的索引,但数据里出现了6402,核心问题是词汇表实际大小比你设置的input_dim大。

  • 重新统计词汇表总数量:不管是用Tokenizer还是手动构建,先确认所有出现过的词的总数,然后把Embedding层的input_dim设为「词汇表大小 + 1」(因为索引从0开始)。比如实际词汇表有6403个词,input_dim就设为6403。
  • 如果用Tokenizer的num_words参数限制了词汇表,检查这个值是不是设成了5201——如果是,超出的词会被分配到oov_token的索引(如果没设oov_token,这些词会被忽略,但不会生成6402这种大索引,所以大概率是你统计词汇表时出错了)。

2. 检查数据预处理的索引映射

  • 用np.max(train_data)查看训练数据里的最大索引值,确认是不是真的超过了5200。如果是,说明预处理时词汇表和索引映射没对齐。
  • 确保测试集/验证集的预处理用的是训练集生成的词汇表(比如用训练集拟合的Tokenizer去转换测试集),避免出现训练集没有的词生成超出范围的索引。

3. 排查RandomSearch的参数干扰

  • 检查RandomSearch的搜索参数空间,有没有不小心把Embedding层的input_dim加入了调优参数,导致调优时随机生成了过小的input_dim值,和数据不匹配。
  • 确认build_model函数里的Embedding层input_dim是固定的正确值,或者是从外部传入的可靠参数,没有被调优器的参数覆盖。

4. 关于连续失败3次的提示

这是RandomSearch的默认保护机制,连续几次模型构建/训练失败就会终止。解决索引超出范围的核心问题后,这个提示会自动消失。

内容的提问来源于stack exchange,提问作者Rohit Jain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 13:17:02