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

TensorFlow 2.7.0运行fit_generator()报错KeyError: 'see'如何解决

问题根因与修复方案

1. 核心错误:KeyError: 'see'

该错误是因为你构建的词汇索引字典input_token_index中,不存在样本里出现的单词see,触发原因通常有两种:

  • 仅在训练集文本上构建了词汇表,测试集出现了训练集未覆盖的未登录词,生成验证集批次时触发报错
  • 构建词汇表时遗漏了部分文本的分词结果,导致常见词也未被收录到input_token_index中

修复方案:

  • 构建词汇表时统一纳入训练集+测试集的所有输入文本,确保所有可能出现的词都被收录
  • 如果仅需要用训练集构建词汇表,给input_token_index添加默认的未知词<UNK>对应的索引,遇到不在字典里的词默认用<UNK>的索引代替,修改示例:
# 给input_token_index新增未知词条目,索引值注意避开已占用的数值
input_token_index['<UNK>'] = 0
# 替换generate_batch中的赋值行
encoder_input_data[i, t] = input_token_index.get(word, input_token_index['<UNK>'])

建议目标端的target_token_index也做相同的未知词兼容处理,避免后续出现同类报错。


2. 弃用警告:Model.fit_generator 已弃用

该提示为版本兼容警告,Keras新版本已经将生成器支持整合到了普通fit方法中,直接替换调用方法即可,不会影响原有运行逻辑:

model.fit(
    generate_batch(X_train, y_train, batch_size = batch_size),
    steps_per_epoch = train_samples//batch_size,
    epochs=epochs,
    validation_data = generate_batch(X_test, y_test, batch_size = batch_size),
    validation_steps = val_samples//batch_size
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:45:00