python - 尝试在keras中拟合CNN模型时发生`InvalidArgumentError`?

标签 python error-handling keras

我为句子分类的任务建立了卷积模型,并且模型编译成功。但是,当我尝试将模型与训练/验证数据集拟合时,下面出现奇怪的invalid argument error:

InvalidArgumentError: indices[120,1] = 77 is not in [0, 70)
   [[{{node embedding_32/embedding_lookup}} = GatherV2[Taxis=DT_INT32, Tindices=DT_INT32, Tparams=DT_FLOAT,

_device="/job:localhost/replica:0/task:0/device:CPU:0"](embedding_32/embeddings/read, embedding_32/Cast, embedding_32/embedding_lookup/axis)]]



这是我的模型的架构(屏幕截图):

enter image description here

我是keras框架的新手,对此错误了解不多。关键是模型编译成功,但模型拟合超出了错误。

有什么办法可以调试此错误?谁能指出我如何做到这一点?任何想法?

最佳答案

该错误表明您的输入索引77大于Embedding期望的最大索引69。您有两种选择:

  • 要么将嵌入输入尺寸增加到78,要么实际上增加到np.max(x_train)+1
  • 仔细检查您的x_train以确保索引在[0,70)范围内。

  • documentation:

    input_dim: int > 0. Size of the vocabulary, i.e. maximum integer index + 1.

    关于python - 尝试在keras中拟合CNN模型时发生`InvalidArgumentError`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55111916/

    相关文章:

    tensorflow - 将 tf.keras.layers 与 Tensorflow 低级 API 相结合

    python - 模块命名约定(避免冲突)

    python - 使用 Pandas 进行 bool 索引对我不起作用

    java - 处理 MVVM 架构中的输入和 Firebase 错误

    python - 基本错误捕获-用于输入-Python

    python - 较大的神经网络比较小的神经网络会收敛到更大的误差

    machine-learning - keras 模型 fit_generator ValueError : Error when checking model target: expected cropping2d_4 to have 4 dimensions, 但得到形状为 (32, 1) 的数组

    python - Minikube,Python Alpine:找不到python命令

    python - 如何在机器学习训练集中结合文本和数字特征?

    javascript - angularJS中的错误